TL;DR Es lo mismo que
--permission-mode bypassPermissions. Úsalo dentro de un contenedor o una VM con un usuario que no sea root (el devcontainer de referencia de Anthropic ya viene así). En tu máquina,--allow-dangerously-skip-permissionslo deja en el ciclo deShift+Tabsin arrancar en él.
claude --dangerously-skip-permissions arranca Claude Code en modo bypassPermissions: edita ficheros, ejecuta comandos y llama a herramientas sin abrir un solo diálogo de aprobación. Es la forma corta de --permission-mode bypassPermissions, y el nombre avisa de lo que es: quitas al humano de en medio y Claude actúa con los permisos de tu usuario.
Qué hace cada flag
Lo comprobé con la v2.1.284 y sin mi configuración de usuario (--setting-sources project), de dos formas: en una sesión interactiva, pulsando Shift+Tab y leyendo la barra de estado, y con claude -p, leyendo el permissionMode con el que arranca (--output-format stream-json --verbose):
| Arrancas con | Arranca en (interactivo, plan Max) | Arranca en (-p) |
Ciclo de Shift+Tab |
|---|---|---|---|
| nada | auto |
default (Manual) |
sin bypass |
--dangerously-skip-permissions |
bypassPermissions |
bypassPermissions |
con bypass |
--allow-dangerously-skip-permissions |
auto |
default (Manual) |
con bypass, entre plan y auto |
En una sesión interactiva lo ves en la barra de estado: ⏵⏵ bypass permissions on. Para no escribir el flag cada vez, "defaultMode": "bypassPermissions" funciona en ~/.claude/settings.json, pero ya no en el .claude/settings.json del proyecto: desde la v2.1.257 se ignora sin avisar.
La primera vez te pide que firmes
La primera sesión interactiva en este modo abre un aviso a pantalla completa. Este es su texto, sacado del binario de la v2.1.284:
WARNING: Claude Code running in Bypass Permissions mode
In Bypass Permissions mode, Claude Code will not ask for your approval
before running potentially dangerous commands. This mode should only be
used in a sandboxed container/VM that has restricted internet access and
can easily be restored if damaged.
By proceeding, you accept all responsibility for actions taken while
running in Bypass Permissions mode.
❯ No, exit
Yes, I accept
La opción marcada por defecto es salir. Si aceptas, Claude Code escribe "skipDangerousModePermissionPrompt": true en ~/.claude/settings.json y no vuelve a preguntar. Con -p no hay aviso, pero una sesión en segundo plano con --bg no arranca en este modo hasta que lo hayas aceptado una vez en interactivo.
Y en mi máquina, que tiene bypassPermissions como modo por defecto en la configuración de usuario, la v2.1.284 abre un segundo diálogo al arrancar: me ofrece hacer de auto mode mi modo por defecto, con "No, keep bypass permissions" como alternativa. Es decir, el propio Claude Code te propone el clasificador en lugar del bypass.
Root y sudo: qué cuenta como sandbox
--dangerously-skip-permissions cannot be used with root/sudo privileges for security reasons
En Linux y macOS, si ejecutas Claude Code como root (o con sudo), se niega a arrancar en este modo. La documentación dice que la comprobación se salta "dentro de un sandbox reconocido". El binario de la v2.1.284 concreta qué es eso, y es más estricto de lo que parece: deja pasar a root solo si la variable IS_SANDBOX vale 1 o si existe CLAUDE_CODE_BUBBLEWRAP. Estar dentro de Docker no basta: un contenedor que corre como root da el mismo error.
Tienes dos salidas, y la buena es la primera:
- Un usuario sin privilegios en el contenedor. Es lo que hace el devcontainer de referencia:
USER nodeen el Dockerfile y"remoteUser": "node"endevcontainer.json. IS_SANDBOX=1si el contenedor tiene que correr como root. Con esa variable, Claude Code asume que estás en un sandbox, así que ponla solo donde lo estés de verdad. En tu máquina es quitarte el último freno.
Esto último lo he leído en el código, no lo he ejecutado como root.
Dónde usarlo sin arriesgar tu máquina
1. En un contenedor o una VM
La documentación lo restringe a entornos aislados "como contenedores, VMs o dev containers sin acceso a internet". El devcontainer de referencia cumple las tres cosas: usuario node, un cortafuegos que arranca con el contenedor y solo deja salir a los dominios que necesita, y tu máquina fuera de su alcance. Ahí --dangerously-skip-permissions sirve para lo que fue pensado: dejar a Claude trabajando sin vigilancia.
2. En tu máquina: tenerlo cerca, no encendido
claude --allow-dangerously-skip-permissions
Arrancas en tu modo de siempre (auto en mi plan Max), o en plan si añades --permission-mode plan, y el bypass queda en el ciclo de Shift+Tab, justo después de plan, para cuando lo decidas tú, para una tarea concreta. Si lo que quieres es dejar de aprobar diálogos sin quitar todas las comprobaciones, el sandbox acota disco y red, y esta guía ordena las alternativas.
3. En un equipo: bloquearlo
Si administras Claude Code para más gente, este ajuste en la configuración gestionada (managed settings) elimina el modo para todos:
{
"permissions": {
"disableBypassPermissionsMode": "disable"
}
}
Lo que no se salta, aunque se llame así
Las reglas ask explícitas siguen preguntando, igual que los borrados con rm de rutas críticas y las herramientas MCP que exigen interacción. La lista completa, y por qué en un script con -p un permiso denegado acaba en verde, está en el tip del fallo silencioso.
En la extensión de VS Code el modo no aparece hasta que activas Allow dangerously skip permissions en sus ajustes; en la app de escritorio, Allow bypass permissions mode. Los demás modos, con Shift+Tab, en los 6 modos de permisos.
Documentación oficial: Choose a permission mode · CLI reference · Development containers