Switching from Sol to the Codex Model
This migration — moving Codex work off a Sol model and onto GPT-5.3 Codex, the model named for Codex — used to be the decision this whole site was built around. Two things have narrowed it. GPT-5.3 Codex is now deprecated in Codex when you sign in with ChatGPT, so in practice this is a move only API-key users can make — and since October 1, 2026 it's deprecated on the API too, shutting down on April 1, 2027, so even they can make it only for work that will move again before then. And the Sol it's measured against changed: the CLI's default is now GPT-6.1 Sol, which prices differently from the GPT-5.6 Sol this page was written about.
Which Sol you're leaving matters
Against GPT-5.6 Sol, GPT-5.3 Codex is cheaper on every published price cell — uncached input, cached input and output — even at Sol's current promotional rates. Against GPT-6.1 Sol, the picture splits: GPT-5.3 Codex is cheaper per uncached input token, but dearer per cached input token and per output token. Agentic sessions re-send large cached contexts and spend heavily on reasoning output, so from the current default this move often costs more, not less. Price both against your own token mix with the token cost estimator before assuming the Codex model is the budget option.
The immediate, visible changes
The context window shrinks to a fraction of Sol's, which matters for exactly the sessions that lean on Sol's headroom: a run that accumulates file contents and long histories hits the smaller ceiling sooner. The knowledge cutoff moves back by several months — check it against tasks that depend on recent libraries or APIs. The rate-limit table stays the same row for row, so throughput isn't part of the trade, and the output ceiling is identical.
What used to be the reason to switch
This page once argued that GPT-5.3 Codex offered reasoning-effort control that Sol didn't publish. That was wrong: Sol's page lists its effort levels too, in a sentence this site's scraper couldn't parse. Today the difference runs the other way. Sol models accept a wider range — GPT-5.6 Sol goes from none to max, GPT-6.1 Sol from low to max — while GPT-5.3 Codex accepts low through xhigh and marks no default. If fine-grained effort control is what you were after, staying on Sol gives you more of it.
The one thing that goes from known to unknown
Sol models publish the long-context repricing rule; GPT-5.3 Codex's page doesn't state it either way, and the pricing page carries no long-context band for it. This site records that as not published rather than assuming Sol's rule carries over. The smaller window reduces how often you'd approach the threshold, but if your budgeting relied on knowing exactly where the cliff sits, that certainty goes away.
What disappears from the price list
No Batch or Flex price is published for GPT-5.3 Codex, and no cache-write rate — only Standard and Fast. A workflow that moved overnight jobs onto Batch on a Sol model loses that discount entirely here.
Reasoning eats into the smaller window
Reasoning tokens are billed as output, and they also occupy context while a response is being produced — OpenAI's reasoning guide advises leaving room in the window for them. At high effort on hard problems that reserve can be large, so a session on GPT-5.3 Codex's smaller window reaches its limit sooner than its visible transcript suggests. Living with the smaller window means compacting with /compact, starting fresh sessions more often, and keeping effort no higher than the task needs.
Caching runs on the older rules
GPT-5.3 Codex predates the caching changes that arrived with GPT-5.6. It has no separate cache-write rate — written tokens bill at its ordinary input rate — and it uses the older retention setting rather than the newer lifetime option. For a workload that writes many short-lived prefixes, that's a small point in its favor. For one that rereads a large cached context every turn, compare cached-input rates directly: the current default's are lower than GPT-5.3 Codex's, while GPT-5.6 Sol's are higher.
Measure before committing
The most useful step before this migration is checking how close your typical sessions get to the smaller window, using the context-window planner. A session that fits comfortably under Sol may not fit at all after the switch, and finding that out mid-task is the worst place to discover it.
Making the switch
With an API key, /model changes the active model for one session — the right way to trial the move on a single task. For a persistent choice, set model in config.toml, or pass -m to a single codex exec run. If you sign in with ChatGPT, expect GPT-5.3 Codex to be missing from the picker or on its way out, and don't build new workflows on it. In CI, set the model in the job definition rather than in anyone's personal config, so a trial on one pipeline doesn't quietly change what every other job runs.
Running the trial properly
Pick one recurring task — a category of bug fix, a kind of refactor you do often — and run it on GPT-5.3 Codex for a fortnight while everything else stays on the default. Compare turns per completed task and total cost per task, not price per token. If sessions take more turns, or regularly hit the smaller window, the window difference matters for that work, and staying on Sol is an informed decision rather than a failed migration.
Mixing models deliberately
Nothing forces an all-or-nothing choice. A team might keep interactive work on the default for its window and newer knowledge, and route one narrow, high-volume, small-context job to whichever model prices best for it — which, after this autumn's releases, is at least as likely to be GPT-6 Luna as GPT-5.3 Codex. Decide per workflow, and re-decide when the lineup moves again.
Verified 2026-10-28 against CodexHow facts module (src/data/facts/) — see /about/#accuracy.