Permission Rules
Permission Rules
Claude uses a tiered permissions system: Tools-based Access Controls (TBAC).
Permission levels: Allow, Ask, Deny.
Rules evaluation order is deny → ask → allow. The least permissive/most restrictive rule will be applied.
Tools rules can target: Bash, Read/Edit, WebFetch, MCP, Agents (subagents).
Example:
{
"defaultMode": "acceptEdits",
"permissions": {
"allow": ["Read(**)", "Write(./src/**)"],
"ask": ["Bash(git commit *)"],
"deny": [
"Bash(curl *)",
"Read(~/.ssh/**)",
"WebFetch(domain:malicious-site.com)",
"mcp__stripe__create_payment",
"Agent(Explore)"
]
}
}
Related: Bash Wildcard Permissions, Read and Edit Rules, WebFetch Rules, MCP Rules, Bare Name Tool Rules, Permission Modes, Permission Rules Settings