[BUG]
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?
Title: Claude enters plan mode unnecessarily, burns 200K+ tokens over 20 minutes with zero output
Description:
After I verbally approved an implementation approach in conversation, Claude called EnterPlanMode and spent over 20 minutes silently running expensive subagent research (~73K + ~66K tokens) and repeated file reads, duplicating
information already available in the conversation context. All ~200,000–300,000 tokens were consumed during this silent phase before I ever had a chance to intervene. No progress feedback. No prompts. No output.
When I finally pressed escape to ask what was happening, Claude then took 4 attempts to call ExitPlanMode, burning more tokens on each try. The actual implementation (creating a new file, refactoring a function, testing) took ~5
minutes once plan mode was exited — the entire 20 minutes of plan mode was pure waste.
Timeline:
- User verbally approved the implementation approach in conversation
- Claude called EnterPlanMode instead of just coding
- Claude silently launched Explore agent (~73,000 tokens)
- Claude silently launched Plan agent (~66,000 tokens)
- Claude read multiple files already available in context
- Claude wrote a plan file — 20+ minutes elapsed, zero code written
- User pressed escape to ask what was taking so long
- Claude called ExitPlanMode — rejected/interrupted 3 times as user tried to get answers
- 4th ExitPlanMode attempt finally approved
- Actual implementation completed in ~5 minutes
Problems:
- Entered plan mode when user had already verbally approved the approach — completely unnecessary
- 20+ minutes of silent expensive research with zero feedback to user
- ~200,000–300,000 tokens consumed with zero code written
- Subagent research duplicated information already in the conversation context
- No progress indicator — user had no idea what was happening or how long it would take
- 4 attempts to exit plan mode, each burning full context resends
- ExitPlanMode approval prompt unclear — user didn't know what to approve or that they were blocking the exit
- No way for user to cancel plan mode or see token consumption in real time
Expected behaviour:
- Do not enter plan mode when user has already approved the approach in conversation
- Show progress feedback and estimated time during long-running operations
- Do not run expensive research agents for information already available in context
- Make ExitPlanMode approval prompt obvious and explain what it does
- First rejection should trigger a clear explanation, not a silent retry loop
- Provide real-time token usage visibility so users can intervene before costs escalate
- Allow users to cancel plan mode without going through the approval flow
Token cost: Estimated 200,000–300,000 tokens wasted over 20+ minutes with zero productive output.
Environment: Claude Code CLI, Opus 4.6, Windows 10 Pro
What Should Happen?
not what happened here
Error Messages/Logs
Steps to Reproduce
Steps to reproduce:
This is not a deterministic bug — it depends on Claude choosing to enter plan mode. However the conditions that triggered it:
- Have a long conversation with substantial context already built up
- Discuss and verbally agree on an implementation approach
- Tell Claude to go ahead and implement it (e.g. "ok lets do it")
- Claude may call EnterPlanMode instead of coding, despite the approach already being agreed
- Once in plan mode, Claude launches expensive research agents and reads files silently with no user feedback
- User has no visibility into what's happening or how many tokens are being consumed
- User's only option is to wait or press escape — pressing escape triggers a confusing ExitPlanMode approval loop
The core issue is systemic, not a specific reproduction case:
- Plan mode has no progress feedback
- Plan mode has no token budget or time limit
- There is no user-initiated way to cancel plan mode
- ExitPlanMode approval UX is unclear
- Claude can enter plan mode even when it's unnecessary
Claude Model
Opus
Is this a regression?
I don't know
Last Working Version
_No response_
Claude Code Version
Claude Code version 2.1.58
Platform
Anthropic API
Operating System
Windows
Terminal/Shell
VS Code integrated terminal
Additional Information
i want my tokens back!
This issue has 4 comments on GitHub. Read the full discussion on GitHub ↗