# Claude Code --dangerously-skip-permissions con seguridad

URL: https://agentvera.dev/es/blog/claude-code-skip-permissions/ · Publicado: 2026-10-22

Qué se salta el flag --dangerously-skip-permissions de Claude Code, qué lo sigue frenando, los riesgos reales y alternativas más seguras: modos, reglas allow y sandbox.

**En resumen:**

- --dangerously-skip-permissions inicia Claude Code en modo bypassPermissions; las reglas deny, las reglas ask explícitas, las preguntas del propio Claude y el borrado de rutas críticas siguen frenándolo.
- La documentación de Anthropic dice que se use solo en contenedores o VMs aislados, porque no ofrece protección contra la inyección de prompts ni contra acciones no deseadas.
- Las reglas allow y deny de settings.json, el modo auto con su clasificador de seguridad y el sandbox de Bash eliminan la mayoría de las peticiones y mantienen las barreras.

`--dangerously-skip-permissions` inicia Claude Code en modo `bypassPermissions`, así que las llamadas a herramientas se ejecutan sin preguntarte antes. Es la forma más rápida de acabar con las peticiones, y también la más arriesgada. La propia documentación de Anthropic dice que se use solo en entornos aislados, como contenedores o VMs. Normalmente no lo necesitas. Unas cuantas reglas allow, el modo auto o un sandbox eliminan la mayoría de las peticiones y mantienen las barreras.

Este artículo explica qué se salta el flag, qué no, dónde falla y cuáles son las opciones más seguras. Al final muestra cómo resuelve AgentVera el mismo problema cuando hay varios agentes en marcha a la vez.

## Qué hace realmente el flag

Claude Code tiene modos de permisos. El flag es un atajo para uno de ellos:

```bash
claude --dangerously-skip-permissions
# same as
claude --permission-mode bypassPermissions
```

