Codex Usage Limits in 2026: Every Published Number, by Tier

Last verified: 21 August 2026. Every figure below was read directly off an OpenAI page on that date, with the URL given. Where OpenAI does not publish a number, this page says Not published and lists what was checked instead of estimating. Where two official OpenAI pages disagree — and on this topic, today, they do — both sets of numbers are shown and neither is declared correct.

The short answer

Codex meters you in local messages per rolling five-hour window, and OpenAI publishes those allowances as per-model ranges for every paid tier. That makes it the most numerically transparent usage limit of any major AI coding tool — and also the most easily misread, because every published cell is a range rather than a number, and the ranges span a factor of five to eight.

Three things are worth knowing before you look at the table. The Pro tiers are exact multipliers of Plus — 5x and 20x, at both ends of every range, on every model. Your model choice moves your ceiling far more than your plan does: on Plus, GPT-5.6 Luna gives you twenty-five times the local messages of GPT-5.6 Sol, which is more headroom than upgrading from Plus to Pro 5x would buy you. And the weekly limit that sits on top of the five-hour window has no published size at all.

Where these numbers live now

One piece of housekeeping first, because it affects anything you may have read about Codex limits earlier this year. The developer-facing URL that used to host this table, developers.openai.com/codex/pricing, now redirects to learn.chatgpt.com/docs/pricing. That new page is the more complete of the two OpenAI surfaces carrying limit data, and it is the primary source for this article.

The consumer page at chatgpt.com/codex/pricing still exists and still carries its own usage-limit table. As of today the two tables do not match. That section is below.

Local messages per 5 hours, by tier

From learn.chatgpt.com/docs/pricing, read tab by tab on 21 August 2026. The page presents one tier at a time behind a Plus / Pro 5x / Pro 20x / Business / API Key switcher; all five were opened and read separately.

ModelPlusPro 5xPro 20xBusinessAPI Key
GPT-5.6 Sol10–10050–500200–2,00010–100Usage-based
GPT-5.6 Terra25–200125–1,000500–4,00025–200Usage-based
GPT-5.6 Luna250–2,0001,250–10,0005,000–40,000250–2,000Usage-based
GPT-5.515–8075–400300–1,60015–80Usage-based
GPT-5.420–100100–500400–2,00020–100Usage-based
GPT-5.4 mini60–350300–1,7501,200–7,00060–350Usage-based
Local Messages / 5h. Source: learn.chatgpt.com/docs/pricing, read 21 August 2026.

Two columns that sit beside this one in OpenAI’s own layout are worth reporting exactly as printed: Cloud chats / 5h and Code Reviews / 5h read “Not available” in every one of the five tier tabs. That is what the page shows; it is not a number OpenAI has withheld so much as a cell it has not filled. Since the footnote directly under the table says local messages and cloud chats share a window, the practical reading is that cloud work draws on the same budget rather than getting a published allowance of its own.

The multipliers hold exactly

OpenAI’s Pro card promises “Choose 5x or 20x higher rate limits than Plus” and “5x or 20x more Codex usage than Plus.” Unusually for this genre, the published table backs the marketing claim precisely. Run the arithmetic on all six models and both ends of every range: Pro 5x is exactly five times Plus in twelve out of twelve comparisons, and Pro 20x is exactly twenty times Plus in twelve out of twelve.

This is a change worth flagging if you read about Codex limits earlier in the year. In late July the same table had cells where the floor and the ceiling scaled at slightly different rates — GPT-5.5 Pro 5x sat at 80–400 against a Plus floor of 15, which is 5.3x at the floor and 5x at the ceiling. Today it reads 75–400, and the discrepancy is gone. We covered the older, ragged version of this table in Claude Max versus Codex usage limits; the tidy-up happened somewhere in the intervening three weeks, unannounced and undated.

Business is Plus, and Enterprise depends on your billing

The Business column is identical to Plus on every row. OpenAI states the underlying rule in a footnote: “Enterprise and Edu plans without flexible pricing have the same per-seat usage limits as Plus for most features.” And for the other billing model: “For Enterprise/Edu users with flexible pricing, there are no fixed rate limits – usage scales with credits.”

If you are on a workspace seat and wondering why your allowance feels like a $20 consumer plan, that footnote is the answer. Seat price and seat allowance are set independently.

Advertisement

OpenAI’s two pricing pages disagree about GPT-5.6

This is the finding that most affects anyone acting on these numbers today, so it gets its own section.

The consumer page at chatgpt.com/codex/pricing carries a usage-limit table with the same structure and the same Plus column heading. On the three older models the two pages agree exactly. On all three GPT-5.6 models they do not.

Model (Plus, local messages / 5h)learn.chatgpt.com/docs/pricingchatgpt.com/codex/pricingAgree?
GPT-5.6 Sol10–10015–90No
GPT-5.6 Terra25–20020–110No
GPT-5.6 Luna250–2,00050–280No — by roughly 7x
GPT-5.515–8015–80Yes
GPT-5.420–10020–100Yes
GPT-5.4 mini60–35060–350Yes
Both pages read 21 August 2026. Neither carries a visible last-updated date.

The Luna row is the one that matters. Whether the cheapest, fastest model in the family gives a Plus subscriber 50–280 local messages per five hours or 250–2,000 is not a rounding difference — it is the difference between “worth switching to for bulk work” and “the single biggest lever you have.” The two pages also give different advice off the back of their own tables: the consumer page tells you to switch to GPT-5.4 mini for routine tasks and quantifies the benefit at roughly 2.5x to 3.3x, while the learn page tells you to switch to Terra or Luna.

