Direct answer
The term Claude Code models refers to the Claude model families and versions that power a Claude Code session. Start with default or sonnet for ordinary coding. Test opus for difficult reasoning, haiku for simple scoped work, and best or fable for the hardest long-running work when your account permits them.
Claude Code models quick guide
- default
- clears an override and uses the recommendation for your account or organization.
- best
- uses Fable 5 when available, otherwise the latest Opus model.
- fable
- intended for the hardest and longest-running tasks.
- sonnet
- the latest Sonnet model for daily coding work.
- opus
- the latest Opus model for complex reasoning.
- haiku
- a fast, efficient option for simple tasks.
- sonnet[1m] or opus[1m]
- extended-context aliases for supported long sessions.
- opusplan
- Opus while planning, then Sonnet during execution.
Alias targets differ by provider and update over time. The current official table should be the source of truth. Use a full model name only when reproducibility or provider deployment requires a pinned version.
Start from the task. Set a model and effort, run one representative job, measure the result, review the changes, and standardize from evidence.
Start with default or Sonnet
The default option follows the recommended model for the account type unless an organization default applies. Sonnet is the documented choice for daily coding tasks. Both reduce the need to maintain a version number in personal settings.
- Routine feature implementation with clear acceptance criteria.
- Bug fixes with a bounded cause and test path.
- Repository exploration that does not need the deepest reasoning tier.
- Refactoring with established patterns and verification.
- Interactive work where latency and cost matter.
Use Opus for difficult reasoning
Anthropic positions Opus for complex reasoning and architectural decisions. It may fit ambiguous debugging, risky migrations, cross-system design, or a plan with many dependencies. Higher capability does not remove the need for evidence, approval, and tests.
Do not switch every task to Opus by default. Compare it with Sonnet on the same brief and repository state. Count accepted outcomes, review corrections, elapsed time, token cost, and defects found after the session.
Is Fable suitable for work larger than one sitting?
Current Claude Code documentation describes Fable 5 as the most capable option for long autonomous sessions and difficult investigation. It is not the default. Account access, Claude Code version, zero-data-retention settings, and safety routing can affect availability.
A suitable evaluation task might be a root-cause investigation, outage analysis, or large architecture decision with clear success criteria. Give the desired outcome, boundaries, approvals, and evidence required at completion.
Reserve Haiku for simple, scoped tasks
Haiku is the fast and efficient family alias. Suitable trials include classification, concise summaries, mechanical checks, and small subagent jobs. Test it before assigning tasks where subtle reasoning or broad repository context matters.
What does opusplan do?
The opusplan setting uses the Opus alias during Plan Mode and the Sonnet alias during execution. This separates complex planning from routine implementation without requiring a manual switch at the mode boundary.
The aliases still resolve through the active provider and organization policy. Verify the actual models with the model picker or status information. Treat the plan as a proposal and review the resulting changes.
How do you switch Claude Code models?
Run /model inside a session to open the picker or select a model by name. Start a new session with claude --model followed by an alias or full model name. The model setting can provide a saved default.
- Current session
- run /model and choose an available entry.
- One launch
- pass --model with an alias or recognized model name.
- Saved configuration
- set model in the appropriate settings scope.
- Automation
- pass a deliberate model through the supported CLI or SDK option.
- Current selection
- inspect /status or a configured status line.
The official CLI reference documents the --model flag and interactive session commands.
Understand model-setting precedence
A command-line flag or model environment override can supersede a saved setting for a launch. Managed settings and organization defaults can also shape the result. Organization allowlists or restrictions may hide, reject, or replace a requested model.
When the displayed model is unexpected, inspect the session status, launch arguments, relevant environment names, settings scopes, provider, account access, and organization policy. Do not print secret values while debugging configuration.
Model and effort are separate choices
Effort controls how adaptive reasoning trades token spend against capability on supported models. The current guide lists low, medium, high, xhigh, max, and the session-only ultracode option. Availability and defaults depend on the model.
- Low
- short, scoped, latency-sensitive work that is not intelligence-sensitive.
- Medium
- cost-sensitive work that can trade some intelligence for lower usage.
- High
- the documented balance for most supported models.
- Xhigh
- deeper reasoning with higher token spend.
- Max
- demanding tasks where testing justifies possible extra reasoning and overthinking.
- Ultracode
- a session-only Claude Code workflow setting with xhigh per-message reasoning.
Change effort with /effort, the model picker, a launch flag, supported settings, or the documented environment control. An environment value has high precedence. Confirm the active level in the session header.
The same effort label does not represent the same underlying value across every model. Benchmark the complete model-and-effort pair. Higher effort can add time and tokens without improving a simple task.
Does the task need a 1M context option?
Extended context may help a long session that genuinely needs more material than the ordinary window. Extra material can also increase irrelevant context and review burden. Use explicit files, good session boundaries, and compaction instead of loading everything.
Support varies by account, model, Claude Code version, and provider. The [1m] suffix has provider-specific behavior, and some newer models have a native one-million-token window. Confirm the current picker and documentation before relying on it.
Control cost before changing the default
Model price is only one part of engineering cost. Measure input, output, thinking, tool use, repeated context, review time, rejected edits, and defects. Clear unrelated sessions and keep MCP or other tool overhead relevant to the task.
Pin a model version for reproducibility
Aliases are useful when the team wants Anthropic's current recommendation. Pin a full model identifier when a tested workflow, regulated process, provider rollout, or reproducible automation requires controlled change.
- Record the provider and exact model identifier.
- Test the replacement against a stable evaluation set.
- Document pricing, context, effort, and tool assumptions.
- Plan deprecation warnings and an upgrade owner.
- Verify provider access before organization rollout.
- Keep a fallback and rollback path where supported.
Third-party providers use their own identifiers and may expose different versions. The official guide advises pinning model versions for Bedrock, Google Cloud, Microsoft Foundry, and Claude Platform on AWS before broad rollout.
What can cause a model to change during work?
Configured fallback chains can respond to overload or unavailability. Safety routing can also move supported requests to another model or refuse them. Organization restrictions and provider availability may replace an initial selection.
Read the session notice before comparing results. A fallback means the original and final models may differ. Record that event in benchmarks and investigate policy or provider behavior before treating it as a quality change.
Run a useful Claude Code model benchmark
- Choose three representative tasks with fixed repository states.
- Write acceptance criteria and forbidden changes before each run.
- Keep tools, context, permissions, and prompts consistent across candidates.
- Record model, effort, provider, version, fallbacks, time, and usage.
- Review correctness, scope, tests, maintainability, and security blind spots.
- Repeat enough runs to avoid choosing from one lucky result.
- Adopt the smallest capable option and schedule a future review.
In summary
Use default or Sonnet for ordinary Claude Code work, then test stronger or faster families against a real need. Pair the model with an intentional effort level. Pin versions only when reproducibility outweighs automatic alias updates.
Frequently asked questions
The Default entry resolves to the recommendation for the account type or an organization default. That result can change, so inspect /model or /status in the active environment.
No universal result applies. Official guidance positions Sonnet for most coding and Opus for complex reasoning. Benchmark the task, effort, cost, latency, and review burden that matter to your team.
Yes. The haiku alias selects the current fast and efficient Haiku option. Simple scoped work and subagents may fit it, subject to account and organization configuration.
The --model flag selects a model for that launch. A saved default can come from the model setting or supported /model behavior, subject to higher-precedence configuration.
Use an alias for a maintained family recommendation. Use a full name when a tested deployment or repeatable automation must stay on one version. Monitor deprecation and plan upgrades.
