Ir al contenido
angel.library

settings.json — referencia rápida

Los 4 niveles (de mayor a menor precedencia)

Sección titulada «Los 4 niveles (de mayor a menor precedencia)»
Managed (org) → política de la empresa, no editable por el usuario
~/.claude/settings.json → tuyo, todos los proyectos
.claude/settings.json → del proyecto, se commitea, todo el equipo
.claude/settings.local.json → del proyecto, gitignored, solo tú
.claude/settings.json
{
"$schema": "https://json.schemastore.org/claude-code-settings.json",
"permissions": {
"allow": ["Bash(npm run test *)", "Bash(git status)", "Read"],
"deny": ["Bash(rm -rf *)"]
},
"model": "sonnet",
"outputStyle": "default",
"statusLine": {
"type": "command",
"command": "~/.claude/statusline.sh"
}
}
CampoPara qué
permissions.allow / .denyQué comandos/herramientas corren sin preguntar / nunca
modelModelo por defecto de la sesión
hooksVer Hooks
statusLineComando que genera la barra de estado custom
envVariables de entorno inyectadas en cada sesión
enabledPluginsPlugins auto-instalados (ver Plugins)
outputStyleEstilo de respuesta
{
"permissions": {
"allow": ["Bash(git diff:*)", "Bash(npm run *)", "Read", "Edit(src/**)"],
"deny": ["Bash(curl:*)", "Edit(.env*)"]
}
}

Bash(comando:*) permite ese comando con cualquier argumento; Bash(comando exacto) sin :* solo permite exactamente eso.

/config → ver la configuración activa
/status → estado de la sesión
/doctor → diagnóstico de instalación/configuración
  • settings.local.json nunca se commitea (gitignored por convención) — ahí van tokens, preferencias personales de modelo, cualquier cosa que no debería imponerse al equipo.
  • El $schema en el JSON habilita autocompletado en editores que lo soportan (VS Code, etc.) — vale la pena incluirlo siempre.