Which page is right is Not published. There is circumstantial reason to prefer the learn page: it is the redirect target of the retired developer URL, it carries the full five-tier switcher rather than a Plus-only view, its numbers are internally consistent with the 5x/20x multipliers, and — as shown further down — its Luna figures line up exactly with the published credit rate card, which the consumer page’s do not. That is an argument, not a confirmation. If the number matters to your budget, read your own /status output rather than either table.

The weekly limit exists and has no published size

Under the table, in a footnote, sits the most consequential sentence on the page: “The usage limits for local messages and cloud chats share a five-hour window. Additional weekly limits may apply.”

That sentence does two jobs. It confirms local and cloud work draw from one pool, so a heavy afternoon of cloud tasks eats the local-message budget in the table above. And it confirms a weekly ceiling exists without saying how large it is, which model it applies to, or when it resets.

Not published: any weekly Codex figure, on any tier. Pages checked on 21 August 2026: learn.chatgpt.com/docs/pricing (all five tier tabs, the FAQ, the rate card and the feature-availability matrix) and chatgpt.com/codex/pricing. Neither contains a weekly number. If you find one quoted somewhere, check whether the page it cites actually contains it.

Anthropic is in a mirror-image position — it names a weekly window on every consumer plan and publishes no absolute figure for it either, though it is at least explicit about when the weekly clock resets. We walk through that in when Claude’s usage limits reset. Both vendors publish the shape of the weekly limit and withhold its size.

Why every cell is a range

Codex does not actually meter messages. It meters tokens, converts them into credits, and derives the message ranges from an assumed spread of message sizes. OpenAI says so directly:

“The number of messages you can send depends on the model used, size and complexity of your tasks, and whether you run them locally or in the cloud.”

“Tasks that look similar can consume different amounts of your allowance. Model choice, context, reasoning, tool use, retrieval, and caching all affect usage, so prompt length alone isn’t a reliable estimate.”

learn.chatgpt.com/docs/pricing

What determines where inside a range you personally land is Not published. The factors are named; the weighting is not. So the table bounds your ceiling rather than predicting it, and a Plus subscriber on GPT-5.6 Sol genuinely cannot tell in advance whether their five hours holds ten messages or a hundred.

The credit rate card

Credits per 1M tokens, from the same page. This is the layer the message ranges are built on, and it is more stable than they are.

ModelInputCached inputOutput
GPT-5.6 Sol12512.5750
GPT-5.6 Terra505300
GPT-5.6 Luna50.530
GPT-5.512512.50750
GPT-5.462.506.250375
GPT-5.4 mini18.751.875113
GPT-Image-2 (image)20050750
GPT-Image-2 (text)12531.25250
Credits per 1M tokens. Source: learn.chatgpt.com/docs/pricing, read 21 August 2026. Daybreak Blue (125 / 12.5 / 750) and Daybreak Red (312.5 / 31.25 / 1,875) also appear on the card and require Trusted Access for Cyber approval. GPT-5.3-Codex-Spark is listed as a research preview with no rate published.

Three patterns fall straight out of that card, and each one is worth more than a message count.

Cached input costs exactly a tenth of fresh input on every text model listed — 125 to 12.5, 50 to 5, 5 to 0.5, 62.50 to 6.250, 18.75 to 1.875. Not approximately a tenth; exactly. That is the strongest published argument for keeping one long session on the same repository open rather than restarting, because re-reading files you have already read costs a tenth of reading them fresh. Image models break the pattern: GPT-Image-2 caches at a quarter, not a tenth.

Output costs exactly six times input on Sol, Terra, Luna, GPT-5.5 and GPT-5.4, and 6.03x on GPT-5.4 mini. A task that writes a lot of code is therefore roughly six times more expensive per token than one that reads a lot — even though both count as one message. If your Codex sessions are burning down faster than colleagues on the same plan, generation volume is a likelier cause than message count.

The rate card explains the message table. Luna’s input rate of 5 credits against Sol’s 125 is a 25x gap — and Luna’s Plus floor of 250 local messages against Sol’s 10 is also exactly 25x. The learn page’s message ranges are internally consistent with its own credit rates. Running the same check against the consumer page’s Luna figure of 50–280 does not produce 25x against anything. That is the cross-check referenced earlier, and it is the concrete reason to weight the learn page more heavily.

One further published anchor: “GPT-5.6 usage averages 5-40 credits per message.” An average, across the family, spanning an eightfold range — which is the same wide-band honesty the message table shows, expressed in the underlying unit.

Model choice beats plan choice

Here is the arithmetic that most upgrade decisions should start from, using only the published Plus column.

Moving from Plus to Pro 5x costs an extra $80 a month and multiplies your allowance by five. Staying on Plus and moving a routine task from GPT-5.6 Sol to GPT-5.6 Luna costs nothing and multiplies your local-message allowance by twenty-five at the floor, twenty at the ceiling. Moving from Sol to Terra — a much smaller capability step — is 2.5x at the floor for free.

OpenAI describes what each model is for, and the descriptions are the honest guide to when this substitution is safe. Sol is “built for the hardest work—complex reasoning, ambiguous problems, advanced coding, and high-stakes decisions.” Terra is “the everyday workhorse for production tasks, reporting, document analysis, coding, and work that requires sound judgment.” Luna is “optimized for fast, high-volume work such as routing, classification, extraction, support, background automation, and focused coding tasks.”

So the substitution is not free in quality terms, and nobody should route architectural decisions to Luna. But most of what a working session actually contains — renaming, extracting, writing tests, mechanical refactors, reading a file and summarising it — is squarely in Terra or Luna territory. On the published numbers, disciplined model routing is worth more headroom than the $100/month tier, and it is the first thing to try. This is the same conclusion the cost side reaches from a different direction in our Codex vs Claude Code breakdown.

