ExitPlanMode permission prompt returns 'permission denied' with isAbort=undefined when approving default selection
Environment
- Claude Code v2.1.73
- macOS (Darwin 25.3.0)
- Terminal: tmux over mosh/ssh remote connection
- Permission mode: bypassPermissions
Description
When ExitPlanMode displays its approval prompt, selecting the default option (approve) and pressing Enter results in the plan being rejected instead of approved. The debug log shows isAbort=undefined — which should be a boolean (true for reject, false for approve) — suggesting the user's input is not being properly interpreted.
Steps to Reproduce
- Enter plan mode (via EnterPlanMode tool or
/plan) - Claude generates a plan and calls ExitPlanMode
- The approval prompt appears with options
- Press Enter on the default selection (approve/accept)
- Plan is rejected with "User rejected Claude's plan"
Observed Behavior
The plan is rejected despite selecting "approve." Debug log shows:
Aborting: tool=ExitPlanMode isAbort=undefined hasFeedback=false isSubagent=false
ExitPlanMode tool permission denied
isAbort=undefined indicates the user's input was not properly resolved to approve or reject.
Reproducibility
Reproduced twice in the same session within ~40 minutes:
| Occurrence | Prompt shown | Abort logged | Delta |
|---|---|---|---|
| 1st | 00:44:51.899Z | 00:45:04.404Z | 12.5s |
| 2nd | 01:26:35.274Z | 01:26:38.289Z | 3.0s |
Both times: isAbort=undefined, hasFeedback=false, no hooks matched (0 PreToolUse, 0 PermissionRequest hooks).
Investigation Notes
- No custom hooks are configured for ExitPlanMode (PreToolUse: 0 matches, PermissionRequest: 0 matches)
- No external automation sent keystrokes during the permission prompt
- Other permission prompts (Bash, Edit, etc.) work correctly in the same session and environment
- The issue appears specific to ExitPlanMode's approval UI
- The
undefinedvalue forisAbortsuggests a code path where the user's selection is not being mapped to a boolean result
Possibly Related Issues
- #15755 (Allow does not exit plan mode — CLOSED)
- #29548 (ExitPlanMode skips approval prompt — CLOSED)
- #23754 (ExitPlanMode rejection causes session restart — CLOSED)
This issue has 3 comments on GitHub. Read the full discussion on GitHub ↗