CodexHowSupport Us

A Running Table of Codex Pricing Changes

Pricing on a fast-moving model lineup isn't a fact you learn once — it's a fact you have to keep re-learning, on a schedule, or you end up planning real budgets against numbers that quietly stopped being true. This page exists to make that re-learning visible rather than invisible: a running account of what changed upstream, roughly when, and what this site itself got wrong along the way.

Why a static pricing page isn't enough on its own

Every model reference page on this site states current figures with a verified-on date. What that alone doesn't show is the shape of change over time — whether a given price has been stable for months or moved repeatedly in a single quarter, whether a naming convention has shifted, whether a mechanic like cache-write pricing is a longstanding feature or a genuinely new addition. A single snapshot answers "what is true now." A running record answers "how much should I trust that this stays true," which is a different and, for planning purposes, arguably more useful question.

The autumn re-check: everything that moved

This season changed more than every earlier entry on this page combined. In the order it happened:

  • Late July. Priority processing was renamed Fast mode on July 30, 2026 — and, contrary to what this page first recorded, the name wasn't the only thing that changed (more below). The same day, GPT-5.6 Luna and GPT-5.6 Terra were repriced downward. A week earlier, OpenAI added hard spend limits for organizations and projects — a cap that makes affected requests fail, as opposed to an alert that only tells you.
  • August. Fast mode started accepting long-context requests on the GPT-5.6 models. GPT-5.6 Sol was cut to promotional rates that OpenAI says are available at least through November 21, 2026 — a price with a stated floor date rather than an open-ended one. The Usage and Costs dashboards gained per-API-key filtering, a Prompt Caching dashboard arrived, and Ultrafast was announced as a limited preview.
  • September. The GPT-6 generation arrived in stages: GPT-6 Astra at the top of the range, then GPT-6 Sol and GPT-6 Luna, then GPT-6.1 Sol, positioned below Astra on price. Ultrafast became a public API tier for GPT-6 Astra on September 29, 2026, priced well above Fast. Prompt Cache Diagnostics, which names the reason for a specific cache miss, became generally available.
  • On the Codex side. The CLI's default moved from GPT-5.6 Sol to GPT-6.1 Sol. Codex with ChatGPT sign-in dropped GPT-5.4 on August 31, 2026 and GPT-5.3 Codex Spark on September 14, 2026, with GPT-5.5 following on October 14, 2026. Pro became a ladder of tiers ranked by included usage, and OpenAI published a rate card that prices every model and speed in credits.
  • October. On October 6, 2026 OpenAI rebuilt the API's usage tiers, from five paid tiers to three — Build, Launch and Grow — and on the new tables every step raises both request and token limits. Ultrafast came to GPT-6.1 Sol on October 8, 2026, at a fraction of Astra's Ultrafast price. A 12-hour prompt-cache lifetime arrived on October 20, 2026, writing at 2.5x the input rate instead of 1.25x, with reads unchanged. GPT-6.1 Terra launched on October 26, 2026, below GPT-6.1 Sol on every Standard price cell. And OpenAI deprecated GPT-5.3 Codex and GPT-5.4 Nano on the API, both shutting down on April 1, 2027.
  • On the Codex side, October. GPT-5.5 left Codex with ChatGPT sign-in on October 14, 2026, and OpenAI now names GPT-6.1 Sol as its replacement on paid plans. GPT-6.1 Terra arrived for Plus and above, needing CLI 0.159.0 or later. OpenAI's estimate of a typical GPT-5.6 Sol task fell to 2–15 credits.

Each of those has its own page: GPT-6.1 Terra, rate-limit tiers, prompt caching, Fast mode naming, Ultrafast mode, the model retirement schedule, Codex plans and usage limits and the credits rate card.

The change that turned out to be permanent: paying to write the cache

Every model generation before GPT-5.6 wrote to the prompt cache at the ordinary input rate — no surcharge for the act of writing a new prefix. GPT-5.6 introduced a separate cache-write rate at 1.25x the input rate, and this re-check settles whether that was a one-generation experiment: it wasn't. Every GPT-6 model carries the same write charge, and October added a second one: a 12-hour lifetime that writes at 2.5x the input rate, for prefixes reused hours apart. What also moved is the other side of the ledger. GPT-6.1 Sol and GPT-6.1 Terra bill cached input at 0.05x their input rate, against 0.1x on the other GPT-6 and GPT-5.6 models — a deeper read discount that lets caching pay back slightly sooner on the current CLI default than on the model it replaced. Re-run the break-even with the prompt caching savings calculator rather than carrying a number from one model to the next.

