SpyBara
Go Premium

settings-example.md 2026-09-11 23:01 UTC to 2026-09-12 03:02 UTC

This page contains 396 additions and 0 deletions.

2026
Sat 12 03:02 Fri 18 23:58 Tue 22 23:59 Fri 25 23:58

Archivos de configuración de ejemplo

Archivos settings.json realistas para un desarrollador, un equipo y una organización: copie uno, mantenga las claves que desee y cambie los valores.

Esta página contiene tres archivos settings.json de ejemplo, uno para cada lugar donde guarda una configuración:

  • Un ~/.claude/settings.json de desarrollador
  • Un .claude/settings.json de equipo, confirmado en el repositorio
  • Un managed-settings.json de organización

Cada uno es un archivo plausible para ese lector, para que pueda ver la forma y copiar las partes que desee. Ninguno de ellos es una línea base recomendada. Cada valor proviene de la entrada de la clave en la referencia de configuración, que tiene su tipo, valor predeterminado y dónde se puede establecer.

Cada ejemplo tiene dos pestañas. Archivo de configuración copiable es el archivo tal como lo guardaría. Lo que hace cada clave es el mismo archivo con un comentario encima de cada clave; Claude Code no acepta comentarios en un archivo de configuración, así que copie de la primera pestaña.

Su propia configuración

La configuración personal de un desarrollador. Elige un modelo y esfuerzo, ajusta la terminal y aprueba previamente un comando de solo lectura y una lectura de archivo. Todo lo que no aparece en la lista mantiene su valor predeterminado. Un archivo como este va en ~/.claude/settings.json, donde se aplica a cada proyecto que abre.

Guarde esto como ~/.claude/settings.json. Es JSON válido sin comentarios, así que puede pegarlo tal cual y eliminar las claves que no desee.

{
"model": "claude-sonnet-5",
"effortLevel": "xhigh",
"editorMode": "vim",
"theme": "light-daltonized",
"statusLine": {
"type": "command",
"command": "jq -r '\"[\\(.model.display_name)] \\(.context_window.used_percentage // 0)% context\"'",
"padding": 2
},
"spinnerTipsEnabled": false,
"preferredNotifChannel": "terminal_bell",
"permissions": {
"allow": [
"Bash(git diff *)",
"Read(~/.zshrc)"
]
},
"autoUpdatesChannel": "stable",
"cleanupPeriodDays": 20
}

Configuración compartida de un equipo

La configuración compartida de un equipo, confirmada en el repositorio para que todos los que lo clonan obtengan los mismos permisos, hooks, telemetría y marketplace de plugins. Guarde un archivo como este en .claude/settings.json en la parte superior del repositorio. Lo que debe saber antes de confirmar uno:

  • Las sesiones en la nube también lo leen. Una sesión en la nube en Claude Code en la web comienza desde un clon del repositorio, por lo que el archivo confirmado también se aplica allí.
  • Las reglas de permiso esperan confianza. Las reglas de permiso y las entradas de extraKnownMarketplaces entran en vigor después de que cada persona confía en esta carpeta misma, no solo en una carpeta principal; las reglas de denegación y pregunta se aplican en cada sesión, confiable o no.
  • El hook es un script en el repositorio. El hook de este archivo ejecuta .claude/hooks/block-rm.sh; Cómo se resuelve un hook explica cómo escribirlo.
  • Las reglas coinciden con el comando y la ruta tal como se escriben. Bash(git push *) no coincide con git -C . push. Read(./.env) por sí solo detiene las herramientas de archivo y los comandos que nombran el archivo, como cat .env, pero no grep -r ejecutado sobre el directorio; el bloque sandbox en este archivo cierra esa brecha, porque el sandbox añade sus rutas de denegación de Read a lo que ningún comando en sandbox puede leer.

Guarde esto como .claude/settings.json en la parte superior del repositorio y confírmelo. Es JSON válido sin comentarios, así que puede pegarlo tal cual y eliminar las claves que no desee.

