[BUG] /model default resolves to Opus 4.7 but UI picker shows Default = Sonnet 4.6

Status Fixed / completed
Reported on v2.1.92
Maintainer reply None cached
Activity 3 comments · opened Apr 18, 2026 · closed Apr 20, 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?

switch model UI in VSCode extension mentions Sonnet as default, but sets to Opus 4.7

What Should Happen?

If default says it Sonnet 4.6, then it should switch model to Sonnet 4.6

Error Messages/Logs

Steps to Reproduce

open switch model ui and choose default - check in chat extension the model it switches to

Claude Model

None

Is this a regression?

Yes, this worked in a previous version

Last Working Version

_No response_

Claude Code Version

2.1.92 (Claude Code)

Platform

Anthropic API

Operating System

macOS

Terminal/Shell

Cursor

Additional Information

_No response_

View original on GitHub ↗

3 Comments

github-actions[bot] · 5 months ago

Found 3 possible duplicate issues:

  1. https://github.com/anthropics/claude-code/issues/35789
  2. https://github.com/anthropics/claude-code/issues/43261
  3. https://github.com/anthropics/claude-code/issues/45978

This issue will be automatically closed as a duplicate in 3 days.

  • If your issue is a duplicate, please close it and 👍 the existing issue instead
  • To prevent auto-closure, add a comment or 👎 this comment

🤖 Generated with Claude Code

0xbrainkid · 5 months ago

/model default resolving to Opus 4.7 while the VS Code extension UI picker labels Default as Sonnet 4.6 is an agent identity display mismatch — the user selects what they believe is "Sonnet 4.6 (default)" but the agent actually runs as Opus 4.7. The model that executes differs from the model the user believes they selected.

This is the same class of silent model substitution documented in:

  • #49006: Opus thinking effort reduced without disclosure
  • #49076: /model persists effortLevel to settings.json as side effect
  • #50363: Scheduled tasks always run Sonnet regardless of UI selection

In all cases, the declared model configuration and the actual runtime model diverge without notification.

The three possible root causes:

  1. The UI label is stale. The VS Code extension UI still shows "Sonnet 4.6" as the label for Default, but the server has changed the actual default to Opus 4.7. The UI needs to be updated to reflect the current server-side default.
  1. The /model default command and the UI picker are reading from different sources. The CLI command reads the current server default; the UI reads a cached/hardcoded label. They need to read from the same source.
  1. The "default" is being overridden by a stored model preference. If a previous session set Opus 4.7 as the active model and the setting persisted (related to #49076), /model default may be returning the persisted model rather than the actual default.

The fix: The "Default" option in the model picker should display the actual current default model identifier, not a hardcoded label. When the user selects Default, the agent should start on whatever model the current default is, and the UI should confirm which model that is.

github-actions[bot] · 5 months ago

This issue has been automatically locked since it was closed and has not had any activity for 7 days. If you're experiencing a similar issue, please file a new issue and reference this one if it's relevant.