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