[BUG] `--model` flag silently ignored in interactive sessions (works in `--print` only)
Environment
- Claude Code v2.1.153 (native install)
- macOS Darwin 25.5.0 (zsh)
- Plan: Claude Team
Description
The --model <model> flag — documented as "Model for the current session" — is honored in --print (non-interactive) mode but silently ignored in interactive mode. The interactive session falls back to the user's default model regardless of what is passed.
Reproduction
# Non-interactive: --model is honored
$ claude --model 'claude-opus-4-6[1m]' --print "What is your exact model ID per your system prompt?"
claude-opus-4-6[1m]
# Interactive: --model is ignored, falls back to default
$ claude --model 'claude-opus-4-6[1m]'
# Banner shows: "Opus 4.7 (1M context) · Claude Team"
> What is your exact model ID per your system prompt?
> claude-opus-4-7[1m]
/model inside the interactive session also reports the default ("Kept model as Opus 4.7 (1M context) (default)"), confirming the --model arg never takes effect.
Expected
--model should set the model for the current interactive session, matching the documented help text and the behavior in --print mode.
Actual
Interactive sessions silently ignore --model and use the user's default model.
Impact
There is no way to launch an interactive session on a non-default model (e.g., Opus 4.6) without changing the global default first. The /model picker also no longer lists older models like Opus 4.6, so --model is the only documented route — and it doesn't work interactively.
Workaround
None for interactive use. --print mode honors --model correctly.
This issue has 1 comment on GitHub. Read the full discussion on GitHub ↗