permission-mode: bypassPermissions in settings.local.json has no effect

Resolved 💬 3 comments Opened Mar 27, 2026 by jeffrey-aguilera Closed Mar 31, 2026

Description

Setting "permission-mode": "bypassPermissions" in .claude/settings.local.json does not bypass permission prompts. Tools still require manual approval each time.

Steps to Reproduce

  1. Create .claude/settings.local.json in project root:
{
  "permissions": {
    "allow": []
  },
  "permission-mode": "bypassPermissions"
}
  1. Restart Claude Code
  2. Attempt any tool use (e.g., Bash, Read, Edit)

Expected Behavior

All permission prompts are skipped, matching the behavior of claude --dangerously-skip-permissions.

Actual Behavior

Permission prompts still appear for every tool use. The setting is silently ignored.

Additional Context

  • "skipDangerousModePermissionPrompt": true in ~/.claude/settings.json is also recognized but only suppresses the startup warning — it does not actually enable bypass mode.
  • "dangerouslySkipPermissions": true under "permissions" is also silently ignored.
  • The only working method appears to be the CLI flag --dangerously-skip-permissions.
  • There is no clear documentation on whether permission-mode is a valid settings.json key or if bypass mode can only be activated via CLI flag.

Environment

  • macOS (Darwin 25.3.0)
  • Claude Code CLI

🤖 Generated with Claude Code

View original on GitHub ↗

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