[BUG] model field in project-level .claude/settings.json not respected by VSCode extension — falls back to Sonnet 4.6
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?
The model field in a project-level .claude/settings.json is being ignored when using the Claude Code VSCode extension. The session loads with claude-sonnet-4-6 despite the project settings explicitly specifying claude-opus-4-6.
Environment:
Claude Code version: 1.111.0
Platform: macOS (darwin 25.4.0, arm64)
Interface: VSCode native extension
Global settings (~/.claude/settings.json): {} (empty — no override)
Project settings at .claude/settings.json:
{
"model": "claude-opus-4-6",
...
}
Workaround:
Launching from the terminal with claude --model claude-opus-4-6 works correctly.
What Should Happen?
Expected behavior:
Claude Code should use claude-opus-4-6 as specified in the project-level settings, per the documented scope precedence (project > user).
Actual behavior:
The session starts with claude-sonnet-4-6. The injected environment info in the session explicitly confirms the model as Sonnet 4.6 despite the project setting.
Error Messages/Logs
Steps to Reproduce
Steps to reproduce:
Create .claude/settings.json in a project root with "model": "claude-opus-4-6"
Ensure ~/.claude/settings.json is empty ({})
Open the project in VSCode and start a Claude Code session via the extension
Ask Claude which model it is running — it reports Sonnet 4.6
Claude Model
Opus
Is this a regression?
Yes, this worked in a previous version
Last Working Version
_No response_
Claude Code Version
1.111.0
Platform
Anthropic API
Operating System
macOS
Terminal/Shell
Terminal.app (macOS)
Additional Information
_No response_
This issue has 3 comments on GitHub. Read the full discussion on GitHub ↗