Claude Auto Accept (by ManuY)
Auto-approves Claude Code tool permission prompts
so it stops interrupting you — except for questions Claude asks you
(AskUserQuestion) and plan reviews (ExitPlanMode), which always still
prompt normally. A built-in safety net also keeps a short list of risky
commands (force-push, hard reset, recursive deletes, credential-file edits)
prompting even in auto-accept mode.
⚠️ Read this before enabling
Claude Auto Accept removes most of Claude Code's confirmation prompts,
including for running shell commands and editing or deleting files. Per
Anthropic's own documentation, bypassing permission prompts provides "no
protection against prompt injection or unintended actions." Only enable
this in projects and environments you trust, and keep the built-in risky-
pattern safety net turned on unless you have a specific reason to disable it.
How it works
Claude Code (both the CLI and its official VS Code extension) supports a
PreToolUse hook: an external script registered in .claude/settings.json
that Claude Code runs before every tool call, and that returns an
allow / ask / deny decision. This extension:
- Ships a small, dependency-free Node.js hook script.
- When you enable it, registers that script as a
PreToolUse hook in your
global ~/.claude/settings.json — applies to all your projects,
alongside any hooks you already have (nothing else is touched).
- The hook auto-allows every tool call, except:
AskUserQuestion and ExitPlanMode always fall through to the normal
interactive prompt.
- Anything matching a risky pattern (see below) falls through to
ask.
- Every decision is logged to
~/.claude-auto-accept/decisions.log and
streamed live into the "Claude Auto Accept" Output Channel.
There is no way for a VS Code extension to click buttons inside another
extension's UI — this hook mechanism is the only supported integration
point, which is why enabling/disabling writes real Claude Code configuration
rather than trying to watch the screen.
Usage
- Click the "Claude Auto Accept" status bar item (bottom right) to
toggle it on/off. It also shows a running count of how many tool calls
have been auto-accepted (hover for the full allow/ask/deny breakdown).
Or use the Command Palette:
Claude Auto Accept: Enable
Claude Auto Accept: Disable
Claude Auto Accept: Toggle
Claude Auto Accept: Show Log
Settings
| Setting |
Description |
claudeAutoAccept.riskyPatterns |
Array of rules; each matches a tool + field (e.g. Bash command, or Edit/Write file_path) against a regex and forces ask or deny instead of auto-allow. Ships with defaults for git push --force, git reset --hard, git branch -D, recursive/force deletes, and credential-shaped file paths (.env, *.pem, id_rsa, etc.). |
claudeAutoAccept.additionalAskTools |
Extra tool names that should always fall through to interactive prompting, beyond AskUserQuestion and ExitPlanMode (which are always ask, regardless of this setting). |
Changes to these settings are written to ~/.claude-auto-accept/config.json
and picked up on the hook's next invocation.
Known limitations
- Command matching is regex/substring-based, not a real shell parser — it
can be evaded by sufficiently obfuscated commands. Defaults are written to
favor false positives (an extra prompt) over false negatives.
- v1 only manages the global
~/.claude/settings.json scope (applies to
every project), not per-project .claude/settings.json.
- Requires
node to be available on your PATH (the hook script runs as a
plain Node process spawned by Claude Code).
License
MIT — see LICENSE.