TL;DR Pulsa
Shift+Tabpara ciclar entre default, acceptEdits, plan y auto. bypassPermissions (el modo YOLO) sigue necesitando flag. Combina con/permissionspara pre-aprobar herramientas específicas. La mayoría solo conoce dos de los seis modos — y confunde lo que acceptEdits realmente aprueba.
Esta es una de esas características esenciales que se pasan por alto porque parecen simples — un atajo de teclado que cicla modos. Pero la decisión de qué modo usar cuándo cambia fundamentalmente cómo trabajas con Claude Code. Y hay una confusión habitual: acceptEdits NO aprueba todo. Aprueba ediciones de archivos y comandos básicos del sistema de archivos. Todos los demás comandos Bash siguen pidiendo permiso.
Seis modos, del más restrictivo al más autónomo. Cada uno es un equilibrio diferente entre supervisión y fluidez.
Resultado:
> Shift+Tab
default → acceptEdits → plan → auto → [bypassPermissions]
↑ ↑
el arranque --dangerously-skip
por defecto (solo contenedores)
en Pro/Max/Team
Los seis modos
1. default — Revisar todo
default — pregunta antes de cada edición
Claude lee archivos libremente pero pide permiso antes de cada edición y cada comando. Úsalo cuando estés empezando, trabajando en código sensible, o no confíes en la dirección todavía.
2. acceptEdits — Confía en las ediciones, revisa los comandos
acceptEdits — edita libremente, pregunta para comandos
Claude crea y edita archivos sin pedir permiso. También auto-aprueba comandos comunes del sistema de archivos: mkdir, touch, rm, rmdir, mv, cp, sed. Todos los demás comandos Bash siguen pidiendo permiso.
La confusión: mucha gente piensa que acceptEdits significa "aprobar todo." No es así. npm test, git push, curl — todos siguen preguntando. Si quieres saltarte esos prompts para comandos específicos sin activar el modo completo, puedes configurar deny rules y wildcards para controlar exactamente qué puede tocar Claude.
3. plan — Mirar pero no tocar
plan — investiga y propone, nunca toca archivos
Claude explora el codebase y propone un plan. Sin ediciones de código fuente. Los permisos para comandos siguen aplicando igual que en default. Entra con Shift+Tab o añade /plan antes de un prompt individual.
Cuando el plan está listo, Claude pregunta cómo proceder: aprobar y cambiar a auto, aprobar y aceptar ediciones, aprobar y revisar manualmente, o seguir refinando.
Para el deep dive — las cinco opciones de aprobación, Ctrl+G para editar el plan en tu editor, el defaultMode: "plan" por proyecto y el combo con /evaluate antes y después — ver Plan Mode no te hace más inteligente a Claude, te obliga a entender tú.
4. auto — Claude decide qué es seguro
auto — un clasificador revisa cada acción en segundo plano
Un clasificador separado evalúa cada acción antes de ejecutarla. Las operaciones seguras se ejecutan en silencio. Las peligrosas (deploys, borrados masivos, force push, curl | bash) se bloquean.
Requisitos: todos los planes, Pro incluido. En la API de Anthropic y Claude Platform on AWS, Opus 4.6 o superior, Sonnet 4.6 o superior o Fable 5. En Bedrock, Agent Platform y Foundry, solo Sonnet 5, Opus 4.7 o superior y Fable 5. Está disponible en todos los providers.
En Pro, Max y Team es el modo con el que arrancan las sesiones nuevas desde la v2.1.228. En Enterprise, con API key de la Console o en los providers de terceros, arrancas en el modo manual y llegas a auto ciclando con Shift+Tab, ya sin confirmación.
Para los detalles del clasificador, las barreras en conversación y el drop automático de allow rules, ver Olvídate de los permisos en Claude Code sin caer en modo YOLO. Para los frenos que sumó después (git destructivo, rm -rf a ciegas y manipulación del transcript), ver Ahora Claude Code auto mode te protege de ti mismo. Y para escribir tus propias reglas junto a las de fábrica, ver Auto mode en Claude Code: escribe tus propias reglas en una frase.
5. dontAsk — Solo herramientas pre-aprobadas
dontAsk — todo denegado salvo lo explícitamente permitido
Solo las herramientas que coinciden con tus reglas permissions.allow se ejecutan. Todo lo demás se deniega sin preguntar. Diseñado para pipelines de CI y scripts bloqueados. Si estás creando skills que necesitan pre-aprobar sus propias herramientas sin intervención del usuario, allowed-tools en el frontmatter de la skill hace lo mismo por skill.
claude --permission-mode dontAsk
Nunca aparece en el ciclo de Shift+Tab — solo se configura al arrancar.
6. bypassPermissions — Modo YOLO
bypassPermissions — todo se ejecuta, sin red de seguridad
Desactiva todos los prompts de permisos y las comprobaciones de seguridad. Solo las escrituras en rutas protegidas (.git, .zshrc, .claude) siguen pidiendo permiso.
claude --dangerously-skip-permissions
# o equivalentemente:
claude --permission-mode bypassPermissions
Usar solo en contenedores, VMs o entornos aislados. Sin protección contra prompt injection. Sin clasificador. Sin barreras. Si lo ejecutas en tu máquina, Claude puede hacer rm -rf ~/ y se ejecutará. Si quieres ese flujo sin prompts pero contenido en tu propia máquina, el sandbox a nivel de SO levanta una valla del sistema operativo en lugar de quitar las barreras.
Tiene además un efecto lateral que no ves venir: una sesión en este modo retiene los mensajes que le manden tus otras sesiones hasta que tú los apruebas a mano. La regla completa está en mensajes entre sesiones.
Para añadir YOLO al ciclo de Shift+Tab sin activarlo inmediatamente:
claude --allow-dangerously-skip-permissions
El día que salió Auto cambié del modo YOLO a auto mode — casi toda la fluidez de YOLO con una red de seguridad real. Para el desglose completo, ver Olvídate de los permisos en Claude Code sin caer en modo YOLO.
Combinar modos con /permissions
Los modos establecen la línea base. /permissions te permite añadir excepciones específicas por encima — pre-aprobar herramientas que ejecutas constantemente para que nunca pidan permiso, independientemente del modo.
> /permissions
# Añade reglas como:
Bash(npm test)
Bash(git add *)
Bash(git commit *)
Así te mantienes en default para seguridad pero te saltas el prompt para tus comandos más habituales. Las reglas se mantienen entre sesiones y aplican en todos los modos excepto bypassPermissions (que ignora la capa de permisos por completo).
Construir esta lista a mano es lento. Si prefieres que se escriba sola a partir de tu historial real de uso, hay un skill oficial que arma el allowlist por ti.
Referencia
| Modo | Shift+Tab | Auto-aprueba | Mejor para |
|---|---|---|---|
default |
Sí | Solo lecturas | Trabajo sensible, empezar |
acceptEdits |
Sí | Lecturas + ediciones + comandos filesystem | Iteración de código |
plan |
Sí | Solo lecturas (sin ediciones) | Exploración, arquitectura |
auto |
Sí (defecto en Pro/Max/Team) | Todo (con clasificador) | Tareas largas, todos los planes |
dontAsk |
Nunca | Solo herramientas pre-aprobadas | CI, scripts |
bypassPermissions |
Tras opt-in | Todo (sin clasificador) | Containers, VMs only |
Cómo entrar en cada modo
| Método | Ejemplo |
|---|---|
| Teclado | Shift+Tab para ciclar |
| Flag CLI | claude --permission-mode plan |
| Configuración por defecto | "permissions": {"defaultMode": "acceptEdits"} en settings.json |
| Prompt individual | /plan describe el flujo de auth |
En el panel de la extensión de VS Code cambias de modo pulsando el indicador al pie del prompt, no con Shift+Tab. En JetBrains el plugin corre en la terminal integrada, así que sigues ciclando con Shift+Tab.
Los modos controlan cuánta autonomía le das a Claude. Cuán bien aprovecha esa autonomía depende de cómo escribas el prompt. Las 5 reglas que recomienda Anthropic para estructurar un prompt son ortogonales al modo y se aplican en todos.
Todo esto es para la sesión interactiva, donde hay alguien para pulsar. En claude -p no lo hay, y los mismos modos se comportan de otra forma sin avisarte.
Documentación oficial: Modos de permisos | Referencia de permisos