AI & Automation (vnROM)

Cover image for Khám phá bất ngờ: Claude Code không hề biết bạn đã dùng hết bao nhiêu quota
sunworld
sunworld

Posted on • Originally published at reddit.com

Khám phá bất ngờ: Claude Code không hề biết bạn đã dùng hết bao nhiêu quota

Khi dùng Claude Code để code cả ngày, chắc anh em nào cũng từng rơi vào tình huống: đang làm dở task thì bị chặn vì hết quota. Claude Code có hiển thị thanh usage trong UI, nhưng bản thân model lại hoàn toàn không biết mình đang ở mức bao nhiêu phần trăm. Không có API, không có hook, không có cách nào để Claude tự điều chỉnh hành vi dựa trên mức tiêu thụ.

Một lập trình viên có nickname Inertia-UK trên Reddit vừa chia sẻ một phát hiện thú vị và giải pháp đi kèm. Hóa ra Anthropic trả về rate limit headers trong mỗi response (như anthropic-ratelimit-unified-5h-utilization, anthropic-ratelimit-unified-7d-utilization), nhưng Claude Code chỉ dùng chúng để vẽ thanh UI, không truyền cho model.

Giải pháp anh ta đưa ra là một HTTP proxy nhỏ đặt giữa Claude Code và api.anthropic.com. Claude Code đã hỗ trợ biến môi trường ANTHROPIC_BASE_URL, nên chỉ cần trỏ về http://127.0.0.1:4080 là toàn bộ traffic đi qua proxy. Proxy bắt headers và ghi ra file ~/.claude/usage-status.md một dòng duy nhất:

5h=9% 7d=99%! overage=0% bottleneck=seven_day (10/05/2026, 16:19:04)
Enter fullscreen mode Exit fullscreen mode

Claude có thể đọc file này bất kỳ lúc nào, hoặc inject tự động qua hook UserPromptSubmit để luôn có trong context. Thêm vài rule vào CLAUDE.md là Claude sẽ tự động cảnh báo khi sắp cạn quota, chuyển sang lightweight mode khi trên 90%, hoặc từ chối nhận task mới ở 98%.

Phát hiện đáng chú ý về cơ chế rate limit của Anthropic

Trong quá trình test, Inertia-UK đã dump tất cả header anthropic-ratelimit-* từ cả Opus và Sonnet. Kết quả: không có header riêng cho từng model. Toàn bộ model dùng chung một pool quota duy nhất. Thanh usage riêng cho Sonnet trong UI Claude Code không phản ánh giới hạn thực tế. Theo GitHub issue #57050, Anthropic từng có ý định tách bucket riêng cho Sonnet (thông báo tháng 11/2025) nhưng backend chưa bao giờ triển khai.

Điều này có nghĩa: dùng Sonnet cũng ngốn chung pool với Opus. Anh em nào nghĩ chuyển qua Sonnet để tiết kiệm quota thực ra vẫn đang xài chung một túi.

Chi tiết kỹ thuật

Proxy được viết bằng Node.js thuần, không có dependency npm nào. Trên Windows cài qua NSSM như service. macOS và Linux dùng launchd/systemd. Mã nguồn mở tại github.com/InertiaUK/claude-quota-proxy.

README của repo còn có sẵn vài rule mẫu cho CLAUDE.md để Claude tự động điều chỉnh hành vi theo mức usage.

Tại sao điều này quan trọng với anh em dùng Claude Code

Nếu mình dùng Claude Code cho các session dài hoặc automation, việc model tự nhận biết được quota còn lại mang lại vài lợi ích thực tế:

  • Claude có thể từ chối task nặng khi sắp hết quota, thay vì bắt đầu rồi chết giữa chừng
  • Có thể thiết lập rule để Claude ưu tiên các thay đổi nhỏ khi quota thấp
  • Tránh bị khóa giữa phiên làm việc quan trọng

Đây là một giải pháp nhỏ gọn và hiệu quả cho vấn đề mà gần như ai dùng Claude Code lâu dài cũng gặp phải.

Top comments (0)