Opus Plan Mode: Automatic Model Switching Failure
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:
- Coding Tasks: Direct code edits (test skipping, file modifications)
- Expected: Switch to Sonnet
- Observed: Remained on Opus
- After Exiting Plan Mode: Performed implementation work after approval
- Expected: Switch to Sonnet for implementation
- Observed: Remained on Opus
- File Operations: Various file read/write operations
- Expected: Switch to Sonnet for implementation tasks
- Observed: Remained on Opus
- 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
------------------
- Select "Opus Plan Mode" (option 4) via /model command
- Perform any implementation task (code editing, file operations)
- Check model with "what model are you now?"
- Observe: Model remains "claude-opus-4-1-20250805"
- 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
[]This issue has 6 comments on GitHub. Read the full discussion on GitHub ↗