Guia de Approval y Sandbox para Claude Code | Configuracion segura para el trabajo diario
Como dividir acciones de Claude Code en allow, ask, deny y sandbox con settings practicos, hooks y casos reales.
Tener approval activado no significa que Claude Code ya sea seguro. Cuando aparecen demasiados dialogs, la gente deja de leer. Cuando allow es demasiado amplio, el agente puede ejecutar acciones que en realidad debian parar en manos humanas.
Este articulo responde a la pregunta operativa que aparece despues de empezar con Claude Code: que debe ser automatico, que debe pedir approval y que debe estar prohibido. Si quieres el contexto completo, combina esta lectura con harness engineering, permissions guide y security failure cases.
Approval no es lo mismo que seguridad
La configuracion diaria suele necesitar tres capas:
| Control | Funcion | Ejemplos |
|---|---|---|
| permission rules | Separar allow / ask / deny | secrets, comandos destructivos, deploy |
| approval flow | Frenar antes de efectos irreversibles | git push, publish, send |
| sandbox | Reducir lo que puede tocar el shell | build, validacion, scripts exploratorios |
La referencia oficial debe ser permissions, settings y hooks. La idea central es simple: lo reversible debe ser rapido; lo irreversible debe ser lento.
Una division practica para el uso diario
| Accion | Recomendacion | Motivo |
|---|---|---|
| Leer archivos, buscar, revisar diffs | allow | Bajo riesgo |
| Build, test, lint, analytics | allow | No debe frenar la iteracion |
| Editar codigo en una rama | ask o allow por sesion | Depende del repo |
git push, deploy, publish, send | ask | Tienen efecto externo |
Leer .env, rm -rf, git reset --hard | deny | El dano potencial es alto |
| Escrituras a APIs externas | ask | Afectan sistemas reales |
Base util para .claude/settings.json
{
"$schema": "https://json.schemastore.org/claude-code-settings.json",
"permissions": {
"allow": [
"Read",
"Grep",
"Glob",
"Bash(npm run build)",
"Bash(npm run test)",
"Bash(node scripts/analytics-report.mjs *)"
],
"ask": [
"Edit",
"Write",
"Bash(git push *)",
"Bash(npx wrangler pages deploy *)",
"Bash(node scripts/outreach-send-mails.mjs --send)",
"WebFetch(domain:api.gumroad.com)"
],
"deny": [
"Read(./.env)",
"Read(./.env.*)",
"Bash(rm -rf *)",
"Bash(git reset --hard *)",
"Bash(curl * | sh)"
]
},
"sandbox": {
"enabled": true,
"failIfUnavailable": false
}
}
Si tu entorno no soporta sandbox, compensa moviendo mas acciones con side effects a ask.
Hooks para reducir errores repetidos
{
"hooks": {
"PreToolUse": [
{
"matcher": "Bash(git add*)",
"hooks": [{
"type": "command",
"command": "git diff --cached --name-only | grep -E '^\\.env' && echo 'Blocked: .env staged' && exit 1 || exit 0"
}]
},
{
"matcher": "Bash(npx wrangler pages deploy*)",
"hooks": [{
"type": "command",
"command": "npm run build"
}]
}
],
"PostToolUse": [
{
"matcher": "Edit|Write",
"hooks": [{
"type": "command",
"command": "npm run test || true"
}]
}
]
}
}
La combinacion util es:
- bloquear secrets antes del commit
- forzar build antes del deploy
- ejecutar validaciones despues de editar
Tres workflows reales
1. Sitio de contenido
No basta con escribir el articulo. Hay que revisar analytics, elegir el tema, crear locales, hacer build, deployar, abrir la URL publica y verificar mobile con Playwright.
2. Repositorio de aplicacion
Claude Code puede leer, refactorizar en una rama y correr tests con mucha seguridad. Push a ramas compartidas, migraciones, APIs de produccion e infraestructura deberian quedarse en ask.
3. Outreach y operaciones
Investigar, clasificar y redactar puede ser automatico. Enviar correos, cambiar registros reales o publicar activos no.
Fallos comunes
- Poner todo en
asky cansarse de aprobar. - Convertir
--dangerously-skip-permissionsen costumbre. - Confundir build correcto con release correcto.
El tercer error es muy frecuente en contenido multilenguaje: la build pasa, pero la URL publica sigue vieja o una locale no salio.
Lo que cambiamos hoy
En ClaudeCodeLab endurecimos la regla diaria:
- publicar un articulo nuevo en cada run
- avanzar tambien una tarea existente
- verificar mobile con Playwright
- comprobar en produccion todas las URLs del mismo slug
La seguridad real no sale de una advertencia vaga, sino de reglas operativas concretas.
Siguiente paso
Empieza con el cheatsheet gratuito. Si quieres configuraciones, hooks y patrones listos para copiar, revisa la English products page. Si necesitas ayuda para rollout, review flow o limites de automatizacion segura, usa la consultation page.
PDF gratuito: Hoja de trucos de Claude Code en 5 minutos
Solo deja tu correo y te enviaremos al instante la hoja de trucos en una página A4.
Cuidamos tus datos personales y nunca enviamos spam.
Sobre el autor
Masa
Ingeniero apasionado por Claude Code. Dirige claudecode-lab.com, un medio tecnológico en 10 idiomas con más de 2.000 páginas.
Artículos relacionados
7 plantillas de CLAUDE.md para Claude Code que puedes copiar en proyectos reales
Siete plantillas prácticas de CLAUDE.md para apps individuales, sitios de contenido, APIs, equipos y repos legacy, con errores que debes evitar.
Guía completa para empezar con Claude Code 2026 | De cero a usarlo en tu trabajo real en 7 pasos
La guía definitiva para quienes usan Claude Code por primera vez. Desde la instalación hasta integrarlo en tu flujo de desarrollo real — con todos los tropiezos que Masa tuvo al comenzar.
Crear una REST API con Claude Code | Guía práctica para principiantes
Aprendé los fundamentos de REST API con Claude Code. Una guía práctica que cubre diseño de endpoints, validación y manejo de errores — con código listo para copiar.