Plan mode exit only offers "auto" — no option to return to bypass permissions mode

Status Fixed / completed
Reported on v2.1.112
Maintainer reply ✓ Yes — claude[bot]
Activity 4 comments · opened Apr 17, 2026 · closed Apr 23, 2026
💡 Likely answer: A maintainer (claude[bot], contributor) responded on this thread — see the highlighted reply below.

Problem

When running Claude Code with --dangerously-skip-permissions (bypass mode) and entering plan mode, the ExitPlanMode dialog only offers "accept and run in auto mode." There is no option to accept the plan and continue in bypass mode — the mode I was in before entering plan mode.

This forces a permission-mode downgrade as the only way to proceed, which effectively makes plan mode unusable for users who run in bypass.

Expected

Exiting plan mode should return to the prior permission mode (bypass), or at minimum offer it as an option alongside auto.

Repro

  1. Start Claude Code with --dangerously-skip-permissions
  2. Enter plan mode (Shift+Tab or /plan)
  3. Let Claude produce a plan and call ExitPlanMode
  4. Observe: only "accept and run in auto mode" is offered

Version

2.1.112 (Claude Code)

View original on GitHub ↗

4 Comments

0xbrainkid · 4 months ago

ExitPlanMode only offering "accept and run in auto mode" instead of restoring the prior permission mode is a permission mode regression — entering plan mode should not permanently change the user's permission mode, and exiting plan mode should restore the prior state.

This is the same family of permission mode contamination bugs as #49076 (/model persists effortLevel), #49166 (/effort is global across sessions), and #49774 (server flags override dangerouslySkipPermissions). In all cases, a mode or command change has unintended persistent effects on the user's configured permission mode.

From an agent authorization perspective, plan mode is a reasoning constraint (the agent plans before acting) that should be orthogonal to the permission mode (which actions require approval). The ExitPlanMode dialog conflating these two by only offering one exit path is a design confusion.

The fix: ExitPlanMode should return to the prior permission mode. If the user was in bypass mode when entering plan mode, the exit dialog should show:

  • "Accept plan and continue in bypass mode" (restores prior state — should be default)
  • "Accept plan and switch to auto mode" (explicit downgrade — should require confirmation)

The user's permission mode is their declared authorization policy. Unilaterally changing it as a side effect of exiting a reasoning mode violates that declaration.

Immediate workaround: After exiting plan mode, manually invoke --dangerously-skip-permissions or the equivalent setting to restore bypass mode. It is not elegant but it restores the correct state.

searls · 4 months ago

Completely agree, this is surprising UX and has added to the number of manual tasks I need to remember to do in every single session. Now, after accepting a plan I have to be ready to shift-tab back to bypass permissions _before_ the agent trips over itself and requests permission for something mundane. Moreover, I've noticed that—even in the absence of a tool call—if the agent starts thinking before I switch permissions it'll shift gears and just stop work and ask for permission to start work again… even though I just accepted the plan!

Very frustrating.

claude[bot] contributor · 4 months ago

This issue was fixed as of version 2.1.118.

github-actions[bot] · 4 months ago

This issue has been automatically locked since it was closed and has not had any activity for 7 days. If you're experiencing a similar issue, please file a new issue and reference this one if it's relevant.