ExitPlanMode permission prompt returns 'permission denied' with isAbort=undefined when approving default selection

Resolved 💬 3 comments Opened Mar 12, 2026 by YMD7 Closed Mar 15, 2026

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

  1. Enter plan mode (via EnterPlanMode tool or /plan)
  2. Claude generates a plan and calls ExitPlanMode
  3. The approval prompt appears with options
  4. Press Enter on the default selection (approve/accept)
  5. 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 undefined value for isAbort suggests 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)

View original on GitHub ↗

This issue has 3 comments on GitHub. Read the full discussion on GitHub ↗