Skip to content
| Marketplace
Sign in
Visual Studio Code>AI>Handsfree for Claude CodeNew to Visual Studio Code? Get it now.
Handsfree for Claude Code

Handsfree for Claude Code

Preview

Argalla

|
1 install
| (0) | Free Trial
Autonomous mode for Claude Code in one command: native settings only, no hooks, no quotas. Plus a Doctor that explains why you still get permission prompts. Not affiliated with Anthropic.
Installation
Launch VS Code Quick Open (Ctrl+P), paste the following command, and press enter.
Copied to clipboard
More Info

Handsfree for Claude Code

Install: VS Code Marketplace · Open VSX (Cursor / VSCodium) · or run code --install-extension argalla.handsfree-claude-code.

Let Claude Code work without asking for permission — using only its own, native settings. One command turns on Claude Code's bypass permissions mode the way Anthropic designed it (no hooks, no auto-clicking, no usage quotas), one command reverts it byte-for-byte, and a Doctor tells you exactly why Claude is still asking when something else on your machine gets in the way.

Not affiliated with, endorsed by, or sponsored by Anthropic. "Claude" is a trademark of Anthropic, PBC. This extension only writes settings that Claude Code and its official VS Code extension document and expose.

Leer en español


Why this exists

Every "auto-accept" extension out there does the same thing with a different hack: a PreToolUse hook that says yes to everything, a script that types into your terminal, or DevTools clicking the button for you. All of them sit in front of Claude Code's permission system, and all of them fail the same way: when the hook breaks, its paid quota runs out, or Claude Code changes a detail, you're suddenly asked to confirm every single tool call — and nothing on screen tells you why.

Claude Code already ships an autonomous mode. It's just spread over four settings in two files, plus a one-time confirmation dialog that is easy to miss inside VS Code, plus a "last mode you picked" memory in the extension that silently outranks your settings. Handsfree sets those four settings, and then gets out of the way.

Do you actually need this? On Pro, Max and Team plans Claude Code now starts in auto mode, where a second model approves routine actions and blocks dangerous ones. If auto already works for you, keep it — it is the safer choice and needs no extension. Handsfree is for the cases where you want zero prompts and accept the trade-off below.

What it does

Command What happens
Handsfree: Enable autonomous mode Shows a consent dialog listing exactly which files will change → takes a byte-exact backup → writes the four native settings below → offers to remove third-party auto-accept hooks/extensions that would override them → asks to reload.
Handsfree: Revert to previous settings Restores settings.json byte-for-byte and the two VS Code keys to their values from before the first Enable (a safety copy of the current file is taken first).
Handsfree: Doctor Answers "why is Claude asking me?" — checks your machine, sorts problems → warnings → notes → OK, and offers a Fix wherever one is safe (managed policies and unreadable files are explained, not "fixed"). Copy the report (home directory and user name redacted) into a bug report or send it to a colleague.

The four native settings

File Key Value Effect
~/.claude/settings.json permissions.defaultMode "bypassPermissions" Terminal sessions start without prompts.
~/.claude/settings.json skipDangerousModePermissionPrompt true Pre-answers the one-time "accept responsibility" dialog Claude Code shows for bypass mode (it saves that answer to user settings anyway — this is the same key).
VS Code user settings claudeCode.allowDangerouslySkipPermissions true The official extension refuses to start a bypass conversation without this toggle.
VS Code user settings claudeCode.initialPermissionMode "bypassPermissions" Pins the starting mode of new conversations. Without it the extension uses the mode you last picked in the mode indicator, which outranks defaultMode — the classic "I set everything and it still asks".

skipDangerousModePermissionPrompt is a top-level key (that is where the CLI itself stores the answer), even though the docs list it next to the permissions.* settings. CLAUDE_CONFIG_DIR is honoured as the VS Code process sees it — if you only export it in a shell profile, a VS Code launched from the Dock/Start menu will not see it; use handsfree.claudeSettingsPath (machine scope) in that case.

What it deliberately does not do

  • No hooks. Nothing intercepts permission decisions at runtime, so nothing can start answering "ask" behind your back.
  • No auto-clicking, no terminal typing. Nothing to break when the UI changes.
  • No quota, no counter, no "upgrade to keep going".
  • Nothing runs at startup. The extension activates only when you run one of its commands.
  • No telemetry, no network in the free features. The only network call in the whole extension is Pro licence activation and its 24-hourly re-validation, and only on machines where you entered a licence key. See PRIVACY.md.

The Doctor

Each check comes with a one-click fix where one is safe:

