claude-code - 💡(How to fix) Fix ExitPlanMode proceeds without waiting for user to select execution mode [1 comments, 2 participants]

Official PRs (…)
ON THIS PAGE

Recommended Tools

×6

Utilities matched from this issue’s tags and category — try them while you read without losing context.

GitHub issue graph ai analysis

Paste a GitHub issue URL. We fetch that issue, discover linked issues from bodies/comments/timeline, collect linked pull requests, and produce a structured English report.

The report is written in English Markdown for sharing and archival.

Helpful · Quick feedback

Loading…
GitHub stats
anthropics/claude-code#49368Fetched 2026-04-17 08:43:07
View on GitHub
Comments
1
Participants
2
Timeline
4
Reactions
0
Author
Timeline (top)
labeled ×3commented ×1
RAW_BUFFERClick to expand / collapse

Bug Description

After ExitPlanMode completes, the model presents a "How would you like to proceed?" prompt with options (auto-accept edits / manually approve edits / type feedback), but the turn has already finished — the user's next input goes to a new turn rather than being interpreted as a selection from that menu. The selection prompt is purely cosmetic since the model already exited plan mode and proceeded in the same turn.

Expected Behavior

The user should be able to choose between auto-accept edits, manual approval, or providing feedback before execution begins.

Steps to Reproduce

  1. Enter plan mode (model calls EnterPlanMode)
  2. Model explores codebase and writes a plan file
  3. Model calls ExitPlanMode
  4. ExitPlanMode returns "User has approved exiting plan mode. You can now proceed."
  5. Model outputs the selection prompt in the same turn — but the turn is already complete
  6. User's next input is treated as a new message, not a selection from the prompt

Screenshot

The screenshot below shows the selection prompt rendered at the end of the turn, followed by "Crunched for 7m 22s" — indicating the model had already finished its turn. The user never got a chance to select an option.

<img width="625" height="232" alt="Image" src="https://github.com/user-attachments/assets/b2d12a42-2c12-48b5-9b1b-2278898379c4" />

Environment

  • Claude Code CLI (v2.1.109)
  • Model: claude-opus-4-6 (1M context)
  • macOS Darwin 25.4.0

Additional Context

The ExitPlanMode tool itself works correctly — it exits plan mode. The issue is that there's no mechanism for the model to pause mid-turn and wait for user input after presenting execution mode options. The CLAUDE.md instruction to present the selection prompt creates a dead-end UX where the prompt renders but can't actually be interacted with.

extent analysis

TL;DR

The model should pause after presenting the selection prompt and wait for user input before proceeding to a new turn.

Guidance

  • Review the ExitPlanMode function to determine if it can be modified to pause the model's turn after presenting the selection prompt, allowing user input to be interpreted as a selection.
  • Investigate the CLAUDE.md instruction that creates the selection prompt to see if it can be modified to wait for user input before rendering the prompt as a dead-end UX.
  • Consider adding a new state or flag to the model to track whether it is waiting for user input after presenting the selection prompt, and use this state to determine whether to proceed to a new turn or wait for user input.
  • Verify that the model's turn completion logic is correct and that it is not prematurely completing the turn before waiting for user input.

Example

No code snippet is provided as the issue does not include specific code details.

Notes

The issue seems to be related to the model's turn management and the presentation of the selection prompt. The ExitPlanMode tool itself works correctly, but the model's UX is not designed to handle user input after presenting the selection prompt.

Recommendation

Apply a workaround to modify the ExitPlanMode function or the CLAUDE.md instruction to pause the model's turn after presenting the selection prompt, allowing user input to be interpreted as a selection. This is necessary because the current implementation does not support pausing mid-turn and waiting for user input.

Vote matrix · Quick signals

Works
Did the solution work? Tap to confirm.
Easy Fix
Was it a quick fix?
Time Saver
Did it save you time?
Blocking
Was it severely blocking?
Common Issue
Are others likely hitting this too?
Flaky / Intermittent
Is it intermittent?
Verified / Reproducible
Can you reproduce it reliably?
Loading…

Still need to ship something?

×6

Another batch ranked right after the header list — different links, same matching logic.

Back to top recommendations

TRENDING