Claude Code ofrece una variedad de configuraciones para configurar su comportamiento y satisfacer tus necesidades. Puedes configurar Claude Code ejecutando el comando /config cuando uses el REPL interactivo.

Archivos de configuración

El archivo settings.json es nuestro mecanismo oficial para configurar Claude Code a través de configuraciones jerárquicas:

  • Configuraciones de usuario se definen en ~/.claude/settings.json y se aplican a todos los proyectos.
  • Configuraciones de proyecto se guardan en tu directorio de proyecto:
    • .claude/settings.json para configuraciones que se registran en el control de código fuente y se comparten con tu equipo
    • .claude/settings.local.json para configuraciones que no se registran, útiles para preferencias personales y experimentación. Claude Code configurará git para ignorar .claude/settings.local.json cuando se cree.
  • Para implementaciones empresariales de Claude Code, también admitimos configuraciones de política gestionadas por la empresa. Estas tienen precedencia sobre las configuraciones de usuario y proyecto. Los administradores del sistema pueden implementar políticas en /Library/Application Support/ClaudeCode/policies.json en macOS y /etc/claude-code/policies.json en Linux y Windows a través de WSL.
Ejemplo settings.json
{
  "permissions": {
    "allow": [
      "Bash(npm run lint)",
      "Bash(npm run test:*)",
      "Read(~/.zshrc)"
    ],
    "deny": [
      "Bash(curl:*)"
    ]
  },
  "env": {
    "CLAUDE_CODE_ENABLE_TELEMETRY": "1",
    "OTEL_METRICS_EXPORTER": "otlp"
  }
}

Configuraciones disponibles

settings.json admite varias opciones:

ClaveDescripciónEjemplo
apiKeyHelperScript personalizado, que se ejecutará en /bin/sh, para generar un valor de autenticación. Este valor generalmente se enviará como encabezados X-Api-Key, Authorization: Bearer, y Proxy-Authorization: Bearer para solicitudes de modelo/bin/generate_temp_api_key.sh
cleanupPeriodDaysCuánto tiempo retener localmente las transcripciones de chat (predeterminado: 30 días)20
envVariables de entorno que se aplicarán a cada sesión{"FOO": "bar"}
includeCoAuthoredBySi incluir la línea co-authored-by Claude en commits de git y pull requests (predeterminado: true)false
permissionsLas claves allow y deny son una lista de reglas de permisos{"allow": [ "Bash(npm run lint)" ]}

Precedencia de configuraciones

Las configuraciones se aplican en orden de precedencia:

  1. Políticas empresariales (ver documentación IAM)
  2. Argumentos de línea de comandos
  3. Configuraciones locales del proyecto
  4. Configuraciones compartidas del proyecto
  5. Configuraciones de usuario

Variables de entorno

Claude Code admite las siguientes variables de entorno para controlar su comportamiento:

Todas las variables de entorno también se pueden configurar en settings.json. Esto es útil como una forma de establecer automáticamente variables de entorno para cada sesión, o para implementar un conjunto de variables de entorno para todo tu equipo u organización.

