[BUG] VS Code extension: model switching broken since 2.1.86
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 VS Code extension does not respond to /model opus command and there is no way to switch to Opus model from the extension UI. The CLI version works fine and switches to Opus successfully, but the extension always uses Sonnet 4.5 regardless of settings.
Timeline:
- Extension version 2.1.87 was released ~2 hours ago
- This appears to be a regression - model switching may have broken in recent releases
What I tried:
/model opuscommand in VS Code extension chat → no response, command appears to be ignored- Added
"claudeCode.selectedModel": "opus"to settings.json → no effect, still Sonnet 4.5 - Added
"claudeCode.selectedModel": "claude-opus-4-6"→ no effect - Added
"claudeCode.selectedModel": "opus[1m]"(from issue #35789 workaround) → no effect - Reloaded VS Code window multiple times
- CLI
/model opus→ works perfectly, switches to Opus
Current state:
- CLI: model switching works ✅
- VS Code extension:
/modelcommand not available, settings don't work ❌ - Extension always uses
claude-sonnet-4-5-20250929regardless of settings
What Should Happen?
/model opuscommand should work in VS Code extension (same as CLI)- OR there should be a UI control to switch models
- OR
claudeCode.selectedModelsetting should actually work
Model switching should be consistent between CLI and VS Code extension.
Error Messages/Logs
No error messages - /model opus command is silently ignored in VS Code extension.
Steps to Reproduce
- Open Claude Code extension in VS Code (version 2.1.87)
- Type
/model opusin chat - Observe that command is ignored (no response, no error)
- Try adding
"claudeCode.selectedModel": "opus[1m]"to VS Code settings.json - Reload window
- Ask Claude which model it's using → still Sonnet 4.5
Compare with CLI:
- Run
claudein terminal - Type
/model opus - Model switches to Opus successfully ✅
Claude Model
Sonnet (default) - cannot switch to Opus
Is this a regression?
Yes, this worked in a previous version
Last Working Version
Unknown - possibly before 2.1.87
Claude Code Version
2.1.87 (VS Code extension)
Platform
Anthropic API
Operating System
macOS Darwin 25.0.0
Terminal/Shell
VS Code integrated terminal
Additional Information
Related issues:
- #38331 - opposite problem (switches to Sonnet, gets Opus)
- #35789 - Default shows Opus but sets Sonnet (workaround doesn't help in 2.1.87)
- #33865 - VS Code extension ignores project-level model setting
The claudeCode.selectedModel setting is not documented in the extension's package.json configuration schema, which may explain why it's not working.
This issue has 9 comments on GitHub. Read the full discussion on GitHub ↗