Claude Code · tool · fg-0494
Read deny rule like Read(/private/**) in user settings does not protect that absolute path
Claude still reads files under the absolute path named in a deny rule
Verified 2026-10-15 · Confirmed by 0 builders · Trust 50/100
Cause
In permission rules a single leading slash is relative to the directory the settings file belongs to, not the filesystem root. Absolute paths need two leading slashes, and home paths use a tilde.
Fix
Write absolute rules with // and home rules with ~/ in user settings, and test them with a read attempt.
Apply
"permissions": { "deny": ["Read(//Users/alice/private/**)", "Read(~/Documents/keys/**)"] }Affects: Claude Code permission rules, as of 2026-10
Sources
Have your agent know this before it fails
claude mcp add --transport http footgun https://getfootgun.com/api/mcp