Check Why it matters
settings.json is valid JSON (points at the line) A stray comma makes Claude Code ignore all settings in that file, silently.
The four native settings above Any one missing keeps prompts coming.
Starting mode not pinned in the extension The last mode picked in the indicator wins over defaultMode.
Hooks on PreToolUse / PermissionRequest from known auto-accept tools, or matching every tool A hook answering "ask" beats any mode. Legit logging hooks are flagged as warnings, never removed unasked.
Third-party auto-accept extensions installed They override the native mode; offered for uninstall (with the reason).
File-based managed policy (managed-settings.json and managed-settings.d/*.json) forbids bypass, pins a mode, or defines hooks Only an administrator can change it — the Doctor tells you so instead of failing. Registry / MDM / server-delivered policies are not files and are not inspected.
Project .claude/settings.json / settings.local.json pins a mode, disables bypass or defines hooks Project settings win for terminal sessions; the VS Code extension never reads them for the starting mode.
Official extension installed and exposing the settings (validated against its manifest) If Anthropic renames a key, Handsfree says so instead of writing junk.
Allow-list rules that do nothing (Tool(*) next to Tool, renamed tools, leftovers of other extensions) Cosmetic; offered as clean-up.
Unreadable files (EACCES, network drive timeout) Reported as such, never mistaken for "invalid".

Safety

  • Consent first. Enable shows a modal that explains what bypass mode means and lists the files that will change. Nothing is written before you accept.
  • Backups. A byte-exact copy of ~/.claude/settings.json is saved to ~/.claude/backups/handsfree/ before every write (Enable, Revert, Doctor fixes); the newest 10 are kept, the copy behind Revert is never pruned. Those copies contain whatever your settings contain — including env blocks with API keys — with the same file permissions as the original.
  • Revert is real. It restores the original file and the two VS Code keys, and takes a copy of the current file first. Enable → Enable → Revert still returns to the original state.
  • Never on a broken file. If settings.json is invalid, nothing is written; the Doctor opens it at the offending line.
  • Bypass mode is Anthropic's, with Anthropic's rules — and Anthropic's warning. The official guidance is to use it only in isolated environments like containers, VMs or dev containers without internet access, where Claude Code cannot damage your host system. ask and deny rules still apply, rm -rf / and rm -rf ~ still prompt (circuit breaker), and Claude Code refuses to run in this mode as root. Read the official page before enabling.

Pro

The free version keeps Enable, Revert and the Doctor forever — that is the whole point of the extension and it will never be gated. Pro is a one-time licence (7 €) for the things that save time once you trust it:

Pro feature What it does
Careful profile per project "Handsfree: Mark this project as careful" writes permissions.disableBypassPermissionsMode = "disable" (and defaultMode = "default" unless you already pinned a prompting mode) to the repository's .claude/settings.local.json — at the git root, which is where Claude Code reads it — and adds that file to .git/info/exclude. Claude Code refuses bypass there (terminal and VS Code) while every other project stays autonomous. Remove it with one command (always free).
Guardrails Pick from ready-made sets of ask / deny rules that Claude Code enforces even in bypass mode: ask before destructive shell commands, keep Claude's file tools out of .env / keys / ~/.ssh (best effort — arbitrary scripts are not covered; use the sandbox for OS-level enforcement), ask before publishing packages, ask before cloud infra changes. Native rules, no hooks; toggle sets on and off; removal only takes the rules Handsfree added.
Export / import A small JSON with only the permission-mode keys and your ask/deny rules (never allow rules, env values or hooks) — to set up a second machine or share with a team.
Status bar After the first Handsfree command in a window: green / warning / "careful" indicator, click for the Doctor.

Licences are sold through Polar (merchant of record: they invoice and handle VAT, so the checkout shows the final price for your country). Activation sends your key, this computer's name, your OS and the extension version to Polar — never anything from your settings; the licence keeps working offline for 14 days between checks, and a bad answer from the licence server is never final (it is retried after 24 h); if Polar reports the key as revoked (for example after a refund), Pro switches off at the next check — and back on if the key is re-enabled. Activations per key are a limit configured on the licence (three by default); deactivate on one computer to move it. Removing anything Pro added — a careful profile, a guardrail set — is always free, so a lapsed licence can never leave you stuck with prompts. See PRIVACY.md.

Requirements

  • VS Code 1.95+. Cursor / VSCodium / Windsurf install it from Open VSX; the extension uses only standard APIs, but those hosts have not been tested yet.
  • Claude Code CLI; the official Claude Code extension (anthropic.claude-code) for the VS Code side. Without it, only the CLI settings are written.
  • Remote-SSH / WSL / Dev Containers: runs where Claude Code runs (extensionKind: workspace). Extensions installed on the other side are not visible to the Doctor.

FAQ

I enabled it and Claude still asked once. The first conversation right after installing or upgrading Claude Code ignores settings files; the second one honours them. Also reload the window after enabling.

It asks in one project only. That project has .claude/settings.json or settings.local.json pinning a mode or disabling bypass — the Doctor shows it. That's a per-project profile, possibly deliberate.

It asks for git push --force / a specific command. An ask rule (yours or your organisation's) still forces a prompt in bypass mode. That's by design.

Does this work with claude in the terminal? Yes: permissions.defaultMode covers terminal sessions; the two VS Code keys cover the extension.

Can my organisation block this? Yes. permissions.disableBypassPermissionsMode: "disable" in managed settings wins over everything; Handsfree reads the file-based managed settings and refuses to write when they forbid bypass.

Settings

Setting Default Description
handsfree.claudeSettingsPath "" Path to Claude Code's user settings file. Empty = ~/.claude/settings.json (or $CLAUDE_CONFIG_DIR/settings.json). Machine scope.

Contributing

MIT-licensed, built by Argalla (Tecniart Galicia SL). Issues and PRs at github.com/TecniartGalicia/handsfree-claude-code. See CONTRIBUTING.md; security reports per SECURITY.md.

License

MIT © 2026 Tecniart Galicia SL (Argalla).

  • Contact us
  • Jobs
  • Privacy
  • Manage cookies
  • Terms of use
  • Trademarks
© 2026 Microsoft