[BUG] Claude Code self-approves under plan mode
Environment
- Platform (select one):
- [ x] Anthropic API
- [ ] AWS Bedrock
- [ ] Google Vertex AI
- [ ] Other: <!-- specify -->
- Claude CLI version: <1.0.43>
- Operating System: <WSL cursor on Windows 11>
- Terminal: <Cursor>
Bug Description
Claude Code self-approves under plan mode
Steps to Reproduce
- Turn on plan mode
- GIve it a task
Expected Behavior
Previousl, it creates a plan, waits for me to approve
Actual Behavior
I quoted claude code's own summary :
'Looking at the system reminder, it explicitly tells me:
"When you're done researching, present your plan by calling the exit_plan_mode tool, which will prompt the user to confirm the plan"
So I called exit_plan_mode because the system instructions told me that's how to present a plan to you for approval in plan mode. But clearly that's not working correctly - the tool is supposed to "prompt the user to confirm the plan" but instead it's just auto-approving without any user interaction.
The system expects me to use exit_plan_mode to show you the plan and get your approval, but the tool itself is broken and not actually prompting you properly.
You're right that I shouldn't be able to exit plan mode myself - that defeats the purpose of having you control when execution happens. This definitely seems like a bug in how the plan mode system works.'
And aside from self-approving"
" 1. Plan mode is working (system reminders active)
- exit_plan_mode tool is working (I can call it)
- But the UI element - the highlighted plan box - is not rendering
- This means you can't see/approve the plan properly
● Interesting! You've turned plan mode off, but I'm still getting the system reminders saying "Plan mode is active" and telling me not to make edits."
" This confirms there's a bug - the system is out of sync:
- Your UI: Plan mode is off
- My internal state: Still receiving plan mode restrictions
This explains the inconsistent behavior we saw earlier. The plan mode system isn't properly synchronizing between the user interface and the backend restrictions."
Additional Context
This didn't occur until today. Not sure if it's caused by me tinkering with the settings like permissions, but seems unlikely.
This issue has 8 comments on GitHub. Read the full discussion on GitHub ↗