如果 Claude 显示 "Rate Exceeded"、"Claude Error: Rate limit reached",或者 Claude Code 打出 429,不要先假设是同一个 API 配额耗尽。先确认产生阻断的入口:Claude.ai / Desktop 的计划用量窗口、Claude Code 订阅登录、Claude Code API key 路由、Anthropic 直连 API、Bedrock / Vertex AI、第三方网关,还是临时容量或突发限流。每个入口的 reset 信号和归属方都不同。
| 使用入口 | 可能归属 | 先做什么 | 证据 | 下一步 |
|---|---|---|---|---|
| Claude.ai、Desktop、移动端 | Claude 计划用量窗口或容量管理 | 能打开则看 Settings > Usage,缩短长对话/大文件,等待显示的 reset | 5 小时、session、weekly reset 文案,用量条,capacity 文案 | 开一个更小的新聊天、等待、开启 extra usage 或稍后重试 |
| Claude Code 订阅登录 | 与 Claude 表面共享的计划/session 窗口 | 运行 /usage 或读取错误里的 reset 时间 | session limit、weekly limit、model limit | 等待 reset、降低模型/任务负载,必要时用 extra usage |
| Claude Code + API key | API key 所属 Console workspace 或云项目 | 跑 /status 并确认 active credential | API-key route、provider project、日志或 429 body | 降低 Claude Code 并发或查归属控制台 |
| Anthropic 直连 API | workspace 与模型速率限制 | 按 retry-after 等待,缩小请求 | HTTP 429、rate_limit_error、anthropic-ratelimit headers | 同一路由重试一个更小请求 |
| Bedrock、Vertex AI、网关 | 云项目、区域、租户或代理策略 | 先查 provider / gateway 日志 | provider 429、ThrottlingException、tenant policy、region quota | 调整对应 quota 或联系对应 operator |
| 临时容量、burst、acceleration | 服务负载或你的流量形状 | 短等、看状态页、慢启动、排队 | capacity 文案、近期 incident、RPS/concurrency 尖峰 | 稍后重试或同路验证一个更小请求 |
停止规则:归属没确认前,不要连续重试、不要换 key、不要升级套餐、不要切换供应商。错误消失不等于诊断完成,可能只是你把证据换没了。
先确认是哪条路由产生限制
"rate limit reached" 只是症状,不等于所有情况都是同一个 API 桶。服务端直接请求 api.anthropic.com 时,证据在 HTTP 状态、响应体和 header。Claude Code 如果设置了 ANTHROPIC_API_KEY,终端请求可能走 API key 计费,而不是你以为的 Pro 或 Max 订阅。Bedrock、Vertex AI 或网关返回类似限流文案时,归属可能在云项目、区域、租户或代理策略。
先问三个问题:谁处理了这次凭证?哪个控制台拥有这个凭证?能否在不换模型、不换 provider、不改 prompt、不改 region 的前提下,同一路由复现一次?如果每次都换变量,你得到的是绕过,不是诊断。

如果终端其实是 500、529 或 Claude Code usage window,不要把它塞进本页,可以转到 Claude Code 500/529/rate limit 路由表。Claude Code 专门的 rate limit 分支见 Claude Code rate limit。
Claude.ai 或 Desktop:先看用量窗口
如果错误出现在 Claude.ai、Desktop 或移动端,并且没有 HTTP header,就先按产品表面的用量限制处理。官方帮助把 usage limits 和 length limits 分开:usage 是一段时间内能和 Claude 交互多少,length 是单个对话能承载多长上下文。长对话、大附件、Research、连接器、代码执行和更重的模型都会让窗口消耗得比“消息数”更快。
第一步不是 API 修复。能打开就看 Settings > Usage,读清楚 reset 时间;当前 thread 很大时开一个更小的新聊天;移除不必要的文件和工具;如果文案是容量约束,就稍后再试。容量管理不一定会显示为状态页 outage。
Anthropic 直连 API:先相信 header
直连 Anthropic API 的 HTTP 429 对应官方 rate_limit_error。真正有用的不是固定 tier 数字,而是 retry-after、anthropic-ratelimit 请求桶、输入 token 桶和输出 token 桶。月度额度还剩,不代表当前一分钟窗口没有耗尽;预算正常,也可能被 output token 或并发请求压住。
下一次请求要更小、更慢、更可测。按 retry-after 等待,减少并发,降低 max output,把大任务拆开,缓存稳定上下文,然后只在同一模型、同一凭证、同一路由上重试一个请求。

