Los ajustes que lo cambian todo
Objetivos de este capítulo
- Configurar los permisos para dejar de validar 100 veces los mismos comandos
- Usar los modos Plan y Auto-Edit en el momento adecuado
- Gestionar el contexto para sesiones limpias y eficaces
Permisos: deja de aprobar sin parar
Por defecto, Claude pide permiso antes de cada comando de shell y cada modificación de archivo. Es el ajuste correcto para empezar: mientras no sepas lo que hace la herramienta, cada acción merece una mirada. Pero al cabo de una hora, habrás aprobado treinta veces ls, cat y git status — comandos de lectura que no pueden romper nada. Esta fricción tiene un coste real: interrumpe tu concentración y, peor, te entrena a hacer clic en «sí» mecánicamente, lo que arruina el interés mismo del control.
La solución: autorizar de una vez por todas los comandos no destructivos, y mantener la validación manual para los que modifican el estado de tu sistema o tocan la red de forma sensible. El sistema de permisos de Claude Code se basa en listas de autorización por herramienta y por patrón de comando, almacenadas en archivos de configuración. Puedes consultarlas y modificarlas en cualquier momento con el comando /permissions.
Lo más simple para empezar: pega este prompt en Claude Code — actualizará tu archivo .claude/settings.local.json, donde viven tus permisos locales:
añade permisos a este proyecto claude code para autorizar los comandos bash no destructivos: WebSearch, WebFetch, source, export, curl, jq, cat, ls, grep, echo, which, wc, file, pwd, mkdir, touch, head, tail, find, sort, tree, diff, node, npm, npx, git status, git diff, git log
Anatomía de los archivos de configuración
Claude Code lee sus ajustes en tres niveles, del más general al más específico: ~/.claude/settings.json (tus ajustes personales, válidos en todas partes), .claude/settings.json (los ajustes del proyecto, a versionar en Git para compartirlos con un equipo), y .claude/settings.local.json (tus ajustes locales para este proyecto, ignorados por Git). Los permisos concedidos «para este proyecto» aterrizan en este último.
{
"permissions": {
"allow": [
"Bash(ls:*)",
"Bash(cat:*)",
"Bash(git status)",
"Bash(git diff:*)",
"WebSearch",
"WebFetch(domain:docs.anthropic.com)"
],
"deny": [
"Bash(rm -rf:*)"
]
}
}Lee este archivo una vez para entender la lógica: cada entrada combina una herramienta (Bash, WebFetch…) y un patrón. Bash(git diff:*) autoriza git diff con cualquier argumento, pero no git push. La lista deny siempre prevalece sobre allow: es tu cinturón de seguridad, incluso si una regla de autorización es demasiado amplia.
Modos: Plan vs Auto-Edit
Más allá de los permisos comando por comando, Claude Code tiene modos de permiso que controlan su grado de autonomía global. En la terminal, pasas de uno a otro con Shift+Tab; en la extensión, un selector hace lo mismo. La práctica de los usuarios experimentados: pasar la mayor parte del tiempo en Plan Mode o Ask Before Edits durante la fase de reflexión.
En Plan Mode, Claude no toca nada: lee, analiza y te presenta un plan de acción detallado. Ahí se juega todo. Lees lo que propone, debates, pides revisiones: «¿por qué este enfoque y no aquel otro?», «añade una etapa de verificación aquí». Mientras el plan no esté validado, te quedas en modo restrictivo. Una vez fijado el plan, cambias a Auto-Edit (aceptación automática de las modificaciones) y lo dejas ejecutar rápido, sin interrumpirte en cada archivo.
- Plan Mode → fase de diseño: Claude lee y planifica, no modifica nada. Ideal para tareas complejas o nuevas.
- Ask Before Edits (por defecto) → Claude propone cada modificación y espera tu acuerdo. Buen compromiso para el día a día.
- Auto-Edit → fase de ejecución: el plan está validado, Claude avanza sin interrumpirte en las ediciones de archivos.
flowchart LR
A["Plan Mode: Claude propone"] --> B{"¿Plan validado?"}
B -->|"No: se debate, se revisa"| A
B -->|"Sí"| C["Auto-Edit: ejecución rápida"]
C --> D["Relectura del resultado"]
D --> E["/clear y siguiente tarea"]El modo YOLO: manejar con precaución
Existe un nivel por encima: lanzar Claude Code con claude --dangerously-skip-permissions, que desactiva todas las peticiones de permiso. El nombre es explícito — es intencionadamente intimidante. Este modo tiene usos legítimos: tareas largas y bien acotadas (corregir errores de lint en 50 archivos, generar boilerplate) donde cada interrupción arruina el interés de la automatización.
Pero entiende lo que firmas: Claude puede entonces ejecutar cualquier comando sin consultarte. La recomendación de Anthropic es reservar este modo para entornos aislados — un contenedor Docker, una máquina virtual, una carpeta sin datos sensibles. En tu puesto de trabajo principal, con tus archivos reales de clientes, conténtate con las listas de autorización: obtienes el 95% de la fluidez con el 5% del riesgo.
Contexto: empezar limpio con /clear y /compact
Cada conversación con Claude vive en una ventana de contexto: la memoria de trabajo del modelo. Todo entra ahí — tus mensajes, sus respuestas, el contenido de los archivos leídos, las salidas de comandos. Esta ventana es grande pero finita, y sobre todo: cuanto más se llena de cosas sin relación con tu tarea actual, más se degradan las respuestas. El modelo empieza a mezclar temas, a recuperar decisiones de una tarea anterior, a perder el hilo.
Cuando empiezas una nueva tarea (nueva funcionalidad, corrección, tema diferente), limpia la conversación para empezar con un contexto limpio. Existen dos comandos, y no hacen lo mismo:
El buen reflejo: /clear por defecto entre tareas, /compact solo cuando estás en medio de algo largo y Claude te avisa de que el contexto se llena. Ten en cuenta que Claude Code también activa una compactación automática cuando la ventana se acerca a la saturación — pero una compactación elegida en el momento adecuado (después de una etapa terminada, no en medio de un razonamiento) preserva mejor la calidad.
El atajo que recarga tu contexto
«¡Pero si hago /clear, Claude olvida todo mi proyecto!» Exacto — y por eso existe el capítulo 8. El archivo CLAUDE.md, leído automáticamente al inicio de cada sesión, contiene el contexto permanente de tu proyecto. /clear borra el ruido conversacional; CLAUDE.md garantiza que lo esencial siempre vuelve.
Truco de experto mientras tanto: crea un atajo (por ejemplo un pequeño comando qnew) que pida a Claude releer tu CLAUDE.md y resumir en qué punto está el proyecto. Así cada sesión arranca con todo el contexto del proyecto, sin el ruido de las conversaciones pasadas. Verás en el capítulo 8 cómo construir este archivo correctamente.
Contexto
El proyecto de Lea va a encadenar muchos comandos de lectura: listar archivos, leer logs de publicación, verificar estados de Git. Antes de construir la menor skill, quieres un entorno fluido donde Claude solo te interrumpa para las decisiones reales. Vas a configurar los permisos y luego experimentar el ciclo Plan → Auto-Edit en una tarea real.
Instrucciones
- Pide a Claude añadir los permisos no destructivos (usa el prompt del capítulo).
- Abre el archivo
.claude/settings.local.jsongenerado y lee la lista: identifica la sintaxisBash(comando:*). - Escribe
/permissionspara ver la misma lista desde la interfaz de Claude Code. - Pasa a Plan Mode (Shift+Tab) y pide un plan para «preparar la estructura del proyecto: una carpeta para las skills, una para los logs, un archivo de configuración» — observa que planifica en lugar de ejecutar.
- Desafía el plan: pídele justificar una elección o añadir una etapa.
- Cambia a Auto-Edit y déjalo ejecutar el plan validado sin interrupción.
- Termina con
/clearpara empezar limpio antes del próximo capítulo.
En resumen
- Autoriza los comandos no destructivos una vez para no revalidarlos más: la fricción mecánica mata la vigilancia.
- Los permisos viven en
.claude/settings.local.json(local),.claude/settings.json(proyecto) y~/.claude/settings.json(global);denysiempre prevalece. - Quédate en Plan Mode para diseñar y debatir, cambia a Auto-Edit para ejecutar rápido (Shift+Tab).
--dangerously-skip-permissionsexiste para tareas largas en entornos aislados — nunca con datos sensibles./clearentre dos tareas sin relación;/compacten medio de una tarea larga que se satura.- El ruido de las tareas anteriores degrada las respuestas: un contexto limpio es una palanca de calidad gratuita.
- CLAUDE.md (capítulo 8) garantiza que lo esencial del proyecto sobrevive a los
/clear.
Quiz — comprueba tu comprensión
1. ¿Cuándo deberías quedarte en Plan Mode?
2. ¿Por qué limpiar el contexto entre dos tareas?
3. ¿Cuál es la diferencia entre /clear y /compact?
4. ¿En qué archivo aterrizan los permisos concedidos localmente para un proyecto?
5. ¿Cuál es el buen uso de --dangerously-skip-permissions?