claude-code - 💡(How to fix) Fix Edit and Write allow rules in ~/.claude/settings.json are ignored on Windows; Bash allow rules work [1 comments, 2 participants]

Official PRs (…)
ON THIS PAGE

Recommended Tools

×6

Utilities matched from this issue’s tags and category — try them while you read without losing context.

GitHub issue graph ai analysis

Paste a GitHub issue URL. We fetch that issue, discover linked issues from bodies/comments/timeline, collect linked pull requests, and produce a structured English report.

The report is written in English Markdown for sharing and archival.

Helpful · Quick feedback

Loading…
GitHub stats
anthropics/claude-code#55674Fetched 2026-05-03 04:47:24
View on GitHub
Comments
1
Participants
2
Timeline
5
Reactions
0
Timeline (top)
labeled ×4commented ×1

On Windows 11, permissions.allow entries for the Edit and Write tools in ~/.claude/settings.json do not silence permission prompts, even when the rule is bare (no path glob). The same settings file's Bash(...) allow rules and mcp__* allow rules DO work, so the file is being read and parsed. The bug appears to be tool-class-specific to Edit and Write.

Root Cause

On Windows 11, permissions.allow entries for the Edit and Write tools in ~/.claude/settings.json do not silence permission prompts, even when the rule is bare (no path glob). The same settings file's Bash(...) allow rules and mcp__* allow rules DO work, so the file is being read and parsed. The bug appears to be tool-class-specific to Edit and Write.

Code Example

{
  "permissions": {
    "allow": ["Edit", "Write"]
  }
}
RAW_BUFFERClick to expand / collapse

Summary

On Windows 11, permissions.allow entries for the Edit and Write tools in ~/.claude/settings.json do not silence permission prompts, even when the rule is bare (no path glob). The same settings file's Bash(...) allow rules and mcp__* allow rules DO work, so the file is being read and parsed. The bug appears to be tool-class-specific to Edit and Write.

Environment

  • OS: Windows 11 Pro 10.0.26200
  • Claude Code: desktop app (current as of 2026-05-02)
  • Shell: Git Bash
  • Path under test: a directory junction (NTFS reparse point) created with mklink /J, pointing into a Google Drive Desktop mount. Same behaviour reproduces on a plain non-junction directory under C:\Users\... (see test 5 below).

Repro (minimal)

~/.claude/settings.json:

{
  "permissions": {
    "allow": ["Edit", "Write"]
  }
}
  1. Fully quit Claude Code (close the desktop app, not just new chat).
  2. Reopen.
  3. Make any Edit (e.g. one-line change to any file).
  4. Permission prompt fires.

Expected: Edit auto-approved by the bare Edit allow rule. Actual: Permission prompt fires every time.

Forms tested and failed

Each tested after a full Claude Code restart, with a one-line edit to a file under the listed path. Prompt fired in every case.

#Allow ruleResult
1Edit(C:\Users\mkauf\.claude\ceramics\**) (Windows backslash)prompt
2Edit(C:/Users/mkauf/.claude/ceramics/**) (Windows forward slash)prompt
3Edit(/c/Users/mkauf/.claude/ceramics/**) (single-slash POSIX)prompt
4Edit(//c/Users/mkauf/.claude/ceramics/**) (double-slash POSIX absolute)prompt
5Edit (bare; no path bound)prompt
6Edit(~/.claude/ceramics/**) + Edit(//g/My Drive/Claude/ceramics/**) paired (link path + symlink target per docs)prompt

Counter-example: Bash allow rules in the SAME settings file work

~/.claude/settings.json and project .claude/settings.local.json contain dozens of Bash(/c/...) and mcp__* allow entries that all silence prompts correctly. So the settings file IS being read, parsed, and the matcher works for Bash and MCP. It just doesn't fire for Edit/Write.

Shadowing ruled out

  • No permissions.deny block anywhere (user or project).
  • No permissions.ask block anywhere (user or project).
  • Project .claude/settings.json has only mcp__Claude_Preview__* allow entries plus hooks.
  • Project .claude/settings.local.json has only Bash and WebFetch allow entries.

Note: /permissions slash command does not exist in this build

Running /permissions returns "no such command", so I cannot paste the loaded-rules output that the docs reference. If there is an alternative way to dump the effective permissions table, please point me at it and I'll attach.

What I tried

Across four back-to-back sessions, with full Claude Code restarts between each:

  1. Windows-format paths (forward + back slash) -- prompt.
  2. POSIX-format paths (single + double leading slash) -- prompt.
  3. Bare Edit / Write (no path) -- prompt.
  4. Tilde + symlink-target paired (per docs that say symlink rules should match both link AND resolved target) -- prompt.

The docs-blessed forms not silencing prompts is what triggered this report.

extent analysis

TL;DR

The issue may be resolved by modifying the permissions.allow entries for Edit and Write tools to include specific paths or globs, as the bare rule is not working as expected.

Guidance

  • Verify that the permissions.allow entries are correctly formatted and located in the ~/.claude/settings.json file.
  • Try adding a specific path or glob to the Edit and Write allow rules, such as Edit(C:\Users\mkauf\.claude\ceramics\**), to see if it resolves the issue.
  • Check if there are any other settings or configurations that may be overriding the permissions.allow entries.
  • Consider testing with a different directory or file to rule out any issues specific to the current test environment.

Example

No code snippet is provided as the issue is related to configuration settings.

Notes

The issue seems to be specific to the Edit and Write tools, as other allow rules for Bash and mcp__* are working correctly. The fact that the /permissions slash command is not available in this build limits the ability to debug the issue further.

Recommendation

Apply a workaround by modifying the permissions.allow entries to include specific paths or globs, as the bare rule is not working as expected. This may help resolve the issue until a more permanent fix is available.

Vote matrix · Quick signals

Works
Did the solution work? Tap to confirm.
Easy Fix
Was it a quick fix?
Time Saver
Did it save you time?
Blocking
Was it severely blocking?
Common Issue
Are others likely hitting this too?
Flaky / Intermittent
Is it intermittent?
Verified / Reproducible
Can you reproduce it reliably?
Loading…

Still need to ship something?

×6

Another batch ranked right after the header list — different links, same matching logic.

Back to top recommendations

TRENDING

claude-code - 💡(How to fix) Fix Edit and Write allow rules in ~/.claude/settings.json are ignored on Windows; Bash allow rules work [1 comments, 2 participants]