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
- Create
.claude/settings.local.jsonin project root:
{
"permissions": {
"allow": []
},
"permission-mode": "bypassPermissions"
}
- Restart Claude Code
- 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": truein~/.claude/settings.jsonis also recognized but only suppresses the startup warning — it does not actually enable bypass mode."dangerouslySkipPermissions": trueunder"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-modeis 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
This issue has 3 comments on GitHub. Read the full discussion on GitHub ↗