[BUG] CLI Flag Precedence: `--dangerously-skip-permissions` overrides `--permission-mode plan` preventing initial Plan Mode startup

Resolved 💬 4 comments Opened Jan 20, 2026 by coygeek Closed Feb 9, 2026

Preflight Checklist

  • [x] I have searched existing issues and this hasn't been reported yet
  • [x] This is a single bug report (please file separate reports for different bugs)
  • [x] I am using the latest version of Claude Code

What's Wrong?

When launching Claude Code with both --permission-mode plan and --dangerously-skip-permissions flags simultaneously, the application ignores the Plan Mode request and launches directly into "Bypass Permissions" mode.

The intent is to establish "Bypass Permissions" as the baseline permission set (for when the user exits Plan Mode), but to force the initial state to be Plan Mode. Currently, the dangerous flag takes precedence over the mode flag, forcing the session immediately into ⏵⏵ mode instead of .

What Should Happen?

When both flags are provided:

  1. The session should initialize in Plan Mode ().
  2. Upon exiting Plan Mode (via /exit-plan, Esc Esc, or Shift+Tab), the session should revert to the mode dictated by the second flag (Bypass Permissions / ⏵⏵), rather than the default "Ask" mode.

Error Messages/Logs

When running the alias `alias cld="claude --permission-mode plan --dangerously-skip-permissions"`:


➜  Desktop cld

 ▐▛███▜▌   Claude Code v2.1.12
▝▜█████▛▘  Opus 4.5 · Claude Max
  ▘▘ ▝▝    ~/Desktop
  ... [Startup hooks] ...
  ⎿  SessionStart:startup hook succeeded: Success
  ⎿  SessionStart:startup says: 🌐 🟢 check-claude-service-status: All Systems Operational

────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────
❯
────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────
   cwd: /Users/user/Desktop
   Model: Opus 4.5  v2.1.12
  ⏵⏵ bypass permissions on (shift+tab to cycle)


**Note:** The bottom status bar shows `⏵⏵ bypass permissions on` immediately, skipping Plan Mode entirely.

Steps to Reproduce

  1. Open a terminal.
  2. Run the following command:

``bash
claude --permission-mode plan --dangerously-skip-permissions
``

  1. Observe the bottom status bar.
  2. Current Result: Status bar shows ⏵⏵ bypass permissions on.
  3. Expected Result: Status bar shows ⏸ plan mode on.

Claude Model

None

Is this a regression?

Yes, this worked in a previous version

Last Working Version

_No response_

Claude Code Version

2.1.12

Platform

Anthropic API

Operating System

macOS

Terminal/Shell

Terminal.app (macOS)

Additional Information

Version: Claude Code v2.1.12
OS: macOS

Workaround found:
Passing /plan as a prompt argument (acting as an initial command) instead of using the mode flag achieves the desired state. The following command works correctly:

claude --dangerously-skip-permissions "/plan"

This successfully launches the tool in Plan Mode (), and upon exiting Plan Mode, correctly drops the user into Dangerous Mode (⏵⏵). This confirms the internal state machine can handle this transition, suggesting the issue is strictly with how the CLI flags are parsed or prioritized during startup.

View original on GitHub ↗

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