Permisos y Seguridad
Claude Code puede leer archivos, ejecutar comandos, instalar paquetes y modificar tu codigo. Eso es poderoso, pero tambien peligroso si no lo configuras bien.
El Modelo de Permisos
Claude Code tiene un sistema de permisos granular:
| Accion | Permiso Por Defecto |
|---|---|
| Leer archivos | Permitido |
| Editar archivos | Pide permiso |
| Crear archivos | Pide permiso |
| Ejecutar comandos | Pide permiso |
| Instalar paquetes | Pide permiso |
| Comandos de red | Pide permiso |
Cada vez que Claude quiere hacer algo que requiere permiso, te pregunta. Podes aprobar una vez o agregar a la lista de permitidos.
Configurar Permisos Inteligentemente
Ver Permisos Actuales
/permissionsEsto muestra que comandos tiene permitido ejecutar Claude sin preguntar.
Agregar Permisos Seguros
Para workflows comunes, agrega estos permisos:
# Testing - seguro agregar
npm run test
npm run lint
pnpm test
pnpm lint
# Build - generalmente seguro
npm run build
pnpm build
# Git read-only - seguro
git status
git diff
git logPermisos Que NUNCA Debes Agregar
# PELIGROSO - nunca permitir sin preguntar
rm -rf
npm publish
git push --force
sudo *
curl | bashLa Flag YOLO: --dangerously-skip-permissions
Cuando inicias Claude con:
claude --dangerously-skip-permissionsClaude puede hacer TODO sin preguntar. Esto es el "YOLO mode" real.
Cuando Usar YOLO Mode
| Situacion | YOLO Mode? |
|---|---|
| Feature branch nueva, codigo no critico | OK |
| Prototipo rapido, vas a borrar despues | OK |
| Produccion, branch main | NUNCA |
| Codigo financiero/medico | NUNCA |
| Proyecto con secrets en .env | CUIDADO |
Regla de Oro del YOLO
Solo usa YOLO mode si podes hacer git reset --hard sin perder nada importante.
Esto significa:
- Estas en una feature branch
- Todo tu trabajo importante ya esta commiteado
- No hay archivos sin trackear que te importen
Configuracion Por Proyecto vs Global
Claude Code tiene dos niveles de permisos:
Global (~/.claude/)
Aplica a TODOS tus proyectos:
# Ver config global
claude config --globalAca agrega permisos que queres en todos lados (como npm run test).
Por Proyecto (.claude/)
Aplica solo a este proyecto:
# Ver config del proyecto
claude configAca agrega permisos especificos de este proyecto.
Best Practices de Seguridad
1. Empieza Restrictivo
No agregues permisos hasta que los necesites. Mejor aprobar manualmente 5 veces que agregar un permiso peligroso.
2. Usa Branches Siempre
Antes de trabajar con Claude:
git checkout -b feature/mi-featureAsi si algo sale mal, podes borrar la branch y empezar de nuevo.
3. Revisa Antes de Aprobar
Cuando Claude pide permiso para ejecutar algo, lee el comando completo. No apruebes a ciegas.
4. No Guardes Secrets en Codigo
Si tenes un .env con API keys, asegurate de que este en .gitignore. Claude puede leer archivos, incluyendo tus secrets.
5. Usa Tokens con Minimo Privilegio
Si conectas Claude a servicios externos (MCPs), usa tokens con los minimos permisos necesarios.
Errores Que Me Costaron Horas
Error 1: YOLO Mode en Main
El error: Deje YOLO mode activado y trabaje en main sin darme cuenta. Claude ejecuto comandos que modificaron archivos core.
El costo: 3 horas de rollback y debugging.
La leccion: NUNCA YOLO en main. Crear un alias: alias claudeyolo='git checkout -b temp-feature && claude --dangerously-skip-permissions'
Error 2: Aprobar npm install Sin Revisar
El error: Claude pidio permiso para npm install some-package y aprobe sin leer. El paquete tenia dependencias que rompieron otras partes del proyecto.
El costo: 1 hora arreglando package.json y limpiando node_modules.
La leccion: Siempre revisar que paquete quiere instalar y por que.
Error 3: Dar Permisos Globales de Write
El error: Agregue permisos globales para que Claude pueda escribir en cualquier archivo sin preguntar. En otro proyecto, sobreescribio un archivo de configuracion importante.
El costo: 30 minutos buscando que archivo habia cambiado.
La leccion: Los permisos de escritura son por proyecto, no globales.
Configuracion Recomendada
Mi configuracion de permisos por proyecto:
{
"permissions": {
"allow": [
"npm run test",
"npm run lint",
"npm run build",
"pnpm test",
"pnpm lint",
"pnpm build",
"git status",
"git diff",
"git log"
],
"deny": [
"rm -rf",
"git push --force",
"npm publish"
]
}
}Checklist de Seguridad
Antes de empezar a trabajar con Claude en un proyecto:
- Verificar que
.envesta en.gitignore - Crear feature branch (nunca trabajar en main)
- Revisar permisos actuales con
/permissions - Tener forma de revertir cambios (git)
- No usar YOLO mode en codigo critico
Desafio: Prueba Esto
Antes de pasar a la siguiente leccion:
- Corre
/permissionsy revisa tu configuracion actual - Agrega
npm run testa los permisos permitidos - Crea una feature branch para tu proximo trabajo
- Verifica que tu
.envesta en.gitignore
Tiempo estimado: 5 minutos
Siguiente Paso
Ahora que tenes tu entorno seguro, vamos a dominar los diferentes modos de trabajo de Claude Code.