Advertisement

What happens when you hit the limit

OpenAI publishes four things here, and the first is a genuine kindness that other vendors do not match:

  • “If you reach your usage limits during an active turn, the agent will be able to continue working on that turn, subject to fair use limits.” You are not cut off mid-edit.
  • “ChatGPT Plus and Pro users who reach their usage limit can purchase additional credits to continue working without needing to upgrade their existing plan.”
  • “If you are approaching usage limits, you can also switch to a smaller model to make your usage limits last longer.”
  • “All users may also run extra local chats using an API key, with usage charged at standard API rates.”

Note what is absent: there is no published reset time, and no equivalent of the countdown Anthropic surfaces in its error strings. The window is described as five hours and rolling; when your own five hours ends is something you read out of the product, not off the pricing page.

How to see what you have left

Two surfaces, both published: “You can find your current limits in the usage dashboard. If you want to see your remaining limits during an active Codex CLI session, you can use /status.” OpenAI adds a cadence recommendation — “Check the dashboard every week or two to understand your pace and remaining capacity” — which is the closest thing to an admission that the published ranges will not tell you what you need to know.

Worth knowing that this is where Codex and Claude Code differ most in daily use. Codex’s /status tells you how much is left; Claude Code’s /usage tells you where it went, attributing consumption to individual skills, subagents and MCP servers. One lets you watch the balance, the other lets you fix the cause.

Things that quietly draw on the same budget

Five published items that surprise people, each verbatim:

  • ChatGPT Work. “ChatGPT Work and Codex share usage. ChatGPT Work usage inside ChatGPT uses the same pricing, credits, and usage limits as Codex.”
  • Image generation. “Image generation counts toward the same general usage limits as local messages and cloud chats” and uses them “3-5x faster on average.” It is not available on Free.
  • Voice. Superseded between 14 and 15 September 2026. Desktop voice used to carry a plan-dependent time allowance in rolling five-hour windows, with “unlimited” listed against the top plan. That table is no longer on OpenAI’s pricing page. Voice is now metered by the minute against the same Codex budget that runs your coding tasks: “Voice in Desktop uses your existing Codex usage budget at $0.05 per minute.” The full story, including what this changes for anyone who bought a plan for its voice allowance, is in the update at the end of this page.
  • ChatGPT for Excel. “Usage limits are shared with other agentic features once pricing for those features is effective. This currently includes ChatGPT for Excel on Plus and Pro.”
  • Fast mode. “Speed configurations increase credit consumption for all applicable models, so they also use included limits faster.”

Code review is the one exception that narrows rather than widens the pool: “Code Review usage applies only when Codex runs reviews through GitHub… Reviews run locally or outside of GitHub count toward your general usage limits.”

OpenAI’s own tips for stretching a window

Published as a list, prefaced with the caveat that “the usage limits and credits above are average rates”: control the size of your prompts; limit source material and narrow the date range where possible; match the output to the need by defining audience, format and length; reduce the size of your AGENTS.md, nesting them within a larger repository rather than carrying one big file; limit the number of MCP servers, because “every MCP server adds more context to your messages and uses more of your limit”; and switch to a smaller model for routine tasks.

The AGENTS.md and MCP items are the two most people ignore, and they compound. Both inflate the context attached to every single message in a session, so an oversized instructions file and four idle MCP servers do not cost you once — they cost you on every turn until you close the session. The context-management logic is the same on the other side of the fence, which we cover in what fills the Claude Code context window.

Frequently asked questions

How many messages do I get with Codex on ChatGPT Plus?

Between 10 and 2,000 local messages per five hours, depending entirely on which model you use — 10–100 on GPT-5.6 Sol, 250–2,000 on GPT-5.6 Luna. Those are the figures on learn.chatgpt.com/docs/pricing; the consumer pricing page currently shows lower GPT-5.6 figures, and the discrepancy is unresolved.

Is Codex Pro 20x really twenty times Plus?

On the published five-hour local-message allowances, yes — exactly 20x at both ends of every range, on all six models listed. What is not promised is that the multiplier applies to the weekly ceiling, whose size OpenAI does not publish at any tier.

Does Codex have a weekly limit?

OpenAI says “Additional weekly limits may apply” and publishes no figure. Two pages were checked in full on 21 August 2026 and neither carries one.

Do cloud tasks use a separate allowance?

No. “The usage limits for local messages and cloud chats share a five-hour window.” The Cloud chats column itself reads “Not available” on every tier tab, so there is no separate published number to work from.

Should I upgrade to Pro, or switch models?

On the published numbers, try model routing first. Pro 5x costs $80 more per month for 5x. Moving routine work from Sol to Luna on your existing Plus plan is free and worth up to 25x on that work. Upgrade when your hard tasks — the ones that genuinely need Sol — are what exhausts the window.

Is Codex free?

There is a Free tier — “Explore Codex capabilities on quick coding tasks” — but no local-message allowance is published for it, and image generation is excluded. Paid entry is Go at $8/month, then Plus at $20. The same question on the Anthropic side has a more involved answer, which we work through in whether Claude Code is free.

Advertisement

Sources, and what was checked

Both pages were read in full on 21 August 2026. Neither displays a last-updated date, which is a recurring problem with this topic — the figures have changed at least twice since July without any visible versioning.

  • learn.chatgpt.com/docs/pricing — plan prices, the five-tier local-message table, the credit rate card, the FAQ, voice allowances, feature-availability matrix. This is where developers.openai.com/codex/pricing now redirects.
  • chatgpt.com/codex/pricing — the consumer table, Plus column only. Served in its localised form from our checking location; the figures quoted from it are numerals, not translated prose.

