Plan mode: ExitPlanMode approval prompt appears before user has seen the plan content
Resolved 💬 6 comments Opened Feb 24, 2026 by rolfedh Closed Apr 11, 2026
Description
When Claude Code writes a plan to a file and calls ExitPlanMode, the user is presented with an approval prompt before they have had a chance to read the plan. The plan lives in a file (e.g., .claude/plans/majestic-herding-abelson.md), but the approval prompt appears inline in the chat — creating a disconnect where the user is asked to approve something they haven't seen.
Steps to reproduce
- Ask Claude Code to plan a multi-step implementation task
- Claude enters plan mode, explores the codebase, and writes the plan to a
.claude/plans/file - Claude calls
ExitPlanMode - The user sees an approval prompt with options — one of which says something like "review and approve"
- The user selects it, thinking they are choosing to review the plan
- Claude interprets this as approval and immediately starts writing code
Expected behavior
The user should be able to read the plan before being asked to approve it. Either:
- The plan content should be displayed inline in the chat before the approval prompt appears
- The agent should open the plan file in the IDE before triggering the approval step
- The approval prompt options should be unambiguous (e.g., "I've read the plan — start coding" vs. "Let me review the plan first")
Actual behavior
- The plan is written to a file the user hasn't opened
- The approval prompt appears immediately
- The option text ("review and approve") is ambiguous — it reads as "I want to review" rather than "I have reviewed and I approve"
- Selecting it triggers implementation, which the user did not intend
Impact
This likely affects any user who isn't already familiar with the plan mode workflow. A reasonable user interprets "review and approve" as "show me what to review" — not "I confirm I've already reviewed this."
Environment
- Claude Code VS Code extension
- Claude Opus 4.6
This issue has 6 comments on GitHub. Read the full discussion on GitHub ↗