TL;DR Pulsa
Shift+Tabpara ciclar entre default, acceptEdits y plan. Activa auto o bypassPermissions (modo YOLO) con flags. 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]
↑ ↑
--enable-auto --dangerously-skip
(Team+) (solo contenedores)
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.
4. auto — Claude decide qué es seguro
auto — un clasificador revisa cada acción en segundo plano
Un clasificador separado (Sonnet 4.6) 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: plan Team, Enterprise o API. Sonnet 4.6 u Opus 4.6. No disponible en Pro/Max.
Actívalo para añadirlo al ciclo de Shift+Tab:
claude --enable-auto-mode
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á.
Para añadir YOLO al ciclo de Shift+Tab sin activarlo inmediatamente:
claude --allow-dangerously-skip-permissions
Personalmente, uso el modo YOLO porque tengo confianza en la dirección de mis tareas y trabajo en entornos controlados. Pero es una decisión consciente, no un valor por defecto — y si no estás seguro, auto mode te da casi toda la fluidez con una red de seguridad real.
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).
Referencia
| Modo | Shift+Tab | Auto-aprueba | Mejor para |
|---|---|---|---|
default |
Sí (defecto) | 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 |
Tras opt-in | Todo (con clasificador) | Tareas largas (Team+ solo) |
dontAsk |
Nunca | Solo herramientas pre-aprobadas | CI, scripts |
bypassPermissions |
Tras opt-in | Todo (sin clasificador) | Solo contenedores, VMs |
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 |
Documentación oficial: Modos de permisos | Referencia de permisos