Claude Code /permissions y blockWritesOutsideWorkingDirectories (2.1.314)
Guía única de permisos en Claude Code: /permissions, reglas en settings.json, por qué no conviene un bypass imprudente, y blockWritesOutsideWorkingDirectories de la 2.1.314. También revisamos claude --help (--permission-mode, --add-dir).

Los temas de permisos en Claude Code suelen estar repartidos. Aquí van juntos: qué muestra /permissions, reglas en settings.json, por qué un bypass imprudente es mala idea, y permissions.blockWritesOutsideWorkingDirectories de la 2.1.314. También separamos “el directorio de trabajo ya no existe” de “escritura bloqueada fuera del árbol”.
Lo que vi: claude --help lista --permission-mode, --add-dir, --dangerously-skip-permissions, --effort; claude --version sigue en 2.1.312, así que blockWrites sale del CHANGELOG 2.1.314. Rutas de settings: settings.json.
Qué hace /permissions
Ejecuta /permissions para ver allow / deny y llamadas bloqueadas recientes. Si algo se bloquea de forma rara, ábrelo antes de reescribir la configuración.
Relacionado: auto mode temporarily unavailable. Hub: Errores de Claude Code.
Permisos en settings.json
Las reglas viven en settings.json (usuario / proyecto / gestionado). El modo de sesión viene de permission mode; en este equipo --permission-mode menciona valores como bypassPermissions y manual.
Añade carpetas con --add-dir. No uses --dangerously-skip-permissions como atajo cotidiano: el help dice que omite todas las comprobaciones. Este artículo no enseña a desactivar confirmaciones para siempre.
blockWritesOutsideWorkingDirectories (2.1.314)
CHANGELOG 2.1.314: Write, Edit y NotebookEdit rechazan rutas fuera de los directorios de trabajo en cualquier modo de permiso. Infiero (sin reproducir en 2.1.312): es un límite duro de escritura, no lo mismo que saltarse los prompts.
Carpeta ausente vs escritura fuera
| Síntoma | Significado habitual | Primer paso |
|---|---|---|
| Working directory no longer exists | Carpeta movida/borrada | Abre de nuevo el directorio correcto |
| Escritura rechazada fuera del árbol | Límite de directorio o deny; desde 2.1.314 quizá blockWrites | Mira /permissions y --add-dir |
| index.lock File exists | Candado de git | guía index.lock |
Tabla rápida de comandos
| Comando | Rol |
|---|---|
/permissions | Allow/deny y bloqueos recientes |
/model | Modelo / effort |
/status | Estado de conexión |
/login /logout | Auth |
/compact | Compactar contexto |
/resume | Reanudar sesión |
Effort 400: Invalid effort level.
Preguntas frecuentes
¿El bypass anula blockWrites?
Según 2.1.314, aplica en todos los modos para Write/Edit/NotebookEdit. Confírmalo en ≥ 2.1.314.
¿Cambié settings y no pasa nada?
Revisa la capa editada, --setting-sources y políticas gestionadas. Rutas de settings.json.