ExitPlanMode fails when plan mode toggled via Shift+Tab after starting with --dangerously-skip-permissions
Open 💬 3 comments Opened Mar 10, 2026 by pstaylor-patrick
Bug Description
When starting Claude Code with --dangerously-skip-permissions and then manually toggling into plan mode via Shift+Tab, the ExitPlanMode confirmation flow fails to transition back to act mode. Responding "yes" to the exit plan mode prompt does not actually exit plan mode — the session remains stuck in read-only plan mode.
Steps to Reproduce
- Start Claude Code with
claude --dangerously-skip-permissions - Press Shift+Tab to toggle into plan mode
- Give Claude a task — it creates a plan and calls
ExitPlanMode - Respond "yes" to confirm exiting plan mode
- Expected: Claude exits plan mode and begins implementation (act mode with bypass-permissions)
- Actual: Claude remains in plan mode. System reminders continue showing "Plan mode still active"
Environment
- Claude Code version: 2.1.72
- Terminal: Ghostty (minimal config,
window-padding-y = 0,24only) - Shell: zsh (macOS Darwin 23.6.0)
- Alias used:
claude --dangerously-skip-permissions(via shell alias) skipDangerousModePermissionPrompt:truein~/.claude/settings.json
Notes
- No custom keybindings configured (
~/.claude/keybindings.jsondoes not exist) - No Ghostty input keybindings that could intercept the "yes" response
- The issue appears to be in how Claude Code handles the permission mode state transition when plan mode was entered via Shift+Tab toggle (as opposed to starting with
--permission-mode=plan)
This issue has 3 comments on GitHub. Read the full discussion on GitHub ↗