Describe the bug
Claude Code is prompting for permission when reading files under ~/.claude/ despite having explicit permission configured in settings.json.
Configuration
In .claude/settings.json:
{
"permissions": {
"Read:~/.claude/**": true
}
}
Additionally, my ~/.claude/CLAUDE.md (global instructions) explicitly states:
- **Notes Files:** `~/.claude/NOTES.md` and `~/.claude/COMPLETED_NOTES.md` - Full read/write access, modify automatically without asking
Expected behavior
Claude should be able to read ~/.claude/NOTES.md without prompting for permission, as it matches the configured Read:~/.claude/** permission pattern.
Actual behavior
When Claude attempts to read ~/.claude/NOTES.md, the system still prompts the user for permission and returns this error when rejected:
The user doesn't want to proceed with this tool use. The tool use was rejected
Steps to reproduce
- Configure
"Read:~/.claude/**": true in .claude/settings.json
- Ask Claude to read a file under
~/.claude/ (e.g., ~/.claude/NOTES.md)
- Observe that permission is still requested despite the configuration
Environment
- Platform: macOS (Darwin 25.2.0)
- Claude Code version: v2.1.27
Impact
This breaks workflows that rely on Claude automatically managing notes/state files in ~/.claude/ without user intervention.
Describe the bug
Claude Code is prompting for permission when reading files under
~/.claude/despite having explicit permission configured insettings.json.Configuration
In
.claude/settings.json:{ "permissions": { "Read:~/.claude/**": true } }Additionally, my
~/.claude/CLAUDE.md(global instructions) explicitly states:Expected behavior
Claude should be able to read
~/.claude/NOTES.mdwithout prompting for permission, as it matches the configuredRead:~/.claude/**permission pattern.Actual behavior
When Claude attempts to read
~/.claude/NOTES.md, the system still prompts the user for permission and returns this error when rejected:Steps to reproduce
"Read:~/.claude/**": truein.claude/settings.json~/.claude/(e.g.,~/.claude/NOTES.md)Environment
Impact
This breaks workflows that rely on Claude automatically managing notes/state files in
~/.claude/without user intervention.