Deliberately absent, because no official source was found: any weekly Codex allowance; any published rule for where inside a range a given user lands; numeric cloud-chat and code-review allowances; and the size of the separate limit governing GPT-5.3-Codex-Spark, which OpenAI says “is governed by a separate usage limit that may adjust based on demand.” All four circulate as confident numbers elsewhere. None of them appears on an OpenAI page we could find.

Related on this site

Update, 22 August 2026: why 31 August is a deadline on both sides

The GPT-5.4 and GPT-5.4 mini retirement covered above lands on 31 August 2026. What is easy to miss is that the same date is a deadline in the Anthropic ecosystem too, for an unrelated reason, and anyone comparing the two products on capacity right now should know about it.

On 19 August 2026, Anthropic’s developer channel posted: “We’re extending the 50% increase to weekly Claude Code limits through August 31. We hope to make this a permanent change to our plans, but strong demand for our models means that capacity may be tight over the coming weeks. We’ll keep you posted as things develop.”

Three things follow from that, and they matter for anyone benchmarking Codex against Claude Code this month.

  • The Claude Code weekly capacity you are experiencing right now is above the documented rate. The uplift has been running since May 2026 and applies to Pro, Max, Team and seat-based Enterprise plans, but it has never been written into Anthropic’s published limits. The support documentation still describes the standard weekly bands, not the boosted ones.
  • It is explicitly temporary and has been extended more than once. Anthropic has said it hopes to make the increase permanent but has not committed to it, and cites capacity pressure as the reason. Treat it as a promotion that may or may not renew, not as a plan feature.
  • A comparison run in August will not necessarily hold in September. If you are deciding between Codex and Claude Code on the basis of how far a week’s allowance goes, the Claude side of that test is running with a 50% thumb on the scale that is scheduled to lift on 1 September.

The symmetry is coincidental but useful: on 31 August, Codex users lose two models and gain cheaper replacements, while Claude Code users may lose a weekly uplift and gain nothing. Neither change is a price increase in the strict sense, and neither has been characterised as one by the vendor. But both change what a fixed monthly fee actually buys, which is the only number most people care about.

We are not going to predict which way Anthropic goes. The honest position is that the published limits are the only ones you can plan against, and those are the figures we track on our Claude Pro usage limits page. If Anthropic converts the uplift into a permanent published rate, that page is where the change will be recorded.

Update, 5 September 2026: GPT-6 Astra joins the card, and Sol’s credit rate was cut

Everything above was read on 21 August 2026. We re-read the same page on 5 September 2026 and found two changes. One is an addition; the other is a price cut that nobody announced, and that quietly falsifies a claim made earlier in this article.

Change one: a new model sits above Sol

GPT-6 Astra now appears at the top of both tables. It was not on the page on 21 August. Its local-message allowance is the tightest of any model listed:

ModelPlusPro 5xPro 20xStandard Business
GPT-6 Astra5–4525–225100–9005–45
GPT-5.6 Sol10–10050–500200–2,00010–100
Local messages per 5 hours. Source: OpenAI Codex pricing documentation, read 5 September 2026. Sol’s row is unchanged from 21 August; Astra’s row is new.

Read the Plus column: Astra’s floor is five messages per five hours, half of Sol’s ten, and its ceiling is 45 against Sol’s 100. On the cheapest paid tier, the newest model buys you between a half and a twentieth of the run-rate you get from the model directly below it. If you are on Plus and you switch your default to Astra, you should expect to hit the wall roughly twice as fast at the floor of the range.

The multiplier check still passes. The section above reported that Pro 5x is exactly five times Plus in twelve out of twelve comparisons and Pro 20x exactly twenty times, across six models and both ends of every range. Astra makes it seven models and fourteen comparisons: 5×5 = 25 and 45×5 = 225; 5×20 = 100 and 45×20 = 900. Fourteen out of fourteen (our arithmetic). Whatever else moved, OpenAI is still holding its tier multipliers to the digit.

Change two: Sol’s credit rate was cut, and it was not announced

This is the one worth your attention. The credit rate card above was read on 21 August. Comparing it line by line against the same card on 5 September, exactly one pre-existing model changed price, and it changed downward:

Credits per 1M tokensInputCached inputOutput
GPT-5.6 Sol — as read 21 Aug12512.5750
GPT-5.6 Sol — as read 5 Sep10010500
Change (our arithmetic)−20%−20%−33.3%
Source: OpenAI Codex pricing documentation, both readings. The percentages are our arithmetic on the two published rate cards.

Every other pre-existing row held to the digit: Terra 50 / 5 / 300, Luna 5 / 0.5 / 30, GPT-5.5 125 / 12.5 / 750, GPT-5.4 62.50 / 6.250 / 375, GPT-5.4 mini 18.75 / 1.875 / 113, and both GPT-Image-2 rows. GPT-6 Astra enters at 250 / 25 / 1,250, which is two and a half times Sol’s new rate on all three lines (our arithmetic).

One consequential side effect: Daybreak Blue was re-pegged along with Sol, from 125 / 12.5 / 750 to 100 / 10 / 500. The page now states outright that “Daybreak Blue uses GPT-5.6 Sol credit rates” — so it is not an independent price, it tracks Sol. Daybreak Red (312.5 / 31.25 / 1,875) did not move. Both still require Trusted Access for Cyber approval.

