Edit/Write permission allow rules with path globs not auto-approving

Resolved 💬 3 comments Opened Apr 4, 2026 by mjansen401 Closed May 15, 2026

Bug Description

Edit and Write permission allow rules with glob path patterns in settings.json and .claude/settings.local.json are not being honored. The user is still prompted for approval on every edit, despite matching rules being configured.

Repro Steps

  1. Add the following to ~/.claude/settings.json under permissions.allow:

``json
"Edit(/Users/username/code/my-project/**)",
"Write(/Users/username/code/my-project/**)"
``

  1. Also add the same rules to the project's .claude/settings.local.json:

``json
{
"permissions": {
"allow": [
"Edit(/Users/username/code/my-project/**)",
"Write(/Users/username/code/my-project/**)"
]
}
}
``

  1. Ask Claude to edit a file at the project root (e.g., README.md)
  2. Ask Claude to edit a file in a subdirectory (e.g., docs/notes/example.md)

Expected: Both edits auto-approve without prompting.

Actual: Both edits prompt for approval. The glob pattern is not being evaluated for Edit/Write permissions regardless of file depth.

Notes

  • This is not a .claude/ sensitive-file issue — the files being edited are normal project files outside of .claude/.
  • Both ** (any depth) patterns fail to match for root-level files and subdirectory files alike.
  • The rules are present in both global and project-local settings — neither takes effect.
  • Related issues: #31032 (same class of bug for Read), #36304 (Edit glob, but .claude/ path), #39834 (Bash glob matching)

Environment

  • Claude Code CLI (macOS, Darwin 25.4.0)
  • Model: claude-opus-4-6

View original on GitHub ↗

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