Codex · 使用指南

Codex 429 Too Many Requests:重试耗尽与常见报错排查

排查 Codex exceeded retry limit, last status: 429 Too Many Requests,区分请求限速、API 额度、登录错误和连接中断,选择正确的恢复步骤。

Codex

先看结论

exceeded retry limit, last status: 429 Too Many Requests 本身不能证明 Codex 套餐额度已用完。先确认账户和服务提供方,再查看底层错误:临时限速可能在等待后恢复,API 余额或支出限制则需要处理对应账户问题。新建对话或设置本地倒计时不能解决所有 429。

“exceeded retry limit” 是什么意思?

可以把这句提示分成两个线索:客户端停止了重试,最后一次 HTTP 响应为 429。这是对所给报错的诊断解释,不代表官方保证每个客户端都采用相同的重试次数。App Server 协议 将尝试失败的错误与上游 HTTP 状态信息分开表达。

如果有前面的错误详情,一并保留。仅凭 HTTP 状态,无法区分请求限速、API 额度或计费限制。反复重启同一任务可能增加请求,却没有处理实际原因。

1. 确认哪个服务拒绝了请求

在客户端核对账户和工作区;CLI 可运行 codex login status。Codex 身份认证文档 区分 ChatGPT 登录与 API key 访问。

  • ChatGPT 登录: 查看同一账户的 Codex 用量面板。如果某个窗口耗尽,按 Codex 达到限额指南 处理。API 余额不等于订阅额度。
  • OpenAI API key: 查看返回错误,以及对应 API 组织、项目的用量和计费。不要用 ChatGPT 套餐的恢复时间判断 API 限制。
  • 自定义 provider 或网关: 确认失败请求实际到达了哪家服务。它的限额和计费可能不同;只有该服务返回 OpenAI API 错误码时,才适用相应解释。核对该服务自己的文档和支持渠道。

2. 区分临时限速与额度耗尽

有这些字段时,结合 error.code、error.type 和错误说明判断;字段缺失时不要补猜原因。API 错误参考 区分以下情况:

  • 请求限速: 响应说明触及速率限制,可能出现 slow_down。先减少并行任务和突发请求,再尝试继续。
  • 余额不足: credit_balance_exhausted 指向 API 积分余额。与账户负责人核对计费;等待 Codex 套餐重置不会补充这笔余额。
  • 支出或用量限制: organization_spend_limit_exceeded、project_spend_limit_exceeded 或 organization_usage_limit_exceeded 指向不同的限制。先和管理员确认适用周期及账户设置,再决定是否授权额外支出。
  • 宽泛的额度类型: insufficient_quota 可能不如 error.code 具体。继续读详细说明,不要直接当成暂时请求过快。

这些是 OpenAI API 的示例,不保证 Codex 界面逐项显示。如果界面只有 429,应先保留“原因未确定”的判断,直到用量信息或更完整的错误能够说明原因。

3. 只有等待有用时才重试

临时 API 限速返回 Retry-After 时,按它要求的时间等待。没有该字段时,OpenAI 建议指数退避并加入随机延迟,也就是逐步拉长重试间隔并适当错开时间。自行控制的重试循环应同时限制尝试次数和总耗时。如果服务要求等待的时间超过预算,应延后任务,而不是缩短要求的等待时间。

对于交互式 Codex 任务,暂停反复发送,减少并行工作,按提示等待后仅尝试一个小的继续步骤。不要在客户端已有重试之上,再叠加密集的手动循环。余额或支出错误不能靠退避修复,也不存在通用的“等五分钟就好”。

继续中断任务前,先检查文件改动、命令结果和已经完成的外部操作。从确认过的步骤继续,避免重试重复执行操作。

401、403、500、503 和断流分别怎么查?

根据实际提示选择下一步;这些错误并不都意味着该等额度重置。可对照 API 错误参考 和 Codex 故障排查。

  • 401: 核对身份认证、所选账户和凭据是否有效。不要把密钥贴到求助帖子里。
  • 403: 查看具体的访问权限、策略或地区限制。重复请求不会获得权限。
  • 500 或 503: 服务端错误或临时过载可以在等待后有限重试。持续失败时查看对应服务的状态信息并报告问题。
  • Stream disconnected 或超时: 客户端尚未收到完整结果,连接就结束了。单凭这句话不能确认额度问题,也不能证明任务完全没有执行。结合底层状态、客户端日志和网络链路排查,恢复前先核对任务进度。

持续报错时保留哪些信息?

记录时间与时区、客户端及版本、模型、登录方式、服务提供方、脱敏后的错误信息、HTTP 状态,以及服务提供的 request ID(如有)。注明单个小请求是否也失败、其他客户端是否正常、做过哪些账户检查。通过对应服务的支持渠道分享日志前,去掉 API key、Authorization 请求头、Cookie 和私人任务内容。

如果证据最终确认是订阅窗口耗尽,请转到 Codex 重置时间指南。个人计时器 可以提醒你检查账户显示的恢复时间,但不能解除 API 限速,也不能确认访问已经恢复。