Codex's
5-hour rolling limit is back
The 5-hour rolling limit, suspended for a stretch, returned on July 30, 2026. OpenAI now publishes an estimated number of local messages per five-hour period — here is the timeline, what users are actually reporting, and how to keep working after you hit the ceiling.
One key for Claude, GPT and leading Chinese models, billed per token, up and running in minutes.
- Billed per token — live rates on /models
- Pay by card (Visa / Mastercard / AMEX), Apple Pay, Google Pay or crypto
- Self-service: top up and activate instantly
As of 2026-10-19, the official pricing page states that Pro plans currently have no five-hour limit, and its five-hour message estimates cover only Plus and Standard Business — GPT-6 Astra 5-45, GPT-6.1 Sol 15-160, GPT-6 Sol 15-150, GPT-6 Luna 350-3,000; Enterprise and Edu users on flexible pricing have no fixed rate limits. As of July 30, 2026, Codex has re-enabled the 5-hour rolling limit for paid subscribers, and the interim period of repeated quota resets is over. On top of that, GPT-5.5 retired from Codex with ChatGPT sign-in on October 14, 2026 at noon PDT (19:00 UTC); the OpenAI API and Codex sessions authenticated with an API key are not affected.
Updated October 19, 2026 — we refresh this page when the official position changes.
From suspension to restoration: how the limit got here and where it stands now
The dated events, in order. Where OpenAI publishes an estimate rather than a hard number, we mark it as an estimate.
Sol burned quota too fast, so the 5-hour limit was paused
How quickly the GPT-5.6 Sol tier consumed quota drew widespread complaints. To gather data — and to let developers work unthrottled — the Codex team suspended the 5-hour rolling limit.
Held together by repeated quota resets
During the pause, paid users' quotas were reset again and again — "reset AGAIN" became a running joke in the community. It was a stopgap, never a lasting mechanism.
The 5-hour rolling limit returns
With the underlying issue described as resolved, the 5-hour rolling limit came back and once again stacks with the weekly limit.
The gap people feel comes down to one thing: during the pause a heavy task could run for hours; since the restoration, many users report hitting the ceiling after roughly half an hour of heavy work.
This is a summary of public user reports, not an official figure. OpenAI publishes an estimated number of local messages per 5-hour period, not a fixed ceiling — treat any claim of an exact number with caution.
Ways to keep working once you hit the ceiling
From least effort to most thorough — pick by how urgent the task in front of you is.
Drop to a cheaper tier
Move work that does not need top-tier reasoning from Sol to Terra or a lighter model. It is a model-id change inside the same Codex CLI, and in the official estimates the lighter models cover far more local messages, so quota burn falls sharply. QCode does not currently support gpt-6-luna; please use another GPT model, such as gpt-6.1-sol, gpt-6-sol or gpt-5.6-terra.
Switch to the Claude side
Codex's 5-hour window and Claude's quota are independent of each other, so handing a stalled task to the Claude side usually beats waiting for a window to roll over. As of 2026-10-19, the official positioning is: Opus 5.5 is for long-running agentic coding and knowledge work and is where to start when you are unsure which model to pick, while Sonnet 5.5 balances speed and intelligence.
Route around the window via API
The 5-hour rolling limit is a subscription-plan mechanism; on an API route there is no such rolling window, and usage counts against the daily quota on the Personal Plans you bought or the one-time quota of a Pay-as-you-go Pack — one QCode key covers Codex, Claude and Chinese models.
Shift your peaks and watch usage
Move batch work to just after a window resets, and get in the habit of checking usage: the official usage dashboard shows your current limits and reset times, which is far cheaper than firefighting once you are already capped.
How to check your usage →Tired of being cut off by a 5-hour window?
The rolling window is a clock built into subscription plans: exhaust it and the work stops until the window rolls forward. OpenAI states that ChatGPT uses the same pricing, credits and usage limits as Codex, so if you already run Codex inside ChatGPT, both draw on the same allowance. Rather than firefighting after you are capped, spread the load out — look at the live rates and the plans first, then decide whether to move the heavy work over.
Frequently asked questions
What is the Codex 5-hour rolling limit? When did it come back, and how is the allowance counted?
It is a usage ceiling measured over a rolling 5-hour window: exhaust it and you wait for the window to roll forward. The mechanism had been suspended and was restored on July 30, 2026, where it once again stacks with the weekly limit. The allowance is not counted separately: local messages and cloud chats share the same usage allowance, and ChatGPT uses the same pricing, credits and usage limits as Codex.
Why was it suspended in the first place?
How fast the GPT-5.6 Sol tier consumed quota drew heavy complaints. The Codex team suspended the 5-hour limit and repeatedly reset quotas through the interim so people could work unthrottled while the issue was diagnosed. With that described as resolved, the limit returned.
People say heavy tasks hit the cap in half an hour. Is that accurate?
That is a widespread community report, not an official figure. OpenAI publishes an estimated number of local messages per 5-hour period, not a fixed message limit, and states that how many messages you can send depends on the model used, the size and complexity of your tasks and your context length. Treat it as directional, not as a precise promise.
What can I do once I have hit the ceiling?
You can switch to a lighter model, hand the task to the Claude side, move to an API route, or shift your peaks and watch usage. In practice: drop to a cheaper tier such as Terra; hand the task to Opus 5.5 or Sonnet 5.5 on the Claude side — as of 2026-10-13 the official guidance makes Opus 5.5 the daily driver for complex coding and knowledge work and Sonnet 5.5 a good fit for well-scoped tasks; move to an API route, which is not bound by the subscription's 5-hour rolling window and counts against the daily limit you purchased; or shift your peaks and watch usage. QCode offers exactly that API route — one key across Codex, Claude and Chinese models. QCode does not currently support gpt-6-luna; please use another GPT model, such as gpt-6.1-sol, gpt-6-sol or gpt-5.6-terra. The official counts are estimates, so there is no single answer to whether a quota is enough: the same heavy task burns a very different amount depending on the model and the context size. Once you are capped, there is another way to think about it — instead of waiting for a subscription window to roll over, buy the usage you need. Not ready for a monthly plan? Pay-as-you-go Packs start at $4 for a one-time quota you use within 7 days (top-ups start at $5). You cannot buy Pay-as-you-go Packs while you have an active Personal Plan; if that plan's quota is not enough, buy a booster pack.
One key, not hostage to a single subscription window
Codex, Claude and Chinese models share one QCode key and one quota. Personal Plans from $9/mo; the key goes live the moment payment clears, and usage is billed per token, with per-model rates listed on /models.
Related reading
Codex quota anomaly and banked reset
What happened in the mid-July 2026 quota incident, and how the banked reset mechanism works.
Enable GPT-5.6 in Codex CLI
A setup guide for GPT-5.6 in the Codex CLI that you can get through quickly.
GPT-5.6 pricing in full
Official rates, cache billing and cost estimates.
Further reading
Crypto payment guide
Nine coins, 56 networks, zero platform fee for AI coding API credits.
Claude Code weekly limits end 09-13
Official promotion dates, the difference between the five-hour window and the weekly limit, plus a /usage self-check and the paths when you hit a ceiling.
Codex Ghost Quota Diagnosis
Why /status shows headroom but requests get rejected, and a 3-step way to tell why