OpenAI’s promotional-pricing line for Sol is still on the page and still reads at least through November 21, 2026. Whether the cut above is part of that promotion or a change to the standard rate, the page does not say, and we are not going to guess.

Correction: the rate card is not the layer the message ranges are built on

The credit rate card section above says the card “is the layer the message ranges are built on, and it is more stable than they are.” Two weeks of data now say the opposite, and we are correcting it rather than quietly deleting it.

Between 21 August and 5 September, Sol’s credit rate fell by a fifth on input and a third on output — and Sol’s message ranges did not move at all. Plus is still 10–100, Pro 5x still 50–500, Pro 20x still 200–2,000, Business still 10–100. If the included message allowance were a fixed division of a credit budget by a per-message credit cost, a 20–33% cut in that cost would have widened the allowance. It did not.

The honest reading is that these are two independently maintained numbers. The credit rate card governs what you are charged once you are past your included limits and spending credits. The message ranges govern how much you get before that point. They can move independently, and in this case they did. Anyone trying to reverse-engineer a plan’s included dollar value from the rate card — a common exercise in write-ups about this topic, including an earlier version of ours — is multiplying two numbers that OpenAI does not appear to hold in a fixed relationship.

The one anchor OpenAI does publish alongside the ranges is unchanged and still worth more than any derived figure: “GPT-5.6 usage averages 5-30 credits per message.” That is a six-fold spread, printed by the vendor, on the exact quantity every cost estimate depends on.

Two smaller things that also changed or clarified

  • Fast mode now has a published multiplier. The page states that fast mode “applies a 2.5x multiplier to Astra’s Standard rate.” Previously the page said only that fast mode consumes credits at a higher rate without quantifying it for any model.
  • GPT-5.3-Codex-Spark is still a research preview with no published rate, still Pro-only, and the page repeats that it “is governed by a separate usage limit that may adjust based on demand.” It does not draw on the same pool as everything else in the tables above — which is easy to miss, because it appears in the same list.

For how these numbers land against Anthropic’s side of the same question, see Claude Code vs Codex, which we updated the same day with the cross-vendor arithmetic, and Claude Max vs Codex usage limits. If you are weighing the Pro tiers specifically, Claude Max 5x vs 20x covers the equivalent decision on the other side.

All figures in this update were read from OpenAI’s official Codex pricing documentation on 5 September 2026. Percentages and multiplier checks are our arithmetic on the published numbers.

Update, 7 September 2026: OpenAI publishes two different answers to “how much further does Luna go?” — and they disagree by exactly 1.5x

This page already tells you that moving routine work from GPT-5.6 Sol to GPT-5.6 Luna on your existing plan is free and worth up to 25x. That number is correctly sourced — it comes from OpenAI’s per-plan allowance table, where Plus users get 10–100 local messages on Sol and 250–2,000 on Luna. Divide the low ends and you get 25x.

On 7 September 2026 we re-read the same page and worked the other published table — the credit rate card — to see whether it agrees. It does not, and the gap is large enough to change advice.

The two tables, side by side

Published sourceSolLunaImplied gain from switching (our arithmetic)
Allowance table, Plus, low end10 messages250 messages25.0x
Allowance table, Plus, high end100 messages2,000 messages20.0x
Credit rate card, input tokens100 credits5 credits20.0x
Credit rate card, cached input10 credits0.5 credits20.0x
Credit rate card, output tokens500 credits30 credits16.67x
OpenAI published figures, read 7 September 2026. Right-hand column is our arithmetic.

So the honest answer to “how much further does Luna go?” is not a number but a range: somewhere between 16.67x and 25x, depending on which official table you read and how output-heavy your work is. The most flattering published figure is exactly 1.5x the least flattering one.

Where the 1.5x comes from

It decomposes cleanly into two independent effects, both our arithmetic on official numbers:

  1. 1.25x from the two tables simply disagreeing. The allowance table’s low end implies 25x; the credit card’s input row implies 20x. 25 ÷ 20 = 1.25.
  2. 1.2x from the shape of the bill changing. Sol prices output at 5.0x its input (500 ÷ 100). Luna prices output at 6.0x its input (30 ÷ 5). Moving down the ladder makes output relatively more expensive: 6.0 ÷ 5.0 = 1.2.

1.25 × 1.2 = 1.5, which is the whole gap. The same decomposition holds for Sol to Terra: the allowance table’s low end implies 2.5x, the credit card’s output row implies 1.667x, and 2.5 ÷ 1.667 is again exactly 1.5.

The practical reading is uncomfortable for OpenAI’s own advice. The page recommends switching to a smaller model to make your limits last longer, and that advice is sound — 16.67x is still an enormous saving. But the saving is smallest precisely on output tokens, and switching down the ladder permanently worsens the ratio at which you are charged for writing. If your workload is short prompts producing long files, you capture the bottom of the range, not the top. If it is large-context reading producing short diffs, you capture the top.

The one constant across the whole rate card

While computing the above we checked every row for a cheaper way to stretch limits, and found one figure that never moves. On all nine text models, cached input is priced at exactly 10.0% of ordinary input — Astra 25 against 250, Sol 10 against 100, Terra 5 against 50, Luna 0.5 against 5, GPT-5.5 12.50 against 125, GPT-5.4 6.250 against 62.50, GPT-5.4 mini 1.875 against 18.75, and both Daybreak rows on the same 10.0%. Only the two GPT-Image-2 rows differ, at 25.0%. All percentages are our arithmetic on OpenAI’s published credit rates.

