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