Claude API 报 529 或 429?先分清过载、额度和认证问题
Claude API 返回 529、429、401 或超时时,先核对错误类型、服务地址和额度。了解 SDK 重试、流式中断与回退的边界,避免把持续故障变成无限重试。
Claude 的 529 overloaded_error 表示 API 暂时过载;429 则可能涉及速率或费用上限,需要按错误正文分别处理。 先保存状态码、错误类型、时间和 request ID,再查服务状态与已发生的重试,不要一看到失败就加循环。
本文于 2026 年 9 月 9 日核对 Anthropic 官方错误文档。第三方网关可能使用不同状态码,直连 API、云平台与网关要分别确认,聊天订阅也不能替代 API 组织额度。
按错误类型选择下一步
| 状态码 | 官方类型 | 先检查什么 |
|---|---|---|
| 400 | invalid_request_error | 请求内容、格式;也可能涉及组织或工作区费用上限 |
| 401 | authentication_error | 凭证是否有效,是否属于正在调用的服务 |
| 402 | billing_error | 账单或支付信息 |
| 403 | permission_error | 组织、工作区和资源权限 |
| 404 | not_found_error | 端点路径和资源 ID |
| 413 | request_too_large | 请求字节大小;Messages API 上限为 32 MB |
| 429 | rate_limit_error | 速率、使用层级月度费用上限或 Claude Code 工作区费用上限 |
| 500 | api_error | 临时内部错误,按预算重试 |
| 504 | timeout_error | 请求耗时,长任务是否需要流式处理 |
| 529 | overloaded_error | 暂时过载、状态页、重试截止时间 |
401 不等于 403,429 也不一定是每分钟请求太多。官方说明,费用上限导致的 429 可能没有 retry-after,在权限或额度恢复前持续失败。不要把所有 429 都解释成等一秒就好。
529 一直重试,先查已经试了多少次
查看 Claude 状态页,对照自身日志的时间、型号和服务路径。一次 529 不能证明所有地区、模型和用户都不可用;状态页暂时没有事件也不足以排除问题。
官方 SDK 对临时失败有自动重试,默认重试两次,加上最初请求最多三次尝试。具体行为以部署版本为准,先检查 最大重试次数设置,再决定是否增加应用层重试。外面再套循环,可能把总次数和等待时间成倍增加。
设置整个任务的截止时间。交互式编辑器与夜间批处理能接受的等待不同,没有“第四次必须切模型”或“所有事故五分钟恢复”的通用规则。详见429 重试判断。
流式返回 200,不等于整次成功
官方文档指出,SSE 流可以在 HTTP 200 之后出现错误。客户端需要处理流中的 error 和未完成输出,而不是只看最初状态码。
如果已经展示部分文字或执行工具动作,整次重跑可能造成重复输出或重复副作用。记录完成状态,判断哪些操作能安全重试;不要把重跑的文本静默接到半段旧答案后。
认证、连接和额度分别处理
确认 Key 属于实际请求的服务,使用该端点要求的认证方式。不要混用 OpenAI 兼容端点的 Bearer 与 Anthropic 原生端点的凭证配置,也不要打印完整密钥来确认环境变量。
证书或网络错误可能发生在 API 返回之前,此时不能假设已经收到 Anthropic 的 529。自定义模型加载失败,应先看客户端配置,例如 OpenCode 自定义 provider。
Gemini 生图的 free-tier limit: 0 是另一个具体额度场景,可看按 quotaMetric 排查零额度,不要直接套用 Claude 的错误类型。
回退模型需要哪些前提?
回退目标应已验证任务、协议、工具调用、上下文和输出格式,并确认当前能访问。另一个 Claude 型号不代表独立容量;其他厂商也可能有不兼容参数或不同收费。
共享 API 格式不能证明网关会自动跨供应商回退,更不能保证固定毫秒数恢复。查看具体路由文档和请求日志,明确成功条件。预算用尽后,向用户显示清楚的临时失败或排队状态,比无限重试更可控。
持续失败时,把 request ID、时间、准确型号和最小复现通过支持渠道提交。避免夹带密钥和不必要的私人提示内容。修复认证、权限或费用上限后,再验证请求是否恢复,别把一切都归因于过载。
常见问题
- Claude 529 和 429 有什么区别?
- 529 表示 API 暂时过载。429 可能是速率限制、使用层级月度费用上限或 Claude Code 工作区费用上限,需读错误正文与重试头。
- 529 应该无限重试吗?
- 不应。先检查 SDK 已有重试,再设置总截止时间。预算用尽后报临时失败、排队或使用已验证的回退。
- 402 一定是第三方网关自定义的吗?
- 不是。当前 Anthropic 官方文档列出 402 billing_error,表示账单或支付信息问题;网关的具体含义仍以自身文档为准。
- HTTP 200 代表流式请求成功吗?
- 不一定。SSE 可以在返回 200 后中断或报错,要检查流内错误和完成状态,避免重试产生重复副作用。


