Codex rate limits: why you hit them, and when they reset
The short version: if this site says Codex is up and you are still blocked, you have hit your own limit, not an outage.
Every Codex outage brings a wave of people who are not actually experiencing an outage. They have hit a usage limit, the error is vague, and a rate limit at 11pm feels exactly like the service being down. This page is how to tell the difference in about ten seconds, and what your options are once you know.
Step one: is it you, or is it them?
Check the live Codex status first. It reads OpenAI's official feed, scoped to the components Codex actually depends on. Then match your symptom against this:
It is a rate limit if…
- The error names it — anything mentioning usage, quota, limit or 429.
- It arrives instantly, with no hanging or spinner. Limiters reject before any work happens.
- It is consistent — every request fails the same way, immediately, not one in five.
- A different account or a colleague on the same network works fine.
It is an outage if…
- You see connection errors, timeouts, or 500 / 502 / 503 server errors.
- Requests hang before failing, rather than bouncing straight back.
- It is intermittent — some requests succeed, some do not.
- Other people are complaining at the same moment, and the status feed agrees.
There is a third case worth naming, because it fools almost everyone: degraded but not down. Requests succeed, just very slowly, and some time out on the client side and look like failures. That is why this site publishes a KINDA verdict rather than forcing everything into up or down.
The limits you can actually hit
Codex is not governed by one number. Several separate limits sit on top of each other, and they fail in different ways:
- Plan usage windows. Subscription plans meter how much agent work you can do across a rolling window — typically one short window measured in hours and one longer window measured in days. This is the limit most people mean when they say they have been rate limited.
- Requests per minute. A burst limit. It matters if you are running parallel agents or a script, and almost never if you are typing.
- Tokens per minute. Governed by size, not count. Long files and big contexts can trip this in a single request.
- Context window. Not a rate limit at all, but it surfaces as a failure part-way through a long agent run. If the failure always happens at roughly the same point in the same task, suspect this rather than a quota.
The exact numbers change with your plan and change over time, so we deliberately do not publish figures that would go stale — OpenAI's own rate limit documentation and your account's usage page are the only sources worth trusting for the current values.
When does it reset?
Rolling windows, not a midnight clock. That distinction matters more than people expect: capacity comes back gradually, in the same shape you spent it. If you burned a week's worth of a rolling window in one afternoon, you get it back the following week in one lump. If you spread it evenly, it trickles back continuously.
The practical consequence: after hitting a limit, waiting a short while and trying one small request is a far better strategy than hammering retry. If the small request succeeds, some of your window has already refilled.
How to stop hitting them
- Scope the task before you start. The single biggest consumer of quota is an agent exploring a large repository to answer a question you could have pointed it at directly.
- Do not retry a failing long run. Work already done still counts. Three attempts at a task that dies at 80% costs more than two clean completions.
- Keep the context tight. Token limits are driven by what you attach, not by how much you ask.
- Batch your questions. One well-framed prompt beats six clarifying rounds, each of which re-sends the whole conversation.
- Watch for runaway loops. An agent stuck retrying a failing test can quietly consume an entire window while you are in a meeting.
What to do while you wait
If it is an outage, put your email in on the status page and we will send one message the moment Codex recovers — no need to keep refreshing. If it is a rate limit, nothing external is going to change: the window refills on its own schedule.
Either way, this is a good moment to do the thing that does not need an agent — review the diff you have already got, write the test you skipped, or step away entirely. There is also a free browser arcade if you would rather not think about it for ten minutes.
Related
- Codex CLI not working? Fixes to try before assuming it is down
- OpenAI status vs Codex status: why they disagree
- Codex outage history — how often does it actually go down?
- Embed a live Codex status badge
Not affiliated with, endorsed by, or sponsored by OpenAI. OpenAI and Codex are trademarks of OpenAI. Nothing here is official guidance — always check OpenAI's documentation for current limits.