Jahanzaib

Free tool · runs in your browser

Claude Code permissions checker

Paste your settings.json and, if you have one, your .mcp.json. The checker runs 43 rules taken from Anthropic's own Claude Code documentation and shows each finding with its exact JSON path, why it matters, the doc it comes from, and a safer snippet to paste instead.

Nothing you paste leaves this page

No upload, no server call, no storage. The input boxes switch off spell check and Grammarly and are masked from the site's session analytics. Credentials the checker spots are masked in the results too.

Official docs only

Every rule cites a section of code.claude.com, checked on October 10, 2026. Anything I could not confirm there is left out.

Which settings file is it?

Some settings behave differently by file, so the severity changes with it.

Paste the whole file. Strict JSON, no comments.

The project file with a top level mcpServers object.

Waiting for a config

Paste a file or load a sample.

A clean result is not a guarantee. The checker reads the files you paste; it cannot see other settings files that merge with them, managed policy, or what a server does once it runs.

How Claude Code decides

Deny, then ask, then allow, then the mode

The first match in that order wins, and a more specific rule never jumps the queue. That is why one broad allow rule undoes careful work elsewhere, and why an ask rule is the right home for anything destructive.

01

Deny rules

Checked first. A match blocks the call. A bare tool name removes the tool from Claude entirely.

Blocked

02

Ask rules

A match prompts you, even when a narrower allow rule also matches.

You are asked

03

Allow rules

A match runs the call with no prompt. Specificity never beats the order.

Runs

04

Permission mode

Nothing matched, so the mode decides: default asks, auto sends it to a classifier, dontAsk denies, bypassPermissions runs it.

Mode decides

Source: Claude Code docs, Configure permissions and Choose a permission mode, read October 10, 2026.

Where each limit holds

The sandbox covers shell commands. Hooks and MCP servers sit outside it.

Permission rules and the sandbox protect different things. This is the map the checker uses when it decides how serious a finding is.

Bash commands

Inside the sandbox when it is on

The operating system limits files and hosts, whatever the command text says.

Read, Edit and Write tools

Permission rules only

A sandbox denyRead entry does not stop the Read tool. Read and Edit deny rules do.

WebFetch

Permission rules only

The sandbox network allowlist does not limit WebFetch. WebFetch domain rules do.

Local MCP servers

Outside, with your full access

Only your trust in the server, its launch command and what you hand it as arguments.

Command hooks

Outside, with your full access

They run your shell commands with your user permissions on every matching event.

Source: Claude Code docs, What runs outside the sandbox, read October 10, 2026.

43 rules

Every rule, with the doc it comes from

Severity is my judgment of impact. The premise of each rule is Anthropic's, linked beside it and checked on October 10, 2026.

Allow rules and directories13 rules

Permission modes3 rules

Secrets4 rules

Hooks4 rules

MCP servers5 rules

Sandbox6 rules

Rules that silently do nothing8 rules

Read this before trusting a score

What a clean result does not tell you

  • Settings merge across files. A rule in your user file can loosen what the project file looks like it enforces, and managed policy can override both. Check each file you have.

  • It reads configuration, not behavior. An MCP server pinned to a reviewed version can still do more than its name suggests.

  • Prompt injection arrives through content Claude reads, such as fetched pages, issues and files. No settings file removes that risk; narrow permissions only limit what an injected instruction can reach.

  • The rules match the docs as of the date above. Claude Code ships often, so a setting can change meaning after that.

Questions

About the checker

No. The check runs entirely in your browser: the page parses the JSON and runs pattern checks in JavaScript that loaded with the page. Pasting and checking makes no network request, nothing is stored, and the page keeps working if you go offline after it loads. Any credential it spots is masked in the results.

Related

Giving an agent access to production?

I build agents and MCP servers that can do real work while what they can reach still fits in a sentence. If you want a second pair of eyes on the permissions before launch, book a call.

Book Meeting