Lesson completed!
-

Permisos y Seguridad

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:

AccionPermiso Por Defecto
Leer archivosPermitido
Editar archivosPide permiso
Crear archivosPide permiso
Ejecutar comandosPide permiso
Instalar paquetesPide permiso
Comandos de redPide 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

/permissions

Esto 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 log

Permisos Que NUNCA Debes Agregar

# PELIGROSO - nunca permitir sin preguntar
rm -rf
npm publish
git push --force
sudo *
curl | bash

La Flag YOLO: --dangerously-skip-permissions

Cuando inicias Claude con:

claude --dangerously-skip-permissions

Claude puede hacer TODO sin preguntar. Esto es el "YOLO mode" real.

Cuando Usar YOLO Mode

SituacionYOLO Mode?
Feature branch nueva, codigo no criticoOK
Prototipo rapido, vas a borrar despuesOK
Produccion, branch mainNUNCA
Codigo financiero/medicoNUNCA
Proyecto con secrets en .envCUIDADO

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 --global

Aca agrega permisos que queres en todos lados (como npm run test).

Por Proyecto (.claude/)

Aplica solo a este proyecto:

# Ver config del proyecto
claude config

Aca 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-feature

Asi 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 .env esta 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 /permissions y revisa tu configuracion actual
  • Agrega npm run test a los permisos permitidos
  • Crea una feature branch para tu proximo trabajo
  • Verifica que tu .env esta 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.