That constant matters more than the model ladder for most people reading this page. Because the discount is the same proportion on every model, anything you do to raise your cache hit rate pays off identically regardless of which model you are on, and it stacks with model switching rather than competing with it. OpenAI’s own tips list points the same way without saying so numerically: trimming your AGENTS.md, disabling MCP servers you are not using, and narrowing the files you attach all shrink the volume of fresh input, which is the expensive 100% row rather than the 10% one.

It is also, as it turns out, exactly where Anthropic sits: its published rule is a flat 0.1x cache-read multiplier on every model except Claude Fable 5.1 and Mythos 5.1. Two vendors, seventeen model rows, one number. We traced what that implies for the models that do not sit at 10% in our GLM Coding Plan versus Claude Code comparison, where the same row runs between 18.6% and 24.6%.

Verified unchanged today

Read 7 September 2026: the per-plan allowance table is identical cell for cell to our 5 and 6 September readings across all seven models and all five plan columns; all nine text credit rows and both image rows are unchanged; Business at $100 still uses the Pro 5x estimates; the note that GPT-5.6 Sol’s promotional pricing runs at least through 21 November 2026 is still present; and GPT-5.3-Codex-Spark is still a Pro-only research preview with no published rate and a separate usage limit that OpenAI says may adjust based on demand. Personal plan pricing is unchanged at Free $0, Go $8, Plus $20, Pro from $100.

One structural change to record: the Codex pricing URL now redirects to OpenAI’s ChatGPT Learn documentation, which opens by stating that ChatGPT Work and Codex share the same pricing, credits and usage limits. Codex limits and ChatGPT Work limits are now formally one allowance rather than two.

What we still cannot tell you: what one credit costs in dollars, which OpenAI says depends on your plan or agreement and does not publish as a universal rate. Any article converting these credit figures into dollars has supplied that number itself. For how the published limits compare with Anthropic’s, see our Claude Max versus Codex usage limits comparison, and for the full cross-vendor price table see AI coding assistant pricing.

Update, 14 September 2026: Anthropic’s 50% weekly uplift has expired — and it was never in the documentation to begin with

This page quotes Anthropic’s 19 August 2026 developer-channel post about extending “the 50% increase to weekly Claude Code limits through August 31.” That uplift was extended once more, to 13 September 2026, and that date has now passed. On 14 September we re-read Anthropic’s official support article on usage limits for Claude and Claude Code to see how the expiry was described. It is not described, because the uplift is not in that article and never was.

The article, stamped “Updated over 3 weeks ago,” says only that there are “usage limits that are shared across Claude and Claude Code” and then lists what to do when you hit them — upgrade, enable usage credits, buy API credits in the Console, or wait for the reset. No numeric ceiling. No weekly figure. No 50%. No 13 September. We are marking the uplift on this site as non-official and expired, and we are not carrying it forward into any comparison.

Why this matters specifically for a Codex-versus-Claude comparison

The two products document capacity in fundamentally different ways, and that difference is easy to miss because both sides talk about “limits” as though the word meant the same thing.

OpenAI publishes a table. Its pricing documentation carries per-five-hour message estimates by plan, plus a credit rate card with numbers on it. Those numbers can be wrong, and we have documented cases on this page where OpenAI’s own surfaces disagreed with each other — the 7 September update above is about exactly that, two official answers that differed by a factor of 1.5. But they exist, they are versioned, and a disagreement between them is something a reader can see.

Anthropic’s support article publishes no capacity numbers at all for the subscription plans. There is nothing to disagree with. That is not a criticism of the limits themselves, which may well be more generous; it is a statement about what you can verify before you buy. A published-but-inconsistent number can be audited. An unpublished number cannot. Anyone comparing these two subscriptions on capacity should understand that they are comparing a table against an absence, and that the honest comparison of the absence is “unknown,” not “similar.”

Two observations, one rule

Yesterday we recorded that Z.ai published an end date for a discount and the discount outlived it, which made the published date a statement of intent rather than a billing event. Today’s observation runs the other way: there was no published date to be wrong, because the whole change lived outside the documentation — announced in a developer channel, extended through an in-product surface, and ended by a date quietly passing with no notice.

The rule that survives both is this. For subscription capacity, the vendor’s documentation is not the source of truth; your own usage meter is. Treat any capacity figure that reached you through a blog post, a developer channel, a changelog or a screenshot as provisional, and confirm it against where your own week actually runs out. Per-token list prices are a different matter — those are published and checkable, and Anthropic’s pricing page was unchanged again on 14 September, for the sixth consecutive verbatim check.

The same correction has been applied to our Claude Pro usage limits page, which carried the identical quotation. If you are working out which plan actually holds your week, the tier-by-tier comparison in Claude Max against Codex on usage limits and the reset mechanics in how Claude usage limits reset are the two pages to read next.

Checked 14 September 2026. OpenAI’s Codex pricing documentation was re-read the same day and was unchanged from our previous check, including the unresolved status of GPT-5.4 noted above.

Update, 15 September 2026: desktop voice stopped being an allowance and became a meter

Something changed on OpenAI’s Codex pricing page between our reading on 14 September 2026 and our reading on 15 September 2026, and it is the kind of change that does not get a blog post. The plan-by-plan table of included voice time — the one that listed a rough number of minutes or hours per plan and the word “unlimited” against the top tier — is gone. In its place are two sentences of metered pricing.

Verbatim from learn.chatgpt.com/docs/pricing.md (the destination of the 302 redirect from developers.openai.com/codex/pricing.md), read 15 September 2026:

“Voice in Desktop uses your existing Codex usage budget at $0.05 per minute.”

“For Business, Edu, and Enterprise workspaces with credit-based billing, desktop voice costs 1.25 credits per minute. This rate also applies when Plus and Pro users spend additional credits.”

