[BUG] VS Code extension: model switching broken since 2.1.86

Resolved 💬 9 comments Opened Mar 29, 2026 by malinindev Closed Apr 17, 2026

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:

  1. /model opus command in VS Code extension chat → no response, command appears to be ignored
  2. Added "claudeCode.selectedModel": "opus" to settings.json → no effect, still Sonnet 4.5
  3. Added "claudeCode.selectedModel": "claude-opus-4-6" → no effect
  4. Added "claudeCode.selectedModel": "opus[1m]" (from issue #35789 workaround) → no effect
  5. Reloaded VS Code window multiple times
  6. CLI /model opus → works perfectly, switches to Opus

Current state:

  • CLI: model switching works ✅
  • VS Code extension: /model command not available, settings don't work ❌
  • Extension always uses claude-sonnet-4-5-20250929 regardless of settings

What Should Happen?

  1. /model opus command should work in VS Code extension (same as CLI)
  2. OR there should be a UI control to switch models
  3. OR claudeCode.selectedModel setting 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

  1. Open Claude Code extension in VS Code (version 2.1.87)
  2. Type /model opus in chat
  3. Observe that command is ignored (no response, no error)
  4. Try adding "claudeCode.selectedModel": "opus[1m]" to VS Code settings.json
  5. Reload window
  6. Ask Claude which model it's using → still Sonnet 4.5

Compare with CLI:

  1. Run claude in terminal
  2. Type /model opus
  3. 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.

View original on GitHub ↗

This issue has 9 comments on GitHub. Read the full discussion on GitHub ↗