[BUG] When starting Claude Code, it does not honor model setting in ~/.claude/settings.json
Preflight Checklist
- [x] I have searched existing issues and this hasn't been reported yet
- [x] This is a single bug report (please file separate reports for different bugs)
- [x] I am using the latest version of Claude Code
What's Wrong?
Bug Report: Model setting in ~/.claude/settings.json not being respected
Expected Behavior:
When "model": "opus" is set in ~/.claude/settings.json, Claude Code should use Claude Opus 4.5 (model ID: claude-opus-4-5-20251101).
Actual Behavior:
Claude Code is using Sonnet 4.5 (model ID: claude-sonnet-4-5-20250929) instead, ignoring the configured model preference.
Configuration:
Settings file location: ~/.claude/settings.json
{
"statusLine": {
"type": "command",
"command": "/bin/bash /home/node/.claude/statusline.sh"
},
"enabledPlugins": {
"feature-dev@claude-code-plugins": true,
"frontend-design@claude-plugins-official": true,
"plugin-dev@claude-plugins-official": true
},
"alwaysThinkingEnabled": true,
"model": "opus"
}
Evidence:
When asked about the current model, Claude reports:
- Current model: Sonnet 4.5
- Model ID:
claude-sonnet-4-5-20250929 - Expected model: Opus 4.5 (
claude-opus-4-5-20251101)
Environment:
- Platform: Linux running inside a Docker container, uname -a output is:
Linux c57776e067c1 6.1.0-42-amd64 #1 SMP PREEMPT_DYNAMIC Debian 6.1.159-1 (2025-12-30) x86_64 Linux
- Claude Code version: 2.1.12
Impact:
Users cannot control which model they use for their sessions at startup time despite having a configuration option for it.
What Should Happen?
Claude should start using the model selected in ~/.claude/settings.json model setting.
Error Messages/Logs
Steps to Reproduce
- Start claude code as usual:
$ claude
It starts with the Sonnet model.
- Select model using the
/model opuscommand.
The ~/.claude/settings.json file is modified to specify the opus model.
- Exit clause code using
/exit - Restart claude code:
$ claude
It starts with the Sonnet model.
Claude Model
None
Is this a regression?
I don't know
Last Working Version
_No response_
Claude Code Version
2.1.12
Platform
Anthropic API
Operating System
Ubuntu/Debian Linux
Terminal/Shell
Other
Additional Information
~/.claude/settings.json:
{
"statusLine": {
"type": "command",
"command": "/bin/bash /home/node/.claude/statusline.sh"
},
"enabledPlugins": {
"feature-dev@claude-code-plugins": true,
"frontend-design@claude-plugins-official": true,
"plugin-dev@claude-plugins-official": true
},
"alwaysThinkingEnabled": true,
"model": "opus"
}
This issue has 3 comments on GitHub. Read the full discussion on GitHub ↗