Skip to content

Config Studio for Claude Code

Reference

Permissions

json ยท rendersobserved

Rules deciding whether a tool call runs, stops to ask, or is refused outright.

Enginepermissions.decide

Would this tool call be allowed, asked about, or refused?

Where it lives

Listed in order of precedence: the top one wins when two disagree.

  1. 1

    /etc/claude-code/managed-settings.jsonwins

    enterpriseset by an administrator; you cannot override it

  2. 2

    .claude/settings.local.json

    localyours, in this project, not committed

  3. 3

    .claude/settings.json

    projectcommitted, so the whole team gets it

  4. 4

    ~/.claude/settings.json

    useryours, on this machine, across every project

7 keys

permissions.denyarray
Rules that refuse a call outright. Checked first, and nothing overrides them.
permissions.askarray
Rules that force it to stop and ask, even when something else would have allowed the call.
permissions.allowarray
Rules that pre-approve a call so it stops asking about it.
permissions.defaultModeenum
What happens to a call no rule mentions.
  • default Ask about anything that changes something.
  • acceptEdits Edits go through without asking; commands still ask.
  • plan It may read and think, but not act.
  • auto No routine prompts: a classifier checks commands and network calls against what you asked for. Set it in ~/.claude/settings.json; project files cannot.
  • dontAsk Anything that would ask is refused instead; reads and pre-approved calls still run.
  • bypassPermissions Nothing asks. For a sandbox with no network, and nowhere else.
permissions.additionalDirectoriesarray
Directories outside the project it may also read and write.
permissions.blockReadsOutsideWorkingDirectoriesbooleandocumented
File tools refuse reads outside the working directories in every mode.
permissions.disableBypassPermissionsModestringdocumented
Set to "disable" so nobody can enter bypassPermissions mode.

observed Confirmed by running the tool at version 2.1.220 on 2026-08-16.