Plan mode exits without user approval when user sends unrelated message
Resolved 💬 3 comments Opened Mar 22, 2026 by lirender Closed Mar 26, 2026
Bug Report
Scenario
- Enter plan mode (user clicks plan mode or Claude enters via system prompt)
- Claude writes plan to the plan file
- While Claude is still working in plan mode, user sends a separate/unrelated message (e.g., "trigger search index rebuild")
- Claude treats the user's message as implicit plan approval and calls
ExitPlanMode - Claude begins executing the plan without the user ever reviewing it
Expected Behavior
Claude should remain in plan mode when receiving an unrelated user message. Options:
- Spawn a subagent for the separate request (Agent tool is allowed in plan mode)
- Acknowledge the request and queue it for after plan approval
- Continue plan work and call
ExitPlanModeonly after completing the plan
The user should always get to review the plan before ExitPlanMode is called.
Actual Behavior
Plan mode exited silently. Claude began executing code changes (file writes, git commits) based on an unreviewed plan. The user had no opportunity to modify or reject the plan.
Additional Context
- This happened during a long session with multiple plan mode entries/exits
- The user's interrupt message was clearly unrelated to the plan ("trigger search index rebuild" vs. a plan about creating a Claude skill)
- The plan mode system prompt explicitly states: "Use ExitPlanMode to request plan approval. Do NOT ask about plan approval in any other way"
Feature Request
Related: a "steer" command (similar to Codex's approach) would help users redirect Claude's attention to a different task while current work continues, rather than accidentally interrupting the planning workflow.
Environment
- Claude Code version: 2.1.81
- Model: claude-opus-4-6 (1M context)
- Platform: macOS (Darwin 25.3.0)
This issue has 3 comments on GitHub. Read the full discussion on GitHub ↗