[BUG] Desktop app automatically switches model from Opus to Sonnet via /model command (Max subscription)
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?
On Claude Desktop app (macOS) with Max subscription, the model is frequently and automatically switched from Opus 4.6 (1M context) back to Sonnet.
Critically, this is not just a UI display issue — a /model command is automatically sent in the conversation, producing the message "Set model to claude-sonnet-4-6". The user did not initiate this command. This started after a recent update around March 25-27, 2026.
Steps to Reproduce
Scenario 1: Switching between Code and Chat tabs
- Select Opus from the model dropdown in Code tab
- Switch to the Chat tab
- Switch back to the Code tab
- A
/modelcommand is automatically sent, switching the model to Sonnet
Scenario 2: Navigating to Settings/Usage
- Select Opus from the model dropdown
- Click the avatar (bottom-left) → view Usage / Settings
- Navigate back to the conversation
- Model has reverted to Sonnet
Scenario 3: During normal usage
- Select Opus from the model dropdown
- Use Claude Code for a while
- The model silently switches back to Sonnet without any user action on the model selector
The issue is intermittent — it does not happen every single time, but frequently enough to be disruptive.
What Should Happen?
Model selection should persist as Opus until the user explicitly changes it. No /model command should be sent without user action.
Error Messages/Logs
No error messages. A /model command is automatically triggered, returning "Set model to claude-sonnet-4-6".
Claude Model
Opus 4.6 (1M context) — model ID: claude-opus-4-6[1m]
Is this a regression?
Yes, this started around March 25-27, 2026.
Claude Code Version
Desktop app version: 1.1.9310
Platform
Anthropic API
Operating System
macOS 26.4 (Build 25E246)
Terminal/Shell
N/A (using Claude Code within Desktop app)
Additional Information
~/.claude/settings.jsonhas"model": "claude-opus-4-6[1m]"configured, but does not prevent the reset- Users may not notice the silent switch, ending up using Sonnet unintentionally
13 Comments
Found 3 possible duplicate issues:
This issue will be automatically closed as a duplicate in 3 days.
🤖 Generated with Claude Code
This is not a duplicate of the listed issues.
I have the same issue.
Bug Report: Model switches from Opus 1M to Sonnet mid-session without user action
Description
While using Claude Code with Opus 4.6 (1M context), the model spontaneously switches to claude-sonnet-4-6 mid-session without any user-initiated
/modelcommand. The/modelcommand and "Set model to claude-sonnet-4-6" appear in the conversation transcript, but the user did not issue this command.Steps to Reproduce
Observed Behavior
/modelcommand appears in the conversation mid-streamExpected Behavior
The model should never switch without explicit user action. If a model switch occurs, it should require user confirmation before taking effect.
Impact
This is a high-severity issue for users relying on Opus for complex, context-sensitive work:
Environment
Update 31-Mar-2026
Switch happened silently (we were in 'lean' chat mode to preserve context). Screenshot below.
<img width="1138" height="1099" alt="Image" src="https://github.com/user-attachments/assets/76ba92d4-0d8d-4e8f-ae97-bd836658fb47" />
Same issue on windows 11
Having same issue on windows 10
Did anybody notice that when this happen, it uses 8% usage on the 5-hour limits (I was having 260K context during the switch bug)? I did not notice the model changes and each message I sent triggered model switch and each message cost 8% which amounted to 33% in 4 messages which is in LESS than 10 minutes. This is on Max100 plan.
I noticed the ~/.claude/.credentials.json file has subscriptionType: pro. I originally installed claude code desktop while on the pro plan and then subsequently upgraded. Thinking this might be the issue, i did a fresh uninstall (of both claude code and claude desktop), deleted the ~/.claude folder, and did a fresh re-install.
subscriptionType is now properly set to max. But it did not fix the issue.
At this point I am paying for a Max subscription but being forced to use the Sonnet model. That too, without notification of model change.
same on macos26
same, max x20 plan, win 11 desktop app.
Looking into this but I'm unable to reproduce the issue. The latests desktop version is
Claude 1.1.9669 (aea25d) 2026-03-30T20:17:34.000Z. If you're able to reproduce on that version then it'd be helpful for you to email meamorriscode[at]anthropic.comwith the results of/exportas well as the desktop logs (Help -> Troubleshooting -> Show Logs in Finder).I am on Claude 1.1.9669. I am not a technical expert; so I had Claude look into the logs. He said:
11 confirmed Opus→Sonnet model switches in main.log alone (March 29–31), plus 3 more in main1.log (March 28–29)
Every single switch follows the same pattern: sendMessage → setModel: claude-sonnet-4-6 → setFocusedSession: null
The session loses focus at the exact moment of the switch — that setFocusedSession: null is a consistent fingerprint
One exception: March 30 07:47 switched to Sonnet, then 9 minutes later manually switched back to Opus (07:56:16)
I had him pull the logs for me, and I will send them to you via email.
Should get fixed in the next release, thanks for the logs!
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.