{
"permissions": {
"allow": [
"Bash(npm run *)"
],
"ask": [
"Bash(git push *)"
],
"deny": [
"Read(./.env)",
"Read(./.env.*)",
"Read(./secrets/**)"
]
},
"env": {
"CLAUDE_CODE_ENABLE_TELEMETRY": "1",
"OTEL_METRICS_EXPORTER": "otlp",
"OTEL_EXPORTER_OTLP_PROTOCOL": "grpc",
"OTEL_EXPORTER_OTLP_ENDPOINT": "http://collector.example.com:4317"
},
"hooks": {
"PreToolUse": [
{
"matcher": "Bash",
"hooks": [
{
"type": "command",
"command": "${CLAUDE_PROJECT_DIR}/.claude/hooks/block-rm.sh"
}
]
}
]
},
"extraKnownMarketplaces": {
"acme-tools": {
"source": {
"source": "github",
"repo": "acme-corp/claude-plugins"
}
}
},
"enabledPlugins": {
"code-formatter@acme-tools": true
},
"sandbox": {
"enabled": true,
"filesystem": {
"allowWrite": [
"/tmp/build"
]
},
"network": {
"allowedDomains": [
"registry.npmjs.org",
"*.example.com"
]
}
},
"plansDirectory": "./plans"
}

Configuración administrada de una organización

Un archivo managed-settings.json que muestra la forma de las claves administradas, con un valor plausible para cada una. No es una política recomendada: elija las claves que coincidan con sus propios requisitos y establezca sus propios valores. El ejemplo establece estas claves:

  • forceLoginMethod y forceLoginOrgUUID fijan el método de inicio de sesión y la organización
  • availableModels y enforceAvailableModels restringen qué modelos pueden usar las sesiones
  • permissions.deny bloquea dos lecturas de archivo y comandos curl como Claude los escribe, y disableBypassPermissionsMode elimina el modo de permiso de omisión
  • allowManagedPermissionRulesOnly y allowManagedMcpServersOnly hacen que las listas de permisos administrados y MCP sean las únicas que se apliquen
  • allowedMcpServers fija el servidor MCP por URL
  • strictKnownMarketplaces permite un marketplace de plugins
  • sandbox coloca los comandos en sandbox con una lista de permisos de red fija y sin reintento sin sandbox
  • requiredMinimumVersion establece una versión mínima de Claude Code
  • cleanupPeriodDays acorta la retención de transcripciones de sesión y otros datos locales a siete días
  • companyAnnouncements muestra un mensaje al inicio

Los administradores implementan un archivo como este como managed-settings.json, o el mismo JSON a través de MDM o configuración administrada por servidor. Un archivo implementado se aplica a cada máquina o cuenta que alcanza. Para dar a un grupo valores diferentes, implemente un archivo o perfil diferente en ese grupo, ya que la configuración administrada por servidor aún no admite política por grupo.

Implemente esto como managed-settings.json, o el mismo JSON a través de MDM o la consola de claude.ai. Es JSON válido sin comentarios; reemplace el UUID de organización de ejemplo, la URL del servidor y el marketplace con los suyos propios y elimine las claves que no desee.

{
"forceLoginMethod": "claudeai",
"forceLoginOrgUUID": [
"xxxxxxxx-xxxx-xxxx-xxxx-xxxxxxxxxxxx"
],
"availableModels": [
"opus",
"sonnet"
],
"enforceAvailableModels": true,
"permissions": {
"deny": [
"Bash(curl *)",
"Read(./.env)",
"Read(./secrets/**)"
],
"disableBypassPermissionsMode": "disable"
},
"allowManagedPermissionRulesOnly": true,
"allowedMcpServers": [
{
"serverUrl": "https://api.githubcopilot.com/*"
}
],
"allowManagedMcpServersOnly": true,
"strictKnownMarketplaces": [
{
"source": "github",
"repo": "acme-corp/approved-plugins"
}
],
"sandbox": {
"enabled": true,
"failIfUnavailable": true,
"allowUnsandboxedCommands": false,
"network": {
"allowedDomains": [
"registry.npmjs.org",
"github.com"
],
"allowManagedDomainsOnly": true
}
},
"requiredMinimumVersion": "2.1.150",
"cleanupPeriodDays": 7,
"companyAnnouncements": [
"Welcome to Acme Corp! Review our code guidelines at docs.example.com"
]
}