El modo de permisos de Claude Code decide qué acciones se ejecutan sin preguntarte. default (mostrado como Manual) pregunta antes de editar archivos y ejecutar comandos de shell. acceptEdits además deja pasar las ediciones de archivos y los comandos de archivo habituales. plan permite que Claude lea y proponga un plan, pero no que edite. auto deja que un clasificador en segundo plano apruebe las acciones en tu lugar. dontAsk deniega todo lo que requeriría preguntar. bypassPermissions, que se activa con --dangerously-skip-permissions, se salta casi todas las preguntas y está pensado solo para contenedores o máquinas virtuales aisladas. Pulsa Shift+Tab para cambiar de modo, o arranca con claude --permission-mode <mode>.
Esta guía se basa en la documentación de modos de permisos de Anthropic. Claude Code cambia a menudo, así que consúltala para la versión que uses.
01Los seis modos de un vistazo
default (Manual)Solo lecturasRevisar cada acción, trabajo delicadoacceptEditsLecturas, ediciones de archivos y comandos habituales del sistema de archivos como mkdir, touch, mv y cp dentro del directorio de trabajoIterar sobre código que estás supervisandoplanLecturas; las ediciones se bloquean hasta que apruebes el planExplorar antes de cambiar nadaautoTodo, con un clasificador que revisa cada acción antesTareas largas con menos promptsdontAskLecturas en los directorios de trabajo y herramientas preaprobadas; todo lo demás se deniegaCI y scripts restringidosbypassPermissionsTodo, con algunas excepcionesSolo contenedores y VMs aisladosdefault es el nombre que se usa en los settings, los hooks y el flag --permission-mode. La CLI, las extensiones del IDE y la app de escritorio lo muestran como Manual, y la CLI acepta manual como alias.
02Cómo cambiar de modo
En la terminal, pulsa Shift+Tab. El ciclo pasa por default, acceptEdits, plan y luego por los modos opcionales que permita tu sesión. dontAsk nunca aparece en el ciclo; solo se activa con el flag.
Para iniciar una sesión en un modo:
claude --permission-mode plan
Para que un modo sea tu predeterminado, configúralo en ~/.claude/settings.json:
{
"permissions": {
"defaultMode": "acceptEdits"
}
}
El flag tiene prioridad sobre el setting, y el setting sobre el valor predeterminado. Hay una restricción que conviene conocer: auto y bypassPermissions no tienen efecto si vienen del .claude/settings.json o del .claude/settings.local.json de un proyecto. Un repositorio no puede meterte en modo bypass sin que te enteres. Configura esos dos en tus settings de usuario o pasa el flag.
Con qué modo arranca una sesión nueva
Las versiones recientes de Claude Code (v2.1.283 o posterior) inician las sesiones interactivas de terminal y de VS Code en auto cuando el modo auto está disponible, salvo que tus settings digan lo contrario. claude -p y las ejecuciones del Agent SDK arrancan en default. Si nunca has elegido un modo y te preguntas por qué ves tan pocos prompts, este es el motivo.
03Los modos en detalle
default (Manual)
Claude puede leer archivos sin preguntar. Las ediciones, los comandos de shell y el acceso a red muestran un prompt cada uno. En un prompt de Bash, "Yes, and don't ask again" guarda una regla allow en .claude/settings.local.json para que ese comando no vuelva a preguntar en este repositorio. Las aprobaciones de edición de archivos duran hasta que termina la sesión.
acceptEdits
Las ediciones y los comandos de archivos sencillos (mkdir, touch, rm, rmdir, mv, cp, sed) dentro de tu directorio de trabajo se ejecutan sin prompt. Los demás comandos de shell siguen preguntando. Un buen término medio cuando vas siguiendo el diff en tiempo real.
plan
Claude explora con lecturas y comandos de solo lectura y después te presenta un plan. No se edita nada de tu código hasta que lo apruebes. Úsalo con código que no conoces o con cambios arriesgados.
auto
Un modelo aparte revisa cada acción antes de ejecutarla y bloquea las que van más allá de lo que pediste, apuntan a infraestructura que no reconoce o parecen provocadas por contenido malicioso. Las reglas ask explícitas siguen mostrando prompt. Si el clasificador bloquea tres acciones seguidas o veinte en una sesión, el modo auto se pausa y vuelven los prompts normales. En palabras de Anthropic, el modo auto "reduce los prompts de permisos, pero no garantiza la seguridad".
dontAsk
Todo lo que mostraría un prompt se deniega. Solo se ejecutan las reglas allow y las acciones que nunca requieren aprobación. Existe para scripts y CI, donde no hay nadie para responder.
bypassPermissions y --dangerously-skip-permissions
--dangerously-skip-permissions equivale a --permission-mode bypassPermissions. Se omiten los prompts, incluso para escrituras en rutas protegidas como .git y .claude. Algunas cosas siguen pidiendo confirmación o se deniegan en todos los modos, como las reglas ask explícitas, AskUserQuestion y ciertos comandos rm peligrosos. Las reglas deny siguen bloqueando.
La recomendación de Anthropic es usarlo solo en contenedores, VMs o dev containers sin acceso a internet. En Mac y Linux, Claude Code se niega a arrancar en este modo como root o con sudo fuera de un sandbox reconocido. Si solo quieres tener el bypass disponible, pero no activado, --allow-dangerously-skip-permissions lo añade al ciclo de Shift+Tab sin cambiar a él.
04Las reglas se aplican encima de los modos
Los modos fijan la base. Las reglas de permisos de los settings la ajustan:
{
"permissions": {
"allow": ["Bash(npm run test *)"],
"ask": ["Bash(git push *)"],
"deny": ["Read(./.env)"]
}
}
Las reglas se evalúan en este orden: deny, luego ask y luego allow, y decide la primera que coincide. Las reglas deny bloquean en todos los modos, incluido bypassPermissions. Las reglas allow no tienen efecto en bypassPermissions, porque ahí ya está todo permitido. Ejecuta /permissions para ver todas las reglas y el archivo del que viene cada una.
Los hooks también pueden intervenir. Un hook PreToolUse puede bloquear una llamada a una herramienta en cualquier modo. Un hook PermissionRequest puede responder un prompt por ti, pero no puede saltarse una regla deny. La guía de PermissionRequest explica cómo.
05Qué modo elegir cuando te alejas del equipo
El motivo habitual para recurrir a --dangerously-skip-permissions es querer dejar Claude trabajando y no volver a encontrarte una sesión atascada en un prompt. Es un problema real, pero el modo bypass lo resuelve eliminando por completo tu supervisión, y en tu propia máquina.
Algunas combinaciones más seguras:
- Reglas allow para los comandos aburridos. Añade tus comandos de test, lint y build a
allow, dejaaskengit pushy los deploys, y quédate endefaultoacceptEdits. - Modo auto para tareas largas en las que aceptas que un clasificador decida sobre las acciones rutinarias.
- Haz que el prompt te llegue estés donde estés. Mantén un modo que pregunte y responde desde el móvil los pocos prompts que importan.
Esto último es lo que hace Claude Code Notifier. Es una herramienta independiente, no creada por Anthropic. Su herramienta de línea de comandos, ccn, se ejecuta como hooks de Claude Code en Mac, Windows y Linux. Cuando Claude Code está a punto de pedir permiso y no estás frente al teclado, la solicitud llega a tu iPhone o Android vinculado, donde puedes permitir una vez, permitir para la sesión o denegar. Solo ve los prompts que Claude Code iba a mostrar de todos modos, así que el modo y tus reglas siguen decidiendo qué hay que preguntar. En modo auto recibes menos solicitudes; en bypassPermissions no recibes ninguna, aunque los avisos de "Claude ha terminado" y las preguntas siguen llegando. La guía de aprobación desde el móvil explica la configuración, y ¿Es seguro aprobar desde el móvil? cubre los riesgos.
06Preguntas frecuentes
¿Qué diferencia hay entre default y acceptEdits?
default pregunta antes de cada edición de archivo y cada comando de shell. acceptEdits permite sin preguntar las ediciones de archivos y comandos de archivo comunes como mkdir, mv y cp dentro del directorio de trabajo. Los demás comandos de shell siguen pidiendo confirmación en ambos.
¿--dangerously-skip-permissions es lo mismo que bypassPermissions?
Sí. El flag equivale a --permission-mode bypassPermissions. Anthropic solo lo recomienda en contenedores o VMs aislados, idealmente sin acceso a internet.
¿Cómo hago que Claude Code deje de pedir permiso para un comando concreto?
Elige "Yes, and don't ask again" en el prompt, o añade una regla allow como "Bash(npm test)" en permissions.allow dentro de tu configuración. Es más seguro que cambiar el modo entero.
¿La configuración de un proyecto puede ponerme en modo bypassPermissions?
No. bypassPermissions y auto en .claude/settings.json o .claude/settings.local.json no tienen efecto. Solo se aplican desde la configuración de usuario o gestionada, o desde el flag de línea de comandos.
¿Los hooks siguen ejecutándose en modo bypassPermissions?
Sí. Los hooks se ejecutan en todos los modos, y un hook PreToolUse que deniega una llamada a una herramienta la bloquea incluso en bypassPermissions. Un hook PermissionRequest solo se ejecuta cuando hay un prompt que responder, así que en modo bypass rara vez se dispara.