CodexHowSupport Us

Why Codex CLI Defaults to the General Model

Every model comparison on this site eventually circles back to one fact that still surprises people the first time they hear it stated plainly: the Codex CLI does not default to the model named for Codex. It defaults to a general model — GPT-6.1 Sol today, which took over from GPT-5.6 Sol this autumn. The Codex-branded model, GPT-5.3 Codex, documented as "optimized for agentic coding tasks in Codex or similar environments", is something you have to reach for deliberately, with /model or a config change. Nobody stumbles into using it by accident, which is a strange thing to be true of the model whose stated purpose is this exact tool.

The naming does real work against you

Names carry information, and "the CLI named Codex defaults to the model named Codex" is such a natural inference that it barely feels like an inference at all — it feels like a fact you already know before you've checked anything. That's precisely what makes this worth writing about: the wrong belief isn't the product of carelessness, it's the product of a reasonable prior that happens to be false. Nothing about the CLI's first-run experience corrects it either. You install, you run, you get an answer, and unless you read the startup banner or run /status, there's no moment where the assumption gets tested.

What OpenAI actually shipped, and why it's a defensible choice

Reading the decision charitably: OpenAI's naming treats a family's general-purpose model as the baseline and named variants — Codex, Cyber, Pro — as specialized departures from it. The unsuffixed gpt-5.6 id, for example, is a fixed alias for GPT-5.6 Sol, which OpenAI describes as roughly corresponding to "the unsuffixed model tier used in earlier GPT-5 families". Within that logic, defaulting the CLI to a general Sol model is consistent. And the specialized line has fallen behind: OpenAI's API changelog records no Codex-branded release since GPT-5.3 Codex, and that model is now deprecated in Codex for anyone who signs in with ChatGPT. The confusion isn't that OpenAI made an indefensible choice; it's that the CLI's own name sets an expectation its naming convention doesn't support.

Why this would matter less if the two models were closer substitutes

If the default and the Codex-branded model differed only trivially, this would be a footnote. They don't. GPT-6.1 Sol's context window is far larger than GPT-5.3 Codex's, and its knowledge cutoff is several months later. Price splits by direction rather than favoring either side: GPT-5.3 Codex is cheaper per uncached input token, while the default is cheaper per cached input token and per output token — and the default charges for cache writes, which GPT-5.3 Codex doesn't. The default publishes Batch and Flex prices; GPT-5.3 Codex publishes only Standard and Fast. These are differences that change how you'd budget and plan a workload, and GPT-6.1 Sol vs GPT-5.3 Codex lays them out cell by cell.

The difference this site used to get wrong

Earlier versions of this article said reasoning-effort control was published for exactly one of the two models — the Codex-branded one. That was this site's error, not OpenAI's: the Sol model pages list their effort levels too, in a sentence this site's scraper couldn't parse at the time. The real comparison runs the other way. GPT-6.1 Sol accepts effort from low up to max, with medium as its documented default, while GPT-5.3 Codex accepts low through xhigh and marks no default at all. If fine-grained control over how hard the model thinks is what drew you to the Codex model, the default now offers more of it. The reasoning effort reference lists every model's range.

The one axis that doesn't move

It's worth being precise about what doesn't change between the two, because it's what makes this a genuine tradeoff rather than a "one is strictly better" story: both models publish the same requests-per-minute and tokens-per-minute at every usage tier. Switching from the default to the Codex-branded model costs nothing in throughput. If the two differed in speed limits too, the decision would collapse into "pick whichever fits your budget." Because they don't, it stays a real trade — cost against context headroom against recency — with throughput held constant.

Why nobody else has written this down plainly

No single page of OpenAI's documentation puts these two models side by side and states the tradeoff. That's not a criticism of the documentation — a vendor's reference pages are organized around each model on its own terms, not around one tool's default behavior. But it leaves a real gap: a developer choosing between these two has to open separate pages, read both pricing tables, both context-window figures and both cutoff dates, and do the comparison themselves. Doing that comparison carefully, from the same primary pages, and keeping it current is exactly what an independent site can do that the vendor's documentation structurally doesn't.

The cliff that makes this more than an academic comparison

There's a further wrinkle. The default model publishes the long-context repricing rule — cross 272K input tokens and the entire request reprices, not just the excess. GPT-5.3 Codex's page doesn't state the rule either way, so this site records it as not published rather than assuming the rule carries over. For a workload that leans on the default specifically for its larger window, knowing where that threshold sits is part of knowing what the window is worth: a window you can't approach without a repricing penalty isn't quite the unqualified advantage the raw number suggests. The context-window planner shows where a session crosses it.

The default moves; the lesson doesn't

The default itself changed this autumn, and that's the other half of the story. A team that checked once, learned "the CLI runs GPT-5.6 Sol", and wrote that into a runbook is now wrong without having changed anything. The same goes for a config pinned to an alias in the belief that it follows the default — the unsuffixed alias never did. Check the banner or /status after every CLI upgrade, and see switching models with /model for making a choice stick.

A pattern worth watching for beyond this one case

Once you've internalized that a tool's default doesn't necessarily match its most on-the-nose-named option, it's worth extending that skepticism generally rather than treating this as a one-time correction. Naming conventions across a fast-moving product lineup are optimized for internal consistency, not for setting the expectations of someone meeting a single tool in isolation. The specific mismatch here — a coding CLI defaulting away from its own namesake model — is memorable because it's counterintuitive, but the lesson is general: verify a default rather than infer it from a name, a marketing description, or whatever would make the most satisfying story.

Why this site treats the comparison as its flagship

Every other page on this site computes something — a price, a break-even, a context-window budget. This comparison earns its place for a different reason: it changes how a reader should approach every other calculator here. Before you can meaningfully use the token cost estimator or the context-window planner, you need to know which model you're actually planning against, and for many Codex CLI users the honest answer to "which model am I using" is not the one their intuition supplies. Correcting that assumption is worth more, in practical terms, than any single computed number this site publishes.

What actually follows from all this

None of this is an argument that the CLI's default is wrong, or that everyone should switch to the Codex-branded model — especially now that it's on its way out for ChatGPT sign-in. It's an argument that the choice deserves to be made deliberately rather than inherited from a name that happens to point the wrong way. Check which model your session is actually running. Understand what you're trading if you switch. And treat the CLI's default the way you'd treat any tool's default setting: a reasonable starting point, not a verdict on what your specific task needs.

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