Edit permission rules in allow list have no effect — permission dialog always shown
Resolved 💬 5 comments Opened Mar 22, 2026 by tomirish Closed May 27, 2026
Summary
Edit permission rules in settings.json and settings.local.json do not suppress the permission dialog. The dialog \"Allow Claude to Edit <file>?\" is shown regardless of what allow rules are configured.
Environment
- Platform: macOS (Darwin 25.3.0)
- Working directory:
~/GitHub(non-git directory)
What was tried
All of the following were added to the permissions.allow array in ~/.claude/settings.json and/or ~/.claude/.claude/settings.local.json — none suppressed the prompt:
"Edit"(bare tool name, which works for"Read")"Edit(*)""Edit(**)""Edit(/Users/tom/GitHub/.claude/todo.md)"(explicit absolute path)"Edit(**/.claude/**)"(glob matching the directory)"Edit(**/*.md)"(glob matching by extension)
Also tried "defaultMode" settings — none worked:
"defaultMode": "acceptEdits"— this IS the permission dialog UI, so it made no difference"defaultMode": "dontAsk"— still showed the permission dialog"defaultMode": "dontAsk"+"skipDangerousModePermissionPrompt": true— still showed the dialog
Key observations
"Read"(bare tool name) works correctly and suppresses Read prompts —"Edit"does not behave the same way"Bash(git:*)"and other Bash rules work correctlydefaultMode: "dontAsk"should bypass ALL permission prompts but doesn't affect Edit- The hookify PreToolUse hook (no matcher, runs for all tools) was investigated and confirmed not to be the cause — it always exits 0
- Multiple
settings.local.jsonfiles were checked for overrides — none had conflicting deny rules - JSON syntax of all settings files was validated as correct
- The issue reproduces consistently across multiple Claude Code restarts
Expected behavior
"Edit" in the allow list (or at minimum "Edit(**)" or "defaultMode": "dontAsk") should suppress the Edit permission dialog.
Actual behavior
The \"Allow Claude to Edit <file>?\" dialog is shown every time regardless of settings.
This issue has 5 comments on GitHub. Read the full discussion on GitHub ↗