permission-check

Installation
SKILL.md

Permission Check

Purpose

Surface the full permission-mode picture across every layer Claude Code honors, so the user can see at a glance why prompts are (or aren't) firing. Claude Code resolves permission mode from a 6-tier stack; a single misconfigured layer produces silent overrides that are hard to debug by eye.

The 6 layers (precedence: bottom wins)

  1. VSCode user settings — ~/Library/Application Support/Code/User/settings.json (macOS), %APPDATA%/Code/User/settings.json (Windows), ~/.config/Code/User/settings.json (Linux). Key: claudeCode.initialPermissionMode.
  2. VSCode workspace settings — <repo>/.vscode/settings.json. Same key. Wins over user.
  3. CLI user settings — ~/.claude/settings.json. Key: permissions.defaultMode.
  4. CLI project settings — <repo>/.claude/settings.json. Same key. Wins over user.
  5. CLI project-local settings — <repo>/.claude/settings.local.json. Same key. Wins over project.
  6. In-session mode — set at session start from layers 1-5, then mutable via Shift+Tab (CLI) or the mode indicator (VS Code / Desktop); /permissions manages allow/deny rules, not the mode. Authoritative until session ends.

Two rules that override the stack (Anthropic's permission-modes docs, re-verified 2026-09-26):

  • Layers 4 and 5 do not honor auto or bypassPermissions as a starting mode. A bypassPermissions there is ignored and the terminal session starts in Manual (default); an auto there is ignored in favour of the built-in default. Every other mode value applies from any layer.
  • The VS Code extension does not read layers 4–5 for its starting mode; it uses claudeCode.initialPermissionMode (which does not accept auto), and a bypass value needs the extension's Allow dangerously skip permissions toggle. With no override, Claude Code ≥ 2.1.283 starts in auto mode.
Installs
37
GitHub Stars
1.7K
First Seen
Apr 18, 2026