Claude Code:先查 active route
Claude Code 多了一层路由。/status 会告诉你当前认证路径;ANTHROPIC_API_KEY 会让请求走 API key workspace。不要用订阅升级去修 API-key 429,也不要用 API header 去解释订阅 session window。计费和权限归属可参考 Claude Code API key vs subscription billing,配置边界见 Claude Code API configuration。
为什么用量看起来还够,请求却被挡
速率限制通常是滚动窗口。RPM、输入 token、输出 token、burst、provider quota 可以分别触发。一个长上下文会压输入 token;一个很长的回答会压输出 token;很多小请求会压 RPM;突然放大流量还可能触发 acceleration 控制。
修下一次请求,不要制造更多噪音
一次只改一个变量:加 jitter backoff,限制 worker 并发,降低输出上限,把同步任务放进队列,记录 status、request_id、路由归属、model、workspace、region、retry-after 和 remaining/reset header。验证必须保持同一路由,否则错误消失也无法说明原问题。
如果团队里有人同时改 prompt、切模型、换网关和调 worker 数,这次排查就会失去价值。更稳妥的做法是先冻结失败路径,把最近一次成功请求、第一次失败请求和当前失败请求放在同一张表里比较。你要找的是哪个维度突然变化:请求数、输入 token、输出 token、区域、项目、租户、模型还是凭证。这个比较能把“服务不稳定”的直觉变成可操作的限流证据,也能避免把本应由网关处理的问题误报给 Anthropic。
provider 或 gateway 限制
通过 Bedrock、Vertex AI 或网关调用 Claude 时,Anthropic Console 不一定拥有这次失败。Bedrock 看 service quota 和 region,Vertex AI 看 project/location/model quota,网关看租户限额、上游策略和 per-key throttle。
升级前准备证据包
同路复现仍失败后再升级处理。证据包包括 exact message、时间与时区、request_id、response headers、model、workspace/project/region、路由归属、最近流量变化、状态页结果和最小复现请求。不要发送 API key、token、用户隐私内容或猜测性结论。
真正有用的升级不是长篇描述,而是一组能让对方复核的字段。对 Claude.ai 这类产品表面,要补上账号类型、显示的 reset 文案、是否启用 extra usage、是否有大文件/Research/连接器;对 Claude Code,要补上 /status 或 /usage 的结果;对直连 API,要补上 request_id 和 headers。对于直连 API,header 和 request_id 最关键;对于 Bedrock 或 Vertex AI,项目、区域和 quota 页面截图更关键;对于网关,租户 key、上游路由和限流策略更关键。把这些分清楚,support 才能判断应该扩容、等待窗口、修客户端排队,还是把问题转给正确的平台。

常见问题
这个错误一定是 Anthropic 直连 API 429 吗?
不一定。直连 API 429 最清楚,但 Claude Code、云厂商、网关和 burst 控制都可能出现相近文案。
要不要先换 API key?
不要。先证明 active route。换 key 可能改变归属,让原错误无法复现。
为什么额度页面还显示可用?
因为月度额度、订阅窗口和滚动 RPM/token/burst 窗口不是同一个东西。
Claude Status 正常怎么办?
继续查本路由证据:直连 API 看 header,Claude Code 看 /status,云厂商看 quota,网关看日志。
什么时候联系 support?
同路验证仍失败且证据包完整时再联系对应归属方。
