[BUG] Silent model downgrade from Opus to Sonnet at 200k tokens in Plan mode - no user notification

Resolved 💬 3 comments Opened Apr 3, 2026 by Pichardescu Closed Apr 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?

When using opus model, Claude Code silently downgrades from Opus to Sonnet once the conversation context exceeds 200,000 tokens. There is no warning, notification, or user consent before this switch happens. The 1M context window is a lie. And it refuses to work autonomously after that.

This is dangerous for users doing precision-critical work (scientific analysis, complex architecture, mathematical proofs) who explicitly chose Opus for its superior reasoning capabilities. The user continues working under the assumption they're still on Opus, unaware that a less capable model is now handling their requests.

What Should Happen?

Users paying for Opus should not be silently switched to a less capable model.

Error Messages/Logs

None, that's the problem. The downgrade is completely silent.

Steps to Reproduce

  1. Set model to opusplan via /model opus[1m]
  2. Work in Plan mode on a long conversation (or set CLAUDE_AUTOCOMPACT_PCT_OVERRIDE to disable auto compact)
  3. Continue working until context exceeds 200k tokens
  4. Observe: no notification appears, but model silently switches from Opus to Sonnet
  5. Quality of responses degrades without any visible indicator

Claude Model

Opus

Is this a regression?

Yes, this worked in a previous version

Last Working Version

_No response_

Claude Code Version

2.1.90

Platform

Anthropic API

Operating System

Windows

Terminal/Shell

PowerShell

Additional Information

This is particularly impactful for:

  • Scientific work requiring extended reasoning and precision
  • Complex architectural decisions where Sonnet's shorter reasoning chain produces different (often inferior) results
  • Long debugging sessions where context naturally grows past 200k

View original on GitHub ↗

This issue has 3 comments on GitHub. Read the full discussion on GitHub ↗