“GPT-Live manages the live conversation. The model handling your task is billed separately at its standard token rates.”

No effective date is given on the page. No changelog entry accompanies it. We know the window only because we read the same file two days running.

An allowance and a meter are different products, even at the same price

This is the part worth slowing down on, because it is easy to read “$0.05 per minute” as a price change and move on. It is not primarily a price change. It is a change in what kind of thing voice is.

Under the old table, voice had its own bucket. Whatever the bucket was worth, it was separate: running the voice feature to its limit did not, by itself, take anything away from the coding work you bought the plan for. That is what an allowance does — it caps your downside in the dimension you care about.

Under the new wording, voice draws from “your existing Codex usage budget.” Voice minutes and agent tasks are now claims on the same pool. If you talk for twenty minutes, that is budget your agent runs do not get. The plan that previously listed unlimited voice now has voice competing with its own coding capacity — and the users most affected are exactly the ones who chose a higher tier because of the voice line in that table.

We flagged the same structural move once before on this site, in the other direction: a capacity number that exists in a launch announcement but never in the product documentation is not something you can plan against. Here the number existed in the documentation and then left it. Both cases land on the same practical rule, which is the through-line of our comparison of how these two subscriptions publish capacity: the reliable source of truth about what you have left is your own usage meter, not the vendor’s page.

$0.05 per minute is not the all-in price

The third sentence is the one most summaries will drop. GPT-Live runs the conversation; “the model handling your task is billed separately at its standard token rates.” So a voice session runs two meters at once — a per-minute charge for the live channel, plus ordinary token billing for whatever model actually does the work. Anyone budgeting voice at five cents a minute is budgeting the transport and forgetting the cargo. How large the second meter gets depends entirely on what you ask for while talking: a one-line question and a repository-wide refactor cost the same per minute of speech and nothing like the same in tokens.

The credit line moved too, and we still cannot price it in dollars

On 14 September the credit-billing line read 6 credits per minute. On 15 September it reads 1.25 credits per minute. Our arithmetic on the official numbers: that is 20.8% of the previous credit rate, a reduction of 79.2% measured in credits.

Measured in money, we do not know what it is, and neither does any other site that tells you. OpenAI has never published what one credit costs. This page is, as far as we can tell, the first time the dollar rate and the credit rate for the same feature have appeared in the same document — which makes the division tempting. We are not doing it, for a specific reason rather than out of caution: the two sentences describe different billing contexts. The first covers a plan’s included budget; the second covers credit-based workspaces “and this rate also applies when Plus and Pro users spend additional credits.” A rate inside an included allowance and a rate for overage purchased on top of it are routinely not the same rate, in this industry and others. Dividing them yields a number that looks authoritative and may be describing nothing.

So the honest statement is the unsatisfying one: the credit price of voice fell sharply, the dollar price of voice is $0.05 per minute against plan budget, and whether those two facts describe the same underlying change is not something the documentation lets you determine. That gap matters more than it sounds, because credits are the unit in which Business, Edu and Enterprise workspaces are actually billed — the buyers least able to check the invoice against the docs are the ones quoted in the unit with no public exchange rate.

One more thing our own records show

The voice allowances quoted in the body of this page — roughly 15 to 30 minutes on Plus, one to two and a half hours on Pro 5x, unlimited on Pro 20x, about 45 minutes on Business — are what the table said when this section was written. The reading we archived on 14 September 2026, the day before the table vanished, was already different: wider ranges on the consumer plans and a different figure for Business. We have restated them here rather than quietly deleting them, because erasing an observation is not the same as correcting it. Two different readings of the same table, plus a silent removal, is a documentation pattern, not an accident — and it is a reasonable basis for treating any published voice or capacity figure on this product as a snapshot with a short shelf life.

If you are choosing a plan on the strength of its limits, the pages worth reading next are what the Claude subscriptions publish about their own ceilings and the current per-token and per-seat pricing across the coding assistants. Neither vendor makes this easy, but they are difficult in different and comparable ways.

Update, 25 September 2026: the model this page keeps naming leaves Codex in 19 days, and the rate card is not where that is written

This page names GPT-5.5 seven times. Until today it never once told you that OpenAI’s own pricing documentation says the model retires from Codex on 14 October 2026 — nineteen days from the date of this update. Nothing above was wrong when it was written. It was simply missing the one fact that decides whether any of it still applies to you in three weeks.

Our morning check of OpenAI’s pricing page recorded the retirement as a prose statement, not a table row. The fragment we hold verbatim is:

retires ... on October 14, 2026

We are quoting a fragment and saying so. The remainder of the sentence is not in our notes, and we are not going to reconstruct it from memory. What matters for this page is the date, and the date is unambiguous.

A retirement is not a pricing event on a usage-limits page. It is a denominator event.

Everything above this update expresses your allowance in credits or in requests. Credits are not work. Credits are work divided by a model’s rate. When the model in the denominator is withdrawn and you are routed to a different one, your plan price does not change, your credit allowance does not change, and the amount of work you get changes anyway — possibly by a lot.

Here is how much room there is in that denominator. These are the credit rates on OpenAI’s pricing page as read this morning, per million tokens:

TierInputCached inputOutput
Astra250251,250
Sol505250
Luna2.50.2512.5
Credits per million tokens, official list rates read 25 September 2026. A “Fast” service tier is listed at a 2.5× multiplier.

