Codex 报错 429 Too Many Requests 怎么办?额度耗尽与限流的区分和解决方法

浏览:3次阅读
没有评论

直接答案:Codex 报错 exceeded retry limit, last status: 429 Too Many Requests 说明服务器返回了 HTTP 429,意思是“请求太多”,大多数情况是 短时间限流,不一定是额度用完了。处理方法:等 1 分钟再发一次,关掉同时运行的 Codex 窗口和子代理,再看看是不是额度或余额用完了。如果提示的是 You've hit your usage limit,那才是套餐额度用完了,只能等重置、购买额度或者升级套餐。

先看清楚:你遇到的是哪一种 429?

Codex 里和 429 有关的提示主要有三种,处理方法完全不一样:

报错原文 含义 怎么办
exceeded retry limit, last status: 429 Too Many Requests, request id: … 请求频率超过了限制(限流) 等一会儿、降低并发
You've hit your usage limit. … ChatGPT 套餐里的 Codex 额度用完了(5 小时窗口或每周额度) 等到提示的重置时间、购买额度或升级套餐
Quota exceeded. Check your plan and billing details. API 余额或消费上限用完了 去 API 后台充值或调整上限

OpenAI 帮助中心说明,429 可能代表三种情况:临时限流、预付余额用完、达到消费或用量上限。重试不会解决余额和上限的问题。(来源:OpenAI Help Center:Troubleshooting API rate limits and 429 errors)

为什么提示“exceeded retry limit”,却好像根本没重试?

这是很多人困惑的地方。根据 openai/codex 仓库的 issue #30471 对源码的分析,自定义 provider 的 HTTP 重试策略里,retry_429 被写死成了 false。也就是说,如果直接收到 HTTP 429,Codex 可能一次都不重试,直接显示“exceeded retry limit”。所以调大 request_max_retries 通常没用。具体行为会随版本变化,以官方仓库为准。

Codex 报错 429 的解决办法(按顺序排查)

第 1 步:等 1 分钟,手动重发

按分钟计算的限流一般很快就会恢复。在交互模式里直接再发一遍消息就行。OpenAI 官方提醒,失败的请求也会算进每分钟的限额,不停地狂按重试反而会让限流持续更久。

第 2 步:降低并发

同一个账号或 Key 上开了好几个 Codex 窗口、后台子代理,或者编辑器插件也在共用同一个 Key,都很容易触发限流。只留一个会话试试,如果 429 消失了,基本就能确定是请求频率的问题。

第 3 步:查看额度用量

用 ChatGPT 账号登录的话,在 Codex 里输入 /status 查看当前会话和额度状态,或者打开 https://chatgpt.com/codex/settings/usage 看用量。Plus 套餐有 5 小时和每周两个额度窗口。OpenAI 帮助中心还说明,Plus 和 Pro 个人账户可以在用量设置里购买“立即重置”(来源),能不能买以账户里实际显示的为准。

第 4 步:用 API Key 的话,检查余额和限额

到 OpenAI 平台的 Limits 和 Billing 页面,看看是不是遇到了 credit_balance_exhausted(余额用完)、organization_spend_limit_exceeded(达到消费上限)这类错误码。这类问题要先充值或调整上限,重试没用。

第 5 步:记下 request id

报错末尾的 request id 可以用来让服务方查日志。在 openai/codex Issues 反馈问题时,带上版本号(codex --version)和 request id,排查会快很多。

第 6 步:升级 Codex

429 的处理逻辑在不同版本之间有调整。先升级到最新版,再观察问题还在不在:

npm install -g @openai/codex@latest

怎么预防 Codex 429?

  • 大任务拆成几步做,不要一次让好几个子代理同时跑。
  • 上下文太长会消耗更多 token,也更容易触发按 token 计算的限流。及时开新会话,或者压缩上下文。
  • 不要把同一个 Key 同时配在好几个工具里。

如果是额度用得太快,可以参考站内这篇:Codex 额度爆降的替代方案。Codex CLI 的基础安装和配置可以看:Codex CLI 教程。

FAQ

Codex 报 429,是不是号被封了?

不是。429 表示请求太多或者额度不够。封号或权限问题一般是 401/403。

额度明明还有,为什么还是 429?

额度有剩余,不代表没有被限流。按分钟计算的请求数和 token 数是单独限制的,短时间内请求太集中,也会触发 429。

调大 request_max_retries 能解决吗?

通常不能。根据上面提到的 issue,直接收到的 HTTP 429 默认不重试,这个参数主要影响 5xx 错误和网络错误。具体以你使用的版本为准。

Codex 额度多久重置?

报错信息里通常会写重置时间。Plus 有 5 小时和每周两个窗口。具体额度经常调整,以 OpenAI 官方页面为准。

参考来源:OpenAI Help Center(429 排查、Codex 额度重置),openai/codex GitHub issue #12675、#30471。核实时间:2026-10-28。

正文完
 0
评论(没有评论)