Opus Plan Mode: Automatic Model Switching Failure

Resolved 💬 6 comments Opened Aug 19, 2025 by wdelhagen Closed Oct 8, 2025

Bug Description
OPUS PLAN MODE MODEL SWITCHING BUG REPORT
==========================================

Date: 2025-01-19
Context: Testing of Claude Code's "Opus Plan Mode" automatic model switching functionality
Status: Bug confirmed

PROBLEM DESCRIPTION
-------------------
The "Opus Plan Mode" feature (option 4 in model selection) advertises automatic model switching with the description "Use Opus 4.1 in plan mode, Sonnet 4 otherwise." Testing shows this model switching functionality does not work.

EXPECTED BEHAVIOR
-----------------

  • Opus 4.1 should be used during planning phases
  • Sonnet 4 should be used for implementation tasks ("otherwise")
  • Model should switch automatically based on task type

OBSERVED BEHAVIOR
-----------------

  • Model remained on Opus 4.1 in all tested scenarios
  • No instances of switching to Sonnet 4 were observed
  • Manual model verification consistently showed: "claude-opus-4-1-20250805"

TESTING METHODOLOGY
-------------------
Multiple scenarios were tested to trigger the "otherwise" condition:

  1. Coding Tasks: Direct code edits (test skipping, file modifications)
  • Expected: Switch to Sonnet
  • Observed: Remained on Opus
  1. After Exiting Plan Mode: Performed implementation work after approval
  • Expected: Switch to Sonnet for implementation
  • Observed: Remained on Opus
  1. File Operations: Various file read/write operations
  • Expected: Switch to Sonnet for implementation tasks
  • Observed: Remained on Opus
  1. Extended Implementation Work: Multiple code edits in sequence
  • Expected: Switch to Sonnet for sustained implementation
  • Observed: Remained on Opus throughout

TEST TIMELINE
-------------

Phase 1: Initial Code Edit Test

  • User request: "skip all of the tests in this file"
  • Action: Modified test file to add .skip
  • Model check: "what model are you now?" → "Claude Opus 4.1"
  • Result: No switching to Sonnet for coding task

Phase 2: Plan Mode Exit Test

  • Started in plan mode (shift+tab activated)
  • Approved plan via ExitPlanMode tool
  • Performed code edits on bug report document
  • Model remained Opus despite being in "otherwise" state
  • User observation: "we exited plan mode and made edits but stayed in Opus"

Phase 3: Extended Implementation Test

  • Multiple file edits across session
  • Various implementation tasks performed
  • Consistent model verification showed Opus throughout
  • User: "still haven't found any way to switch into Sonnet"

REPRODUCTION STEPS
------------------

  1. Select "Opus Plan Mode" (option 4) via /model command
  2. Perform any implementation task (code editing, file operations)
  3. Check model with "what model are you now?"
  4. Observe: Model remains "claude-opus-4-1-20250805"
  5. Repeat with various task types - same result

IMPACT
------

  • Users selecting this option expecting efficiency receive expensive Opus processing for all tasks
  • "Sonnet 4 otherwise" specification is misleading
  • No cost optimization benefit is delivered

TECHNICAL REFERENCES
--------------------

  • Model selection interface shows: "Opus Plan Mode: Use Opus 4.1 in plan mode, Sonnet 4 otherwise"
  • Multiple model identity checks: "claude-opus-4-1-20250805"
  • /model command confirmations of "opusplan" active status

CONCLUSION
----------
The model switching mechanism in "Opus Plan Mode" is non-functional. The "Sonnet 4 otherwise" behavior does not occur in any tested scenario. Users receive Opus processing continuously regardless of task type.

Environment Info

  • Platform: darwin
  • Terminal: iTerm.app
  • Version: 1.0.84
  • Feedback ID: 252b8777-b87d-4c37-9b22-632dc4359b93

Errors

[]

View original on GitHub ↗

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