Add setting to enable bypassPermissions as a selectable runtime mode

Status Open
Maintainer reply None cached
Activity 4 comments · opened Jan 22, 2026

The CLI has --allow-dangerously-skip-permissions which enables bypass mode as an option without forcing it on. However, there's no equivalent setting to make this mode selectable at runtime without using the CLI flag.

Proposal: Add a setting like:

{
  "permissions": {
    "allowBypassPermissionsMode": true
  }
}

When enabled, bypassPermissions would appear as a selectable permission mode (e.g., via /permissions or a mode switcher), allowing users to toggle into it mid-session.

Why this approach:

  • Safe by default - the option doesn't appear unless explicitly enabled in settings
  • Mirrors the CLI behavior of --allow-dangerously-skip-permissions
  • Eliminates the need for shell aliases or restarting with different flags
  • Power users in trusted environments can opt-in once and have it available when needed

View original on GitHub ↗

4 Comments

EffortlessSteven · 6 months ago

Yeah, the current config means if you want to consistently use plan mode with bypassPermissions, you either need to set an alias, or always remember to type claude --permission-mode plan --allow-dangerously-skip-permissions.

EffortlessSteven · 6 months ago

Also, /clear keeps the last-used permission mode instead of permissions.defaultMode. #23131 proposes a setting to reset to the default on /clear.

tylerlaprade · 5 months ago

Yes please. I desperately need this.

stevenmburns · 4 months ago

+1 — I just hit this gap.

My use case: I want a settings.json key equivalent to launching with --allow-dangerously-skip-permissions so I can opt into bypass mode mid-session via Shift+Tab, without baking it in as the default (defaultMode: "bypassPermissions" is too aggressive for my workflow) or having to remember to launch with the flag.

One small UX note that reinforces the need: the existing permissions.skipDangerousModePermissionPrompt reads like it might be that gate, but it's only the confirmation-dialog suppressor. I went down that trail before finding this issue. The proposed permissions.allowBypassPermissionsMode: true would solve it cleanly and the naming makes the distinction obvious.