Claude Code lets you choose which Claude model runs your session: type /model to open a picker, or /model opus, /model sonnet, /model haiku or /model fable to switch directly. On Pro, Max, Team and Enterprise plans and on the Anthropic API, the default is currently Opus 5.5, and you can change the model per session, per launch or permanently in settings.
Every fact below comes from Anthropic's model configuration docs, checked on 24 October 2026. Model versions move quickly, so treat the specific version numbers as a snapshot.
Which models can you use in Claude Code?
You can set the model with an alias or a full model name. Aliases are easier because they track the recommended version and update over time:
| Alias | What it does |
|---|---|
default |
Clears any override and returns to the default for your account type |
opus |
Latest Opus, for complex reasoning |
sonnet |
Latest Sonnet, for daily coding |
haiku |
The fast, efficient Haiku model, for simple tasks |
fable |
The Fable model for your provider, for the hardest and longest-running tasks |
best |
What fable resolves to where Fable is available to you, otherwise the same as opus |
opusplan |
Opus in plan mode, Sonnet for execution |
sonnet[1m], opus[1m] |
The same models with a 1 million token context window, for models that don't already have it |
On the Anthropic API, opus, sonnet and haiku resolve to Opus 5.5, Sonnet 5.5 and Haiku 5.5. Other providers can lag: on Amazon Bedrock and Google Cloud's Agent Platform, sonnet resolves to Sonnet 4.5 and haiku to Haiku 4.5, while opus is Opus 5.5. Microsoft Foundry maps opus to Opus 4.6. Unless you override it, fable resolves to Fable 5.1.
To pin an exact version instead of following an alias, use the full name, for example claude-opus-5-5, or set ANTHROPIC_DEFAULT_OPUS_MODEL. There are matching variables for sonnet, haiku and fable.
Newer models need a recent Claude Code. The docs list Opus 5.5 as requiring v2.1.280 or later, Sonnet 5.5 v2.1.284, Haiku 5.5 v2.1.293 and Fable 5.1 v2.1.257. Run claude update if a request fails with a "does not support this model" error.
How do you change the model in Claude Code?
There are five ways, listed in the docs in order of priority:
- During a session:
/model <alias|name>, or/modelalone for the picker. - At startup:
claude --model <alias|name>. - Environment variable:
ANTHROPIC_MODEL=<alias|name>. - Settings: the
modelfield in your settings file. - Default for new sessions:
ANTHROPIC_DEFAULT_MODEL=<alias|name>(v2.1.236 or later).
# start on Opus
claude --model opus
/model sonnet
The picker has a detail worth knowing. Pressing Enter switches and saves the model as your default by writing model to ~/.claude/settings.json. Pressing s switches for this session only. Typing /model <name> behaves like Enter.
--model and ANTHROPIC_MODEL only apply to the session you launch with them. The docs suggest launching each terminal with its own --model flag if you want different models running side by side, rather than switching with /model.
A settings file entry looks like this:
{
"model": "opus"
}
To check what you are on, run /status, which also shows your account information, or add the model to your status line.
What is the default model on each plan?
The default setting resolves by account type:
| Account | Default model |
|---|---|
| Pro, Max, Team, Enterprise, Anthropic API | Opus 5.5 |
| Claude Platform on AWS, Amazon Bedrock, Google Cloud's Agent Platform | Opus 5.5 |
| Microsoft Foundry | Sonnet 4.5 |
This changed recently. Before v2.1.280, the docs say default resolved to Sonnet 5 on Pro and Team Standard, and to Opus 5 on Max, Team Premium, Enterprise and the API. If an admin set an organization default model, default uses that instead.
Fable models are never the default on any plan or provider. You have to select one, for example with /model fable or claude --model fable. Depending on your plan and seat tier, Fable usage can bill to usage credits rather than your plan's included limits; the picker marks this with "Requires usage credits," and interactive sessions ask before billing (Enterprise members with organization billing don't see the prompt). One catch for scripts: in non-interactive -p mode, Claude Code never asks and bills credits without a prompt. See the Claude Code pricing guide for plan details.
What is opusplan and when should you use it?
opusplan is a hybrid alias. In plan mode it uses opus "for complex reasoning and architecture decisions," and in execution mode it "automatically switches to sonnet for code generation and implementation."
It fits a workflow where you spend time agreeing on a plan, then let Claude implement it. You get Opus thinking through the design and Sonnet writing the code. Set it like any alias:
/model opusplan
Each phase uses the same context window as its model. On the Anthropic API, current Opus and Sonnet models already run with a 1M window, so both phases get it. Where they don't, opusplan[1m] requests 1M for both.
How do effort levels work with Claude Code models?
Effort controls how much the model reasons on each step. Lower is faster and cheaper; higher is deeper. Levels depend on the model:
| Model | Levels | Default |
|---|---|---|
| Opus 5.5, Sonnet 5.5, Haiku 5.5 | low, medium, high, xhigh, max |
medium |
| Fable 5.1, Fable 5, Opus 5, Sonnet 5, Opus 4.8 | low, medium, high, xhigh, max |
high |
| Opus 4.7 | low, medium, high, xhigh, max |
xhigh |
| Opus 4.6, Sonnet 4.6 | low, medium, high, max |
high |
Change it with /effort, the left and right arrows in the /model picker, --effort at launch, or CLAUDE_CODE_EFFORT_LEVEL. Claude Code saves the level per model. If you set a level a model doesn't support, it falls back to the highest supported level below it.
The docs recommend starting Opus 5.5 at medium rather than carrying over a higher level from Opus 5, noting that in Anthropic's testing "Opus 5.5 at medium matches or exceeds Opus 5 at high on coding and knowledge-work evaluations." For one hard turn without changing the session, include ultrathink in your prompt. The ultrathink guide covers effort and thinking in depth.
Which model do subagents and fallbacks use?
Subagents. A subagent's model comes from, in order: the model Claude passes when it starts it, the model field in its definition (inherit means the main conversation's model), the CLAUDE_CODE_SUBAGENT_MODEL variable, and finally the main conversation's model. Switching with /model therefore also reaches subagents that inherit. If you want a custom subagent to stay on a smaller model, set model: haiku in its file. The subagents docs explain the rest, and the Claude Code subagents guide shows example definitions.
Fallback chains. When the primary model is overloaded or unavailable, Claude Code can switch to a fallback for that turn:
claude --fallback-model sonnet,haiku
To keep a chain, set fallbackModel as an array in settings. Chains are capped at three models. Authentication, billing and rate-limit errors never trigger a switch.
Why does Claude Code start on a different model than you picked?
The docs list the usual causes:
- You chose it for one session. Pressing
sin the picker, launching with--model, or using/modelin-pmode leaves your saved default alone. - Something with higher priority sets it. A
modelin project or managed settings,ANTHROPIC_MODELin your shell, or an organization default. The startup header names the settings file when a project or managed setting is responsible. - Your settings file isn't writable.
/modelwrites to~/.claude/settings.json; if another tool generates that file, the change lasts only for the session. - You resumed a session.
--resumeand--continueusually keep the model the session was saved with.
Admins can also restrict choices with availableModels in managed settings, which applies to /model, --model, subagent models and more.
Keep your model-specific prompts together
Prompts often get tuned to a model: a planning brief for Opus, a short checklist for Haiku subagents. Kipt keeps prompts like these as Markdown in a private GitHub repo you own, tagged and searchable with Cmd+K, with {{name}} blanks for the file or task. A brief you reuse every session can become a skill with the free SKILL.md generator, and a skill can set its own model and effort in frontmatter.