3.1 — Los cinco scopes de configuración
Claude Code no lee un solo archivo de configuración. Fusiona hasta cinco capas, cada una con un nivel de prioridad diferente. Entender esta jerarquía te permite predecir exactamente qué ajuste estará activo en cada situación.
Jerarquía de prioridad (de la más fuerte a la más débil)
| Prioridad | Scope | Archivo / Fuente | ¿Compartido? |
|---|---|---|---|
| 1 | Managed | managed-settings.json o managed-settings.d/ |
Empresa (MDM) |
| 2 | CLI | Flags --model, --permission-mode, etc. |
Solo la sesión |
| 3 | Local | .claude/settings.local.json (raíz del proyecto) |
No (gitignored) |
| 4 | Project | .claude/settings.json (raíz del proyecto) |
Sí (git-tracked) |
| 5 | User | ~/.claude/settings.json |
No (global personal) |
Regla de fusión
Los valores escalares (cadenas, booleanos) son sobrescritos por el scope más prioritario. Los arrays se fusionan entre los scopes. Concretamente, si el scope Project define permissions.allow: ["Edit(*.kt)"] y el scope User define permissions.allow: ["Bash(git status)"], el resultado final contiene las dos entradas.
# Verificar el resultado final de la fusión en cualquier momento
/status
Puntos clave
• 5 scopes: Managed > CLI > Local > Project > User
• Los escalares se sobrescriben, los arrays se fusionan
• .claude/settings.json = equipo, .claude/settings.local.json = personal
• /status para inspeccionar la configuración efectiva