[BUG] Model switched from Opus 4.5 to Sonnet 5 mid-session, across multiple sessions
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?
Summary:
I set my model to Opus 4.5 in two separate active sessions today. Partway through work (mid-chapter drafting in one session), the model silently reassigned itself to Sonnet 5 in both sessions, without me issuing a /model command in either. I only noticed because the output wasn't what I expected and I noticed it was using a model I hadn't set.
Why this matters:
I renewed my subscription today specifically to use Opus 4.5 for creative writing work. Model choice affects prose quality/style for this use case. Silent reassignment mid-session means I can no longer trust which model produced any given piece of output without manually re-checking before every prompt — which defeats the purpose of being able to set a preferred model at all.
What I observed:
A system-level log entry appeared in-session showing:
command-name: /model
command-args: claude-sonnet-5
stdout: Set model to claude-sonnet-5
This appeared as though I had run the command myself. I did not.
Both of my active sessions were affected at the same time, which suggests an account-level default or a sync issue rather than a per-session fluke.
Impact:
Loss of trust in authorship of in-progress creative work (mid-chapter draft affected)
No way to detect the switch except by manually checking before every single prompt
What Should Happen?
Once a model is set for a session, it should persist for that session unless the user explicitly changes it again. It should never be silently reassigned, and especially not synced/overridden across unrelated sessions without any visible notification to the user.
Error Messages/Logs
<command-name>/model</command-name>
<local-command-stdout>Set model to `claude-sonnet-5`</local-command-stdout>
Steps to Reproduce
This happened spontaneously mid-session.
Set model to Opus 4.5 via /model claude-opus-4-5 in Session A.
Set model to Opus 4.5 via /model claude-opus-4-5 in Session B.
Continue working in Session A for an hour or so.
Observe log entry in Session A showing model switched to claude-sonnet-5, unprompted.
Check Session B — also showing Sonnet 5.
When I asked Sonnet, it told me I had triggered the model switch as it could see </local-command-stdout> in the log. I didn't change the model as I specifically needed Opus 4.5.
Claude Model
Opus
Is this a regression?
I don't know
Last Working Version
_No response_
Claude Code Version
1.46388.4
Platform
Anthropic API
Operating System
Windows
Terminal/Shell
Other
Additional Information
_No response_
This issue has 1 comment on GitHub. Read the full discussion on GitHub ↗