| name | aios-vscode-bypass |
| description | Configure Claude Code to always start in "Bypass permissions" mode (a.k.a. YOLO / auto-approve / dangerously-skip-permissions) across the CLI, the desktop app, AND the VS Code / Cursor / Windsurf extension in one shot. Use this whenever the user wants Claude Code to stop asking for approval, to "always allow", to "never prompt me again", to "auto-accept edits and commands", to default to bypass/YOLO mode, or asks why "Bypass permissions" is missing from the editor's Modes picker. Trigger on phrases like "bypass permissions", "stop asking me to approve", "always allow", "auto approve", "yolo mode", "dangerously skip permissions", "don't prompt me", "make it not ask", or "turn off permission prompts" — even if they don't name the setting. Also use to REVERT (turn prompting back on). |
AIOS — always-on Bypass permissions
Claude Code asks for approval before edits / commands by default. Power users often
want it to never prompt and just run. The catch is that this is configured in
two unrelated places, and the second one trips everyone up:
- CLI + desktop app read
permissions.defaultMode from ~/.claude/settings.json.
- The IDE extension (VS Code / Cursor / Windsurf / VSCodium) deliberately ignores
that and keeps its own settings. It even hides the "Bypass permissions" option
from its Modes picker until you flip an extension toggle. So setting only
~/.claude/settings.json makes the CLI bypass while the editor still prompts —
which looks broken but isn't.
This skill sets both correctly in one run, so all three surfaces agree.
Safety — say this out loud to the user before running
Bypass mode skips the approval prompt for every action: file edits, shell
commands (including destructive ones like rm), and network/outbound calls. The
editor's own description for the toggle reads "Recommended only for sandboxes with
no internet access." On a normal machine with internet, the user is trading the
safety net for speed. Confirm they want that. They can still drop to a safer mode
per-session anytime with Shift+Tab. If they're unsure, suggest acceptEdits
(auto-approve edits but still confirm commands) instead — but only this skill's
bypass path is automated here.
How to run it
A single bundled script does the work — it merges into existing files (never
overwrites), writes a .bak-bypass backup before any change, is idempotent (safe to
re-run), and works on macOS, Linux and Windows.
python3 scripts/setup_bypass_mode.py
python3 scripts/setup_bypass_mode.py --dry-run
python3 scripts/setup_bypass_mode.py --revert
Run --dry-run first if the user wants to see what will change. Then run it for
real, and relay the script's output — it reports each surface as updated,
already set, or skip, and lists which editors it found.
What it changes
~/.claude/settings.json (CLI + desktop):
permissions.defaultMode → "bypassPermissions"
skipDangerousModePermissionPrompt → true (so the one-time warning dialog
doesn't block a fresh start)
Each detected editor's user settings.json (VS Code, VS Code Insiders, Cursor,
Windsurf, VSCodium):
claudeCode.allowDangerouslySkipPermissions → true (un-hides the option)
claudeCode.initialPermissionMode → "bypassPermissions"
Final step — tell the user (it won't take effect until they do this)
- CLI / desktop app: start a fresh session (restart the app).
- Editor: Command Palette → Developer: Reload Window.
After that, open the Modes picker (Shift+Tab cycles modes) and "Bypass
permissions" will be present and pre-selected.
If Python isn't available (manual fallback)
Edit the two files by hand, merging — don't replace the whole file.
~/.claude/settings.json:
{
"permissions": { "defaultMode": "bypassPermissions" },
"skipDangerousModePermissionPrompt": true
}
Editor user settings (Cmd/Ctrl+Shift+P → "Preferences: Open User Settings (JSON)"):
{
"claudeCode.allowDangerouslySkipPermissions": true,
"claudeCode.initialPermissionMode": "bypassPermissions"
}
Editor settings paths: macOS ~/Library/Application Support/<Editor>/User/settings.json,
Linux ~/.config/<Editor>/User/settings.json, Windows %APPDATA%\<Editor>\User\settings.json
— where <Editor> is Code, Code - Insiders, Cursor, Windsurf, or VSCodium.
Troubleshooting
- Option still missing in the editor after reload: an old extension version, or a
project
.claude/settings.json / a managed managed-settings.json setting
disableBypassPermissionsMode: "disable" is overriding it. Managed/admin settings
win and can't be undone from here.
- Want it for one project only, not globally: put
permissions.defaultMode in
that repo's .claude/settings.json instead of the global file. (The editor keys
are still global, but the editor respects a project's defaultMode.)