The rename that turned out to be more than a rename

Earlier versions of this page recorded Priority becoming Fast mode as a change of name and nothing else. OpenAI's own Fast mode guide says otherwise: alongside the rename, it raised Fast mode's speed for GPT-5.6 Sol to up to 2.5x faster than Standard. The old identifier still works — service_tier: "priority" and service_tier: "fast" are both accepted — but on GPT-5.6 and earlier models the response and the usage dashboard still report priority even when you sent fast, which matters to any monitoring that filters on the tier's name. What changed when Priority became Fast mode has the details.

The relocation of the documentation itself

Beyond pricing mechanics, the URLs where OpenAI's own documentation lives moved during this site's research period — platform.openai.com paths redirecting to developers.openai.com, and Codex-specific documentation redirecting to a learn.chatgpt.com domain. This matters for anyone maintaining their own bookmarks or internal links to OpenAI's documentation, and it's a reminder that even the location of authoritative information isn't a fixed fact to memorize once.

What this site got wrong, recorded alongside what changed upstream

Alongside genuine upstream changes, this site keeps a corrections log for a different category of change: places its own understanding was wrong, independent of anything OpenAI did. Per-model rate limits being genuinely published, not absent, was one; the long-context repricing rule being stated on model pages rather than unpublished was another. The latest is the most instructive. This site reported that Sol models published no reasoning-effort levels, when the levels were on their pages all along — written in a sentence shaped differently from the one its scraper had been built to read. The scraper now refuses to turn an unrecognised sentence into "not published", and a build check compares every model figure on this site against freshly scraped evidence before anything ships. October's re-check found two more of the same kind. This site said the --full-auto flag on codex exec still worked with a warning, when Codex CLI 0.147.0 had removed it on August 7, 2026; and it said long-context rate limits were visible only in your own console, when the GPT-5.5, GPT-5.4 and GPT-5.4 Pro pages publish them behind a switch. None of these corrections involved a change on OpenAI's side, and each is recorded with the same weight as an upstream price change. What we could not confirm explains why this one mistake keeps recurring in different forms.

What this table is not

This isn't a claim to have caught every change the moment it happened — a re-verification schedule catches drift on the schedule it runs, not instantaneously. A model release between this site's weekly checks could ship a change that goes unrecorded here for up to that interval. What this table is a claim to is honesty about what's been caught and when, rather than a static reference that implies nothing has ever moved.

Why this matters for anyone planning around published figures

A number's staleness risk isn't visible from the number itself — a price sitting on a page looks exactly the same whether it was checked yesterday or many months ago. This running record, alongside the verified-on date on every individual fact, is this site's attempt to make that invisible risk visible: not just "here's the current price" but "here's how often prices like this one have actually moved," which is the information that should decide how much slack to build into a budget planned against it. This season is the argument in miniature: a team that priced a workload against GPT-5.6 Sol in early summer has since seen that model's price cut, a floor date announced for the cut, a new CLI default arrive in its place, and an entire new generation launch — all within a single quarter.

What a genuinely stable figure looks like against this record

Not everything moves. Batch is still priced at a flat 50% below Standard for every model that offers it, and Flex still matches Batch row for row — both held through every re-check so far, including the arrival of an entire new model generation. The tier structure itself did not hold: Ultrafast is a genuinely new tier above Fast, not a rename of anything that existed before — and the usage-tier ladder was rebuilt outright in October. That contrast is the useful part. A figure re-verified repeatedly without ever changing is a different, more reliable kind of "current" than one checked once, and a structure that looked settled for months can still gain a new layer in a single release.

How to use this page alongside the rest of the site

Treat this less as a page to read cover to cover and more as a place to check when something about a model's behavior or price feels different from what you remember planning around — a quick scan here can confirm whether a change actually happened upstream, or whether the discrepancy is worth reporting as something this site's own re-verification hasn't caught yet. Either way, that's more useful than trying to recall from memory whether a number always looked like this, which is exactly the kind of recollection this whole site exists to replace with a checked, dated record.

A closing note on what "running" actually commits to

Calling this a running table is a promise, not just a description — it commits this site to keep adding to it rather than letting it freeze at whatever it happened to contain on the day it was first published. A pricing history that stops updating quietly becomes as misleading as a single stale figure would be, just at a larger scale, and the same weekly discipline that keeps individual fact entries current is what keeps this page honest too.

Verified 2026-10-28 against CodexHow facts module (src/data/facts/) — see /about/#accuracy.