[BUG] Model switched from Opus 4.5 to Sonnet 5 mid-session, across multiple sessions

Status Open
Maintainer reply None cached
Activity 1 comment · opened Sep 6, 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?

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_

View original on GitHub ↗

This issue has 1 comment on GitHub. Read the full discussion on GitHub ↗