En este modo Claude edita archivos, ejecuta comandos de shell y llama a herramientas sin detenerse. Según la [documentación de los modos de permisos](https://code.claude.com/docs/en/permission-modes "Modos de permisos de Claude Code"), algunas cosas lo siguen frenando:

- **Reglas deny.** Una regla deny en tus ajustes bloquea una herramienta en todos los modos, incluido bypass.
- **Reglas ask explícitas.** Si escribiste una regla `ask`, sigue preguntando.
- **Preguntas que te hace Claude.** Claude todavía puede detenerse para hacerte una pregunta.
- **Borrado de rutas críticas.** `rm` o `rmdir` sobre la raíz del sistema de archivos, carpetas de primer nivel, tu carpeta personal o el directorio de trabajo y sus padres siguen pidiendo confirmación.

Las reglas allow no tienen efecto en modo bypass, porque ya está todo permitido. También se permiten las escrituras en rutas protegidas como `.git` y `.claude`.

Algunos detalles más importan en la práctica:

- La primera vez que lo usas de forma interactiva, Claude Code muestra un diálogo de advertencia. Al aceptarlo se escribe `skipDangerousModePermissionPrompt: true` en `~/.claude/settings.json`.
- En una ejecución no interactiva (`claude -p`) no hay diálogo.
- En Linux y macOS el flag se niega a ejecutarse como root o con sudo. La comprobación se omite dentro de un sandbox reconocido.
- No puedes pasar a bypass desde una sesión que no empezó con él. `--allow-dangerously-skip-permissions` añade el modo al ciclo de Shift+Tab sin activarlo.
- Los administradores pueden desactivar el modo para todos con `permissions.disableBypassPermissionsMode: "disable"` en los ajustes gestionados.

## Los riesgos

La documentación lo dice claramente: el modo bypass «no ofrece protección contra la inyección de prompts ni contra acciones no deseadas». Esto es lo que significa en el día a día.

### Inyección de prompts

Claude lee archivos, páginas web, texto de issues y salida de herramientas. Si algo de eso contiene instrucciones, el modelo podría seguirlas. Con las peticiones activadas, ves ese `curl` raro a un host desconocido antes de que se ejecute. En modo bypass te enteras después.

### Comandos destructivos que no están en la lista de críticos

La comprobación de rutas críticas cubre `rm` sobre tu carpeta personal o la raíz del proyecto. No cubre `git reset --hard`, `git clean -fd`, una tabla de base de datos eliminada, un force push ni una migración lanzada contra el entorno equivocado. Todo eso se ejecuta sin pedir confirmación.

### Secretos y el resto de tu máquina

En tu portátil, Claude se ejecuta como tú. Puede leer tus claves SSH, tus credenciales en la nube y tus archivos `.env`, y puede acceder a la red. Un error o una instrucción inyectada tienen toda tu cuenta con la que trabajar.

### Los checkpoints no lo cubren todo

Claude Code crea un checkpoint antes de cada prompt, y `/rewind` (o Esc dos veces) restaura el código, la conversación o ambos. Pero la [documentación de checkpoints](https://code.claude.com/docs/en/checkpointing "Checkpoints de Claude Code") dice que los cambios hechos por comandos de Bash como `rm`, `mv` y `cp` no se registran, ni tampoco los cambios fuera de la sesión. Rewind no sustituye a git.

## Formas más seguras de reducir las peticiones de permiso

La mayoría recurre al flag porque las peticiones los frenan. Estas opciones se ocupan de las peticiones y mantienen las barreras.

### 1. Elige el modo de permisos adecuado

| Modo | Se ejecuta sin preguntar | Ideal para |
| --- | --- | --- |
| `default` (Manual) | Solo lecturas | Código desconocido, repositorios sensibles |
| `acceptEdits` | Lecturas, edición de archivos, comandos de archivos comunes como `mkdir`, `mv`, `cp` | Programación diaria en la que revisas el diff |
| `plan` | Solo lecturas, sin editar código fuente | Explorar y planificar antes de un cambio |
| `auto` | Todo, con un clasificador que comprueba antes cada acción | Tareas largas en las que confías en la dirección |
| `dontAsk` | Solo herramientas preaprobadas; todo lo demás se deniega | CI y scripts |
| `bypassPermissions` | Todo salvo los casos anteriores | Solo contenedores y VMs aislados |

Shift+Tab recorre los modos dentro de una sesión. `--permission-mode` elige uno al arrancar, y `permissions.defaultMode` en los ajustes fija tu modo por defecto.

El **modo auto** es el punto medio que quiere la mayoría. Un modelo clasificador revisa cada acción antes de ejecutarla. Bloquea las acciones que van más allá de lo que pediste, que apuntan a infraestructura que no reconoce o que parecen dirigidas por contenido hostil. Si bloquea tres veces seguidas o 20 en total, el modo auto se pausa y vuelven las peticiones normales. Se aplican dos límites: necesita un modelo compatible, y la documentación dice que «reduce las peticiones de permiso pero no garantiza la seguridad». Las versiones recientes de Claude Code inician las sesiones interactivas en modo auto por defecto. Revisa `/permissions` para ver en qué modo estás.

### 2. Escribe reglas allow y deny

Las reglas de permisos viven en `settings.json` y las aplica Claude Code, no el modelo. Se comprueban en orden: deny, luego ask, luego allow. Gana la primera coincidencia, así que una regla allow nunca puede anular una deny.

```json
{
  "permissions": {
    "allow": ["Bash(npm run test *)", "Bash(npm run lint)", "Bash(git diff *)"],
    "ask": ["Bash(git commit *)"],
    "deny": ["Bash(git push *)", "Read(./.env)"]
  }
}
```

Usa `/permissions` para ver y editar reglas en una sesión. Permite los comandos que ejecutas cincuenta veces al día, como tests, lint y git de solo lectura. Deniega los que nunca quieres que ejecute un agente. CLAUDE.md es una guía para el modelo. No cambia los permisos.

Para scripts, `dontAsk` con una lista corta de allow es más estricto que bypass:

```bash
claude -p "run the test suite and fix failures" \
  --permission-mode dontAsk --allowedTools "Bash(npm test)" "Read" "Edit"
```

### 3. Activa el sandbox de Bash

La [documentación de sandboxing](https://code.claude.com/docs/en/sandboxing "Sandboxing de Claude Code") describe un sandbox a nivel de sistema operativo que limita a qué archivos y dominios de red pueden llegar los comandos de shell. Actívalo con `/sandbox` o `sandbox.enabled: true`. Funciona en macOS, Linux y WSL2. Se aplica solo a los comandos de shell. Las herramientas de archivos, los servidores MCP y los hooks se ejecutan fuera de él.

### 4. Si te saltas los permisos, aísla primero

A veces bypass es la decisión correcta, como en una ejecución larga sin supervisión sobre código desechable. Entonces sigue la configuración de la documentación: un contenedor, VM o dev container, un usuario no root, sin secretos montados y, idealmente, sin acceso a internet. La forma habitual sin supervisión es:

```bash
claude -p "<task>" --dangerously-skip-permissions
```

Ejecútalo dentro del contenedor, no en tu portátil.

### 5. Trabaja en un worktree y haz commits a menudo

Un [git worktree](/es/blog/git-worktree-parallel-agents/ "Git worktrees para agentes en paralelo") da al agente su propia carpeta y rama. Si destroza la rama, borras el worktree y main ni se entera. Los commits frecuentes te dan puntos de restauración que también cubren lo que cambió Bash, algo que los checkpoints no pueden.

## Una tabla de decisión rápida

| Situación | Qué usar |
| --- | --- |
| Sigues aprobando los mismos comandos de tests y lint | Reglas allow |
| Quieres menos peticiones pero con una comprobación de seguridad | Modo auto |
| Trabajo de CI o script con un conjunto conocido de herramientas | `dontAsk` más `--allowedTools` |
| Los comandos de shell no deben tocar la red ni tu carpeta personal | Sandbox de Bash |
| Ejecución larga sin supervisión sobre código desechable | Bypass dentro de un contenedor, como no root |
| Credenciales de producción en la máquina | Nunca bypass |

## Cómo lo gestiona AgentVera

Cuando ejecutas varios agentes, las peticiones se multiplican. Cinco agentes son cinco sitios que pueden estar esperando un sí. AgentVera te da las mismas opciones por agente, además de formas de responder a las peticiones desde cualquier sitio.

### Un nivel de permisos para cada agente

En el diálogo del agente y en el selector de modelo hay un campo **Permissions** con tres opciones:

- **Ask**: la CLI pregunta como de costumbre.
- **Auto**: el modo auto propio de la CLI. Las ediciones y los comandos seguros siguen adelante, los arriesgados siguen deteniéndose. Para Claude Code esto inicia el agente con `--permission-mode auto`.
- **Full access**: nunca pregunta. Para Claude Code es `--dangerously-skip-permissions`. La pista de la app lo dice claro: «Best in a worktree or container».

La cabecera del agente muestra una insignia como «Permissions: Auto». Codex y otras CLI tienen sus propios equivalentes. Cambiar el nivel reinicia el agente, y la conversación continúa. Si una política de equipo limita las aprobaciones, los agentes siguen preguntando.

### Aprobar automáticamente las peticiones seguras (Pro y Team)

La [aprobación automática](/es/features/auto-approval/ "Aprobación automática") es un camino intermedio para los agentes de Claude Code. Con **Auto-approve safe requests** activado, AgentVera responde solo a las peticiones por las que Claude habría preguntado de todas formas, y solo a las seguras:

- herramientas de lectura como Read, Glob, Grep y LS,
- comandos de shell y git de solo lectura,
- comandos de test, lint, typecheck y build para npm, pnpm, yarn, bun, pytest, cargo, go y más.

Los comandos con `>`, `$()` o comillas invertidas nunca se aprueban automáticamente. Tus propias reglas allow y deny de Claude siguen aplicándose. **Also approve file edits inside the project** está desactivado por defecto. Cuando se activa, cubre las ediciones dentro del proyecto o worktree y nunca toca `.git` ni `.env`. La lista **Never auto-approve** empieza con `git push`, `npm publish`, `rm`, `git reset --hard` y `git clean`, y puedes añadir las tuyas. **Recent auto-approvals** muestra lo que pasó en la sesión actual.

El interruptor viene activado por defecto, pero solo surte efecto en Pro y Team. En el plan gratuito, las peticiones siguen llegándote a ti.

### Responde desde tu escritorio, tu móvil o Telegram

Las peticiones que quedan te llegan estés donde estés. En el escritorio hay una cola de aprobaciones en la barra de estado, ⇧⌘A salta al agente que lleva más tiempo esperando y el Dock muestra una insignia. Si dejas una aprobación esperando, llega un recordatorio a los cinco minutos. Consulta [notificaciones y aprobaciones](/es/features/notifications-and-approvals/ "Notificaciones y aprobaciones").

Lejos del escritorio:

- [Telegram](/es/features/telegram-control/ "Control por Telegram") envía las peticiones de aprobación con botones Approve y Deny.
- La [vista de móvil](/es/features/review-from-phone/ "Revisar desde el móvil") en app.agentvera.dev muestra las aprobaciones con Approve y Reject.
- La [app móvil](/es/blog/claude-code-mobile-app/ "App móvil de Claude Code") envía notificaciones push para ellas.

Como responder a una petición lleva segundos, tienes menos motivos para recurrir a Full access.

### Agentes en Docker para un aislamiento real

Para las ejecuciones en las que sí quieres Full access, inicia el agente con **Run in a Docker container**. Funciona con los agentes locales de Claude Code y Codex, y está en todos los planes. Consulta [agentes en Docker](/es/features/agents-in-docker/ "Agentes en Docker").

- El contenedor solo ve la carpeta del proyecto, no tus claves SSH ni el resto de tu ordenador.
- Cuando el agente se detiene, el contenedor se elimina. Solo quedan los cambios en la carpeta del proyecto.
- Puedes fijar límites de CPU y memoria.
- Los hooks y MCP siguen funcionando.

Necesita Docker Desktop, Colima u OrbStack. Es el entorno aislado que pide la documentación de Claude Code, sin que tengas que escribir un Dockerfile.

### Checkpoints en cada turno

Los [checkpoints](/es/features/checkpoints-and-replay/ "Checkpoints y repetición") de AgentVera hacen una instantánea de la carpeta de trabajo en una ref de git oculta al inicio de cada turno, y conservan los últimos 60 turnos por agente. Como la instantánea es de la propia carpeta, también capturan los archivos que cambió un comando de shell. Puedes ver qué archivos tocó un turno, deshacer el turno y deshacer el deshacer. Tus ramas, el índice y el stash no se tocan.

## Lista de comprobación antes de saltarte los permisos

- [ ] ¿Podrían las reglas allow o el modo auto eliminar las peticiones en su lugar?
- [ ] ¿Está el agente en un contenedor o VM, no en tu máquina principal?
- [ ] ¿Se ejecuta como usuario no root?
- [ ] ¿Están fuera de su alcance los secretos, las claves SSH y las credenciales de producción?
- [ ] ¿El acceso a la red está limitado o desactivado?
- [ ] ¿Está el trabajo en su propia rama o worktree, con un commit reciente al que volver?
- [ ] ¿Cubren las reglas deny `git push` y todo lo demás que nunca quieres?

## Para terminar

`--dangerously-skip-permissions` es una herramienta real con un uso estrecho: entornos desechables y aislados. Para el trabajo diario, las reglas allow y deny, el modo auto y el sandbox eliminan la mayoría de las peticiones y dejan el control en tus manos. Si ejecutas muchos agentes, da a cada uno el nivel que necesita. Deja pasar las peticiones seguras por sí solas, responde el resto desde el móvil y pon en un contenedor a los agentes que necesiten Full access.

Para seguir leyendo:

- [Aprobación automática](/es/features/auto-approval/ "Aprobación automática")
- [Agentes en Docker](/es/features/agents-in-docker/ "Agentes en Docker")
- [Checkpoints y repetición](/es/features/checkpoints-and-replay/ "Checkpoints y repetición")
- [Ejecutar varios agentes de Claude Code](/es/blog/run-multiple-claude-code-agents/ "Ejecutar varios agentes de Claude Code")
- [Agente Claude Code](/es/agents/claude-code/ "Claude Code en AgentVera")

Para probar AgentVera, empieza en la [página de inicio](/es/ "AgentVera").

## Preguntas frecuentes

**¿Qué hace --dangerously-skip-permissions en Claude Code?** Inicia la sesión en modo bypassPermissions, igual que --permission-mode bypassPermissions. Las llamadas a herramientas se ejecutan sin preguntar, salvo las reglas ask explícitas, las reglas deny, las preguntas que te hace Claude y el borrado de rutas críticas como tu carpeta personal.

**¿Es seguro usar --dangerously-skip-permissions?** Solo en un entorno aislado. La documentación de Anthropic dice que se use en contenedores, VMs o dev containers sin acceso a internet, y advierte de que no ofrece protección contra la inyección de prompts ni contra acciones no deseadas.

**¿Por qué Claude Code se niega a saltarse los permisos como root?** En Linux y macOS el flag se niega a ejecutarse con privilegios de root o sudo, por motivos de seguridad. La comprobación se omite dentro de un sandbox reconocido. Ejecuta Claude Code como un usuario normal, o como un usuario no root dentro de un contenedor.

**¿Qué alternativa más segura hay a saltarse los permisos?** Reglas allow en settings.json para los comandos de confianza, reglas deny para los que nunca quieres, el modo auto con su clasificador de seguridad y el sandbox de Bash. Juntos eliminan la mayoría de las peticiones sin renunciar al control.

**¿Cómo gestiona AgentVera los permisos de Claude Code?** Cada agente tiene un ajuste Permissions: Ask, Auto o Full access. En Pro y Team, Auto-approve safe requests responde por ti a los comandos de solo lectura y de tests. Los agentes también pueden ejecutarse en un contenedor Docker, y cada turno tiene un checkpoint que puedes deshacer.

---

**Sobre AgentVera.** AgentVera es una app de escritorio para macOS, Windows y Linux, desarrollada por Solviera Teknoloji. Ejecuta 18 agentes de programación con IA (Claude Code, Codex, Gemini CLI, Copilot, Cursor, Antigravity, opencode, Hermes, Qwen Code, Kimi Code, Kiro, Amp, Droid, Goose, Vibe, Crush, Aider, Cline) en paralelo, por proyecto, en terminales reales con las instalaciones y sesiones de CLI del propio usuario. El plan gratuito tiene agentes ilimitados. Descargar: https://agentvera.dev/es/download/ · Precios: https://agentvera.dev/es/pricing/
