直接答案: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。