VariablePropósito
ANTHROPIC_API_KEYClave API enviada como encabezado X-Api-Key, típicamente para el SDK de Claude (para uso interactivo, ejecuta /login)
ANTHROPIC_AUTH_TOKENValor personalizado para los encabezados Authorization y Proxy-Authorization (el valor que establezcas aquí será prefijado con Bearer )
ANTHROPIC_CUSTOM_HEADERSEncabezados personalizados que quieres agregar a la solicitud (en formato Name: Value)
ANTHROPIC_MODELNombre del modelo personalizado a usar (ver Configuración de Modelo)
ANTHROPIC_SMALL_FAST_MODELNombre del modelo clase Haiku para tareas en segundo plano
BASH_DEFAULT_TIMEOUT_MSTiempo de espera predeterminado para comandos bash de larga duración
BASH_MAX_TIMEOUT_MSTiempo de espera máximo que el modelo puede establecer para comandos bash de larga duración
BASH_MAX_OUTPUT_LENGTHNúmero máximo de caracteres en salidas bash antes de que se trunquen por el medio
CLAUDE_BASH_MAINTAIN_PROJECT_WORKING_DIRRegresar al directorio de trabajo original después de cada comando Bash
CLAUDE_CODE_API_KEY_HELPER_TTL_MSIntervalo en milisegundos en el que las credenciales deben actualizarse (cuando se usa apiKeyHelper)
CLAUDE_CODE_MAX_OUTPUT_TOKENSEstablecer el número máximo de tokens de salida para la mayoría de solicitudes
CLAUDE_CODE_USE_BEDROCKUsar Bedrock (ver Bedrock & Vertex)
CLAUDE_CODE_USE_VERTEXUsar Vertex (ver Bedrock & Vertex)
CLAUDE_CODE_SKIP_BEDROCK_AUTHOmitir autenticación AWS para Bedrock (ej. cuando se usa un gateway LLM)
CLAUDE_CODE_SKIP_VERTEX_AUTHOmitir autenticación Google para Vertex (ej. cuando se usa un gateway LLM)
CLAUDE_CODE_DISABLE_NONESSENTIAL_TRAFFICEquivalente a establecer DISABLE_AUTOUPDATER, DISABLE_BUG_COMMAND, DISABLE_ERROR_REPORTING, y DISABLE_TELEMETRY
DISABLE_AUTOUPDATEREstablecer a 1 para deshabilitar el actualizador automático
DISABLE_BUG_COMMANDEstablecer a 1 para deshabilitar el comando /bug
DISABLE_COST_WARNINGSEstablecer a 1 para deshabilitar mensajes de advertencia de costos
DISABLE_ERROR_REPORTINGEstablecer a 1 para optar por no participar en el reporte de errores de Sentry
DISABLE_NON_ESSENTIAL_MODEL_CALLSEstablecer a 1 para deshabilitar llamadas de modelo para rutas no críticas como texto de sabor
DISABLE_TELEMETRYEstablecer a 1 para optar por no participar en telemetría de Statsig (nota que los eventos de Statsig no incluyen datos de usuario como código, rutas de archivos, o comandos bash)
HTTP_PROXYEspecificar servidor proxy HTTP para conexiones de red
HTTPS_PROXYEspecificar servidor proxy HTTPS para conexiones de red
MAX_THINKING_TOKENSForzar un presupuesto de pensamiento para el modelo
MCP_TIMEOUTTiempo de espera en milisegundos para el inicio del servidor MCP
MCP_TOOL_TIMEOUTTiempo de espera en milisegundos para la ejecución de herramientas MCP
MAX_MCP_OUTPUT_TOKENSNúmero máximo de tokens permitidos en respuestas de herramientas MCP (predeterminado: 25000)

Opciones de configuración

Estamos en el proceso de migrar la configuración global a settings.json.

claude config será deprecado en lugar de settings.json

Para gestionar tus configuraciones, usa los siguientes comandos:

  • Listar configuraciones: claude config list
  • Ver una configuración: claude config get <key>
  • Cambiar una configuración: claude config set <key> <value>
  • Agregar a una configuración (para listas): claude config add <key> <value>
  • Remover de una configuración (para listas): claude config remove <key> <value>

Por defecto config cambia tu configuración de proyecto. Para gestionar tu configuración global, usa la bandera --global (o -g).

Configuración global

Para establecer una configuración global, usa claude config set -g <key> <value>:

ClaveDescripciónEjemplo
autoUpdaterStatusHabilitar o deshabilitar el auto-actualizador (predeterminado: enabled)disabled
preferredNotifChannelDónde quieres recibir notificaciones (predeterminado: iterm2)iterm2, iterm2_with_bell, terminal_bell, o notifications_disabled
themeTema de colordark, light, light-daltonized, o dark-daltonized
verboseSi mostrar salidas completas de bash y comandos (predeterminado: false)true

Herramientas disponibles para Claude

Claude Code tiene acceso a un conjunto de herramientas poderosas que le ayudan a entender y modificar tu base de código:

HerramientaDescripciónPermiso Requerido
AgentEjecuta un sub-agente para manejar tareas complejas de múltiples pasosNo
BashEjecuta comandos de shell en tu entorno
EditHace ediciones dirigidas a archivos específicos
GlobEncuentra archivos basados en coincidencia de patronesNo
GrepBusca patrones en contenidos de archivosNo
LSLista archivos y directoriosNo
MultiEditRealiza múltiples ediciones en un solo archivo atómicamente
NotebookEditModifica celdas de notebook Jupyter
NotebookReadLee y muestra contenidos de notebook JupyterNo
ReadLee los contenidos de archivosNo
TodoReadLee la lista de tareas de la sesión actualNo
TodoWriteCrea y gestiona listas de tareas estructuradasNo
WebFetchObtiene contenido de una URL especificada
WebSearchRealiza búsquedas web con filtrado de dominio
WriteCrea o sobrescribe archivos

Las reglas de permisos se pueden configurar usando /allowed-tools o en configuraciones de permisos.

Ver también