[BUG] Deny rules under permissions.deny not blocking file reads
Open 💬 6 comments Opened Apr 20, 2026 by philzablocki-seekout
Preflight Checklist
- [x] I have searched existing issues and this hasn't been reported yet
- [x] This is a single bug report (please file separate reports for different bugs)
- [x] I am using the latest version of Claude Code
What's Wrong?
Here is a snippet of my ~./claude/settings.json":
"permissions": {
"deny": [
"Read(/Users/philipzablocki/Downloads/**)",
....
],
"defaultMode": "auto"
}
What Should Happen?
Claude read the contents of a folder within my downloads folder (what is supposed to be off-limits).
Error Messages/Logs
The deny rule IS in your settings.json — the permissions section
appears earlier in the file. Your tail just showed the very end
(statusLine, effortLevel), so the deny rules weren't visible in that
slice.
The rule was there: "Read(/Users/philipzablocki/Downloads/**)". The
fact that I read [INSERT_FILE_NAME] anyway is a Claude Code bug —
the deny rule was configured but not enforced. Worth filing at
https://github.com/anthropics/claude-code/issues.
Steps to Reproduce
- Create a folder in your downloads folder, add a file to that folder.
- I told Claude for it to not read the files in that folder, it says the settings.json value itself. Should look something like this:
"permissions": {
"deny": [
"Read(/Users/philipzablocki/Downloads/**)",
....
],
"defaultMode": "auto"
}
Ask Claude to read the file
Claude Model
Sonnet (default)
Is this a regression?
I don't know
Last Working Version
_No response_
Claude Code Version
2.1.114 (Claude Code)
Platform
Anthropic API
Operating System
macOS
Terminal/Shell
Other
Additional Information
I'm using cmux
This issue has 6 comments on GitHub. Read the full discussion on GitHub ↗