[BUG] Desktop app automatically switches model from Opus to Sonnet via /model command (Max subscription)

Status Fixed / completed
Maintainer reply ✓ Yes — amorriscode
Activity 13 comments · opened Mar 28, 2026 · closed Apr 1, 2026
💡 Likely answer: A maintainer (amorriscode, contributor) responded on this thread — see the highlighted reply below.

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

  1. Select Opus from the model dropdown in Code tab
  2. Switch to the Chat tab
  3. Switch back to the Code tab
  4. A /model command is automatically sent, switching the model to Sonnet

Scenario 2: Navigating to Settings/Usage

  1. Select Opus from the model dropdown
  2. Click the avatar (bottom-left) → view Usage / Settings
  3. Navigate back to the conversation
  4. Model has reverted to Sonnet

Scenario 3: During normal usage

  1. Select Opus from the model dropdown
  2. Use Claude Code for a while
  3. 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.json has "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

View original on GitHub ↗

13 Comments

github-actions[bot] · 5 months ago

Found 3 possible duplicate issues:

  1. https://github.com/anthropics/claude-code/issues/36799
  2. https://github.com/anthropics/claude-code/issues/36603
  3. https://github.com/anthropics/claude-code/issues/36351

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

cypherair · 5 months ago

This is not a duplicate of the listed issues.

  • #36799, #36603, #36351 are about the 1M context option reverting to 200K or disappearing from the dropdown.
  • This issue is about the model being automatically switched from Opus to Sonnet without user action.
pbarbiero1 · 5 months ago

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 /model command. The /model command and "Set model to claude-sonnet-4-6" appear in the conversation transcript, but the user did not issue this command.

Steps to Reproduce

  1. Start a Claude Code session with Opus 4.6 (1M context)
  2. Work on a multi-step task involving agent tool calls
  3. During active agent work, the model switches to Sonnet without user action

Observed Behavior

  • The /model command appears in the conversation mid-stream
  • The model switches from claude-opus-4-6 (1M context) to claude-sonnet-4-6
  • The session continues under Sonnet without any warning or user confirmation
  • This happened twice in a single day (2026-03-29), both times during active Opus agent work

Expected 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:

  • Sonnet inherits the conversation but operates with different capabilities and judgment
  • Context compaction behavior differs between models
  • Work completed after the unintended switch may need to be redone
  • Users may not notice the switch happened until after damage is done

Environment

  • Platform: Windows 11 Pro
  • Claude Code (desktop app)
  • Model: claude-opus-4-6 [1M context]
  • Date: March 29, 2026

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" />

marartur · 5 months ago

Same issue on windows 11

vksadarangani · 5 months ago

Having same issue on windows 10

Rift73 · 5 months ago

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.

vksadarangani · 5 months ago

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.

yiyangshen04 · 5 months ago

same on macos26

reply42 · 5 months ago

same, max x20 plan, win 11 desktop app.

amorriscode contributor · 5 months ago

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 me amorriscode[at]anthropic.com with the results of /export as well as the desktop logs (Help -> Troubleshooting -> Show Logs in Finder).

pbarbiero1 · 5 months ago
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 me amorriscode[at]anthropic.com with the results of /export as 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.

amorriscode contributor · 5 months ago

Should get fixed in the next release, thanks for the logs!

github-actions[bot] · 4 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.