Selecting a model
Interactive model picker
Run/model with no arguments to open the interactive model selection menu. Use arrow keys to pick a model and, for supported models, adjust the effort level.
Set model directly
Pass the model name or alias as an argument:default resets the session to the configured default model.
Persist a model in settings
To use a specific model in every session, setmodel in your user or project settings:
~/.claude/settings.json
Model aliases
Claude Code recognizes short aliases that always resolve to the latest recommended version of that model family:| Alias | Resolves to |
|---|---|
sonnet | Latest Claude Sonnet |
opus | Latest Claude Opus |
haiku | Latest Claude Haiku |
best | Best available model |
sonnet[1m] | Claude Sonnet with 1M context |
opus[1m] | Claude Opus with 1M context |
opusplan | Opus model used in plan mode |
utils/model/aliases.ts and are resolved at session start. Using an alias means your configuration follows model updates automatically.
Extended context (
[1m]) models require account access. Claude Code will show an error if your account does not have access when you attempt to select one.Effort levels
Effort controls how deeply the model reasons before responding. Not all models support the effort parameter — it is currently available onclaude-opus-4-6 and claude-sonnet-4-6.
Available levels
low
Quick, straightforward implementation with minimal overhead. Best for simple edits and fast iteration.
medium
Balanced approach with standard implementation and testing. The recommended default for most tasks.
high
Comprehensive implementation with extensive testing and documentation. Used when thoroughness matters.
max
Maximum capability with deepest reasoning. Opus 4.6 only. Session-scoped — not persisted to settings for external users.
Set effort via command
Use/effort to change the effort level for the current session:
Persist effort in settings
Persist an effort level insettings.json using the effortLevel key:
Effort precedence
The effort value applied to each API call follows this precedence chain:CLAUDE_CODE_EFFORT_LEVEL=unset in your environment disables the effort parameter entirely, letting the API apply its own default.
Default effort by model
Default effort levels are determined at runtime and vary by subscription type:- Opus 4.6 + Pro subscription: defaults to
medium - Opus 4.6 + Max/Team (when configured): defaults to
medium - Other supported models: no default (API applies
highinternally)
Enterprise model controls
Administrators can restrict which models are available to users via theavailableModels setting in managed settings:
managed-settings.json
availableModels array restricts users to only the default model.
Model IDs can also be remapped to provider-specific identifiers (e.g. Amazon Bedrock ARNs) via modelOverrides:
managed-settings.json