Read tool prompts for permission despite explicit allow rules in settings.local.json
Status Fixed / completed
Reported on v2.1.50
Maintainer reply None cached
Activity 4 comments · opened Feb 22, 2026 · closed Feb 22, 2026
Description
The Read tool prompts for user permission on files that are explicitly allowed in settings.local.json, while other tools (like Glob) on the same paths work without prompting.
Environment
- Claude Code version: 2.1.50
- OS: Debian Linux (amd64)
- Working directory:
/opt/projects/
Configuration
Allow rules exist on both levels:
Global (~/.claude/settings.local.json):
{
"permissions": {
"allow": [
"Read(/home/jens/.claude/*)",
"Read(/home/jens/.claude/**)",
"Read(/home/jens/.claude/**/*)"
]
}
}
Project (/opt/projects/.claude/settings.local.json):
{
"permissions": {
"allow": [
"Read(/home/jens/.claude/*)",
"Read(/home/jens/.claude/**)",
"Read(/home/jens/.claude/**/*)"
]
}
}
Reproduction steps
- Configure allow rules for
Read(/home/jens/.claude/**)on both global and project level - In a conversation, ask Claude to read
~/.claude/CLAUDE.md - Claude calls
Glob(/home/jens/.claude/**/**)→ works without prompting - Claude calls
Read(/home/jens/.claude/CLAUDE.md)→ prompts for permission
Expected behavior
Read should be auto-approved for paths matching the allow rules, just like Glob is.
Actual behavior
Read prompts for user confirmation despite matching allow rules. Glob on the same path pattern works without prompting.
Related issues
- #11285 (regression in v2.0.36, Read tool requires permission despite allow rules)
- #13340 (global/local settings.json allow permissions not respected)
- #6631 / #4467 (permission patterns not enforced for Read/Write)
These were reported months ago but the issue persists in v2.1.50.
4 Comments
Found 3 possible duplicate issues:
This issue will be automatically closed as a duplicate in 3 days.
🤖 Generated with Claude Code
Update: Glob also affected
In the same session,
Globis also blocked despite matching allow rules on both levels:Allow rules (both global and project):
Blocked call:
Glob(pattern: "INDEX.md", path: "/export/data/docs")→ prompts for permissionNote:
/opt/projects/docsis a symlink to/export/data/docs, which is why rules exist for both paths. Neither path pattern is auto-approved forGlob.In the same session,
Bash(git -C /export/data/docs status)works fine — so it's specifically the dedicated tools (Read, Glob, likely also Write/Edit/Grep) that don't respect the allow rules consistently.Closing as duplicate of #6850. Added reproduction details there.
This issue has been automatically locked since it was closed and has not had any activity for 7 days. If you're experiencing a similar issue, please file a new issue and reference this one if it's relevant.