Top to bottom, that menu spans exactly 100× on input (250 ÷ 2.5) and exactly 100× on output (1,250 ÷ 12.5) — and 250× once you put the 2.5× Fast multiplier on top of Astra (our arithmetic on the official numbers). That is the range your fixed credit allowance is being divided by. It is why “how many credits do I get” has never been the useful question on this page, and why a forced model migration is the single largest thing that can happen to your effective limit without a single number on your invoice changing.

We are deliberately not computing what a GPT-5.5 user’s bill does on 14 October. To do that honestly we would need GPT-5.5’s own credit rate re-verified against the live page on the same morning as the three rates above, and we would need OpenAI to have published which model Codex routes you to afterwards. The destination model is officially not published. Anyone giving you a migration multiplier today is filling in both blanks and not telling you which two.

The one number four vendors agree on, and the one vendor that breaks the pattern in the direction nobody expects

Look down the cached-input column above. Astra 25 ÷ 250, Sol 5 ÷ 50, Luna 0.25 ÷ 2.5 — every OpenAI tier prices a cache hit at exactly 0.10× its own input rate (our arithmetic). That is not an OpenAI convention. Using this morning’s official list prices from the other two vendors we check daily:

ModelInputCache hitHit ÷ input
OpenAI, all three tiers——0.10×
Anthropic Claude Sonnet 5$2.00$0.200.10×
Google Gemini 3.8 Flash$0.75$0.0750.10×
Anthropic Claude Opus 5.5$4.00$0.200.05×
Anthropic Fable 5.1 / Mythos 5.1$10.00$0.250.025×
Per million tokens. Official vendor list prices read 25 September 2026. Ratios are our arithmetic on those numbers.

The industry has converged on a ten-percent cache hit, and the only place the convention breaks is at the top of Anthropic’s own menu — where the discount gets deeper, not shallower. Opus 5.5 hits at 0.05×; the Fable and Mythos pair hit at 0.025×. In dollar terms Opus 5.5 and Sonnet 5 charge the same $0.20 for a cache hit while their input prices differ by 2.00×.

The consequence for anyone reading a limits page: caching is worth roughly twice as much on the expensive model as on the cheap one, which is the opposite of the intuition that you optimise the cheap tier and splurge on the expensive one. If a migration in October pushes you up a tier, the cache-hit rate of your harness stops being a tuning detail and becomes the main lever you still control. Nobody publishes that as a feature because it is an accident of two independently set numbers.

One caution before you carry any of those ratios across a vendor boundary: Anthropic states its newer models use a different tokeniser that produces “approximately 30% more tokens” for the same text. A per-token price is therefore not comparable across vendors without adjusting for that, and we do not adjust silently. Ratios within one vendor’s own card — like the 0.10× and 0.05× above — are clean.

Two dates govern this page right now, and both of them live in sentences rather than in the table

14 October 2026 — nineteen days — GPT-5.5 retires from Codex. 21 November 2026 — fifty-seven days — is the date attached to Sol’s promotional pricing. The page’s wording there matters, and it is not an expiry:

GPT-5.6 Sol's promotional pricing is available at least through November 21, 2026

“At least through” is a floor, not a deadline. It promises the price will not rise before that day and says nothing whatsoever about the day after. Read as an expiry it produces a panic that is not warranted; read as a floor it produces the correct behaviour, which is to put a review in the calendar for 21 November rather than a migration.

Both of these are prose. Neither is a cell in the rate table. This site has now hit the same structural point from four directions in one month, so we will state it plainly: a pricing page is two documents sharing one URL. One is a table of numbers, which customers check and vendors therefore maintain carefully and version carefully. The other is prose — promises, floors, qualifiers, retirement dates, rollout caveats — and nobody diffs prose. Numbers get changelogs. Sentences just stop being there. On 24 September we watched exactly that happen on a different vendor’s page, to a sentence this site had quoted seventeen times across six pages.

The practical form of that lesson, and it costs ten minutes: archive the paragraphs, not just the tables.

Meanwhile the rate card still lists models you cannot rely on, for the sixteenth consecutive day

GPT-5.4, its mini variant and GPT-5.5 were all still present on OpenAI’s rate card this morning — the sixteenth consecutive daily check on which that has been true, including for a model whose own retirement date is published on the same page. The other vendor we track daily has been moving in the opposite direction, filing models that are currently on sale under an “Additional models” heading.

One page makes dead options look alive; the other makes live options look peripheral. The shared consequence is that position on a rate card is no longer evidence of anything. It is an editorial decision about a documentation page, not a statement about a product line, and neither page tells you which kind of decision you are looking at. If you want to know what you are actually running and what you are actually paying, the only sources left are the response metadata and the invoice.

What to do in the next nineteen days

  • Grep your configs for the string, not for the product. Model identifiers sit in CI files, agent configs, eval harnesses and shell aliases. A retirement does not fail loudly; it re-routes quietly, and the first signal is usually a bill or a behaviour change, not an error.
  • Put both dates in a calendar — 14 October as a migration, 21 November as a review. Treat the second as a floor expiring, not a price expiring.
  • Measure your cache-hit rate before the migration, not after. If routing moves you up a tier, the hit rate is the lever that survives the move, and on at least one vendor it is worth twice as much at the top of the menu as at the bottom.
  • Save the page, not the screenshot of the table. Copy the paragraphs containing the retirement date and the “at least through” floor into your own notes today, with the date you read them. When a sentence disappears there is no error, no ranking change and no notification — only a reader who can no longer check you.

Read next: our side-by-side of Codex and Claude Code, which carries the 14 October date in its own update; the cross-vendor AI coding assistant pricing page, where the cache-write column gets the treatment the cache-hit column just got here; and Claude Code alternatives, where a second dated price change is already on the calendar for 1 January 2027.

Advertisement
Advertisement