Claude Code model configuration changes quickly. As of June 23, 2026, the important durable idea is to use aliases and task shape rather than hardcoding exact model identifiers everywhere.
Useful Aliases
Claude Code supports aliases such as:
defaultbestfablesonnetopushaikusonnet[1m]opus[1m]opusplan
As of the current documentation, opus maps to Opus 4.8 on the Anthropic API,
while Claude Platform on AWS, Amazon Bedrock, Google Vertex AI, and Microsoft Foundry can resolve
the same alias differently. sonnet maps to Sonnet 4.6 on the Anthropic API
and Claude Platform on AWS, and Fable 5 is available for explicit
use when the account and retention policy allow it. Check provider-specific
model routing before making a team-wide rule.
Defaults
Claude Code defaults vary by account type and provider. That means “use the default model” is a reasonable personal workflow but a weak reproducibility claim. For team processes, specify the alias and date the guidance.
As of 2026-06-23, use `sonnet` for routine implementation and `opusplan` for
planning complex changes before execution.Opus Plan
opusplan uses Opus for planning and Sonnet for implementation. It is a good fit
when the hard part is design, not typing code. Ask for the plan first and review
it before allowing broad edits.
Effort and Context
Claude Code also supports effort controls such as /effort and large-context
aliases such as sonnet[1m] and opus[1m]. Larger context is not automatically
better. It is useful when the task depends on many files, long logs, or generated
artifacts. It is wasteful when a targeted test and two source files define the
answer.
Fallback Chains
Use fallback models for reliability:
claude --model opus --fallback-model sonnetFallbacks are operational policy. They should preserve the intent of the task, not silently downgrade a security review into a cheap rewrite.