/config cuando uses el REPL interactivo, que abre una interfaz de Configuración con pestañas donde puedes ver información de estado y modificar opciones de configuración.
Archivos de configuración
El archivosettings.json es nuestro mecanismo oficial para configurar Claude Code a través de configuraciones jerárquicas:
- Configuración de usuario se define en
~/.claude/settings.jsony se aplica a todos los proyectos. - Configuración de proyecto se guarda en tu directorio de proyecto:
.claude/settings.jsonpara configuraciones que se verifican en el control de código fuente y se comparten con tu equipo.claude/settings.local.jsonpara configuraciones que no se verifican, útil para preferencias personales y experimentación. Claude Code configurará git para ignorar.claude/settings.local.jsoncuando se cree.
- Para implementaciones empresariales de Claude Code, también admitimos configuraciones de política administrada empresarial. Estas tienen precedencia sobre la configuración de usuario y proyecto. Los administradores del sistema pueden implementar políticas en:
- macOS:
/Library/Application Support/ClaudeCode/managed-settings.json - Linux y WSL:
/etc/claude-code/managed-settings.json - Windows:
C:\ProgramData\ClaudeCode\managed-settings.json
- macOS:
- Las implementaciones empresariales también pueden configurar servidores MCP administrados que anulan los servidores configurados por el usuario. Consulta Configuración empresarial de MCP:
- macOS:
/Library/Application Support/ClaudeCode/managed-mcp.json - Linux y WSL:
/etc/claude-code/managed-mcp.json - Windows:
C:\ProgramData\ClaudeCode\managed-mcp.json
- macOS:
Ejemplo settings.json
Configuraciones disponibles
settings.json admite varias opciones:
| Clave | Descripción | Ejemplo |
|---|---|---|
apiKeyHelper | Script personalizado, a ejecutarse en /bin/sh, para generar un valor de autenticación. Este valor se enviará como encabezados X-Api-Key y Authorization: Bearer para solicitudes de modelo | /bin/generate_temp_api_key.sh |
cleanupPeriodDays | Cuánto tiempo retener localmente transcripciones de chat basado en la fecha de última actividad (predeterminado: 30 días) | 20 |
env | Variables de entorno que se aplicarán a cada sesión | {"FOO": "bar"} |
includeCoAuthoredBy | Si incluir la línea co-authored-by Claude en commits de git y solicitudes de extracción (predeterminado: true) | false |
permissions | Consulta la tabla a continuación para la estructura de permisos. | |
hooks | Configura comandos personalizados para ejecutar antes o después de ejecuciones de herramientas. Consulta documentación de hooks | {"PreToolUse": {"Bash": "echo 'Running command...'"}} |
disableAllHooks | Deshabilita todos los hooks | true |
model | Anula el modelo predeterminado a usar para Claude Code | "claude-sonnet-4-5-20250929" |
statusLine | Configura una línea de estado personalizada para mostrar contexto. Consulta documentación de statusLine | {"type": "command", "command": "~/.claude/statusline.sh"} |
outputStyle | Configura un estilo de salida para ajustar el indicador del sistema. Consulta documentación de estilos de salida | "Explanatory" |
forceLoginMethod | Usa claudeai para restringir el inicio de sesión a cuentas de Claude.ai, console para restringir el inicio de sesión a cuentas de Claude Console (facturación de uso de API) | claudeai |
forceLoginOrgUUID | Especifica el UUID de una organización para seleccionarla automáticamente durante el inicio de sesión, omitiendo el paso de selección de organización. Requiere que forceLoginMethod esté configurado | "xxxxxxxx-xxxx-xxxx-xxxx-xxxxxxxxxxxx" |
enableAllProjectMcpServers | Aprueba automáticamente todos los servidores MCP definidos en archivos .mcp.json del proyecto | true |
enabledMcpjsonServers | Lista de servidores MCP específicos de archivos .mcp.json para aprobar | ["memory", "github"] |
disabledMcpjsonServers | Lista de servidores MCP específicos de archivos .mcp.json para rechazar | ["filesystem"] |
useEnterpriseMcpConfigOnly | Cuando se establece en managed-settings.json, restringe los servidores MCP solo a los definidos en managed-mcp.json. Consulta Configuración empresarial de MCP | true |
allowedMcpServers | Cuando se establece en managed-settings.json, lista de permitidos de servidores MCP que los usuarios pueden configurar. Sin definir = sin restricciones, matriz vacía = bloqueo. Se aplica a todos los ámbitos. La lista de denegados tiene precedencia. Consulta Configuración empresarial de MCP | [{ "serverName": "github" }] |
deniedMcpServers | Cuando se establece en managed-settings.json, lista de denegados de servidores MCP que están explícitamente bloqueados. Se aplica a todos los ámbitos incluyendo servidores empresariales. La lista de denegados tiene precedencia sobre la lista de permitidos. Consulta Configuración empresarial de MCP | [{ "serverName": "filesystem" }] |
awsAuthRefresh | Script personalizado que modifica el directorio .aws (consulta configuración avanzada de credenciales) | aws sso login --profile myprofile |
awsCredentialExport | Script personalizado que genera JSON con credenciales de AWS (consulta configuración avanzada de credenciales) | /bin/generate_aws_grant.sh |
Configuración de permisos
| Claves | Descripción | Ejemplo |
|---|---|---|
allow | Matriz de reglas de permisos para permitir el uso de herramientas. Nota: Las reglas de Bash usan coincidencia de prefijo, no regex | [ "Bash(git diff:*)" ] |
ask | Matriz de reglas de permisos para pedir confirmación al usar herramientas. | [ "Bash(git push:*)" ] |
deny | Matriz de reglas de permisos para denegar el uso de herramientas. Usa esto también para excluir archivos sensibles del acceso de Claude Code. Nota: Los patrones de Bash son coincidencias de prefijo y pueden ser eludidos (consulta limitaciones de permisos de Bash) | [ "WebFetch", "Bash(curl:*)", "Read(./.env)", "Read(./secrets/**)" ] |
additionalDirectories | Directorios de trabajo adicionales a los que Claude tiene acceso | [ "../docs/" ] |
defaultMode | Modo de permiso predeterminado al abrir Claude Code | "acceptEdits" |
disableBypassPermissionsMode | Establece en "disable" para evitar que se active el modo bypassPermissions. Esto deshabilita la bandera de línea de comandos --dangerously-skip-permissions. Consulta configuración de política administrada | "disable" |
Configuración de sandbox
Configura el comportamiento avanzado de sandboxing. El sandboxing aísla comandos bash de tu sistema de archivos y red. Consulta Sandboxing para detalles. Las restricciones de sistema de archivos y red se configuran a través de reglas de permisos Read, Edit y WebFetch, no a través de estas configuraciones de sandbox.| Claves | Descripción | Ejemplo |
|---|---|---|
enabled | Habilita sandboxing de bash (solo macOS/Linux). Predeterminado: false | true |
autoAllowBashIfSandboxed | Aprueba automáticamente comandos bash cuando están en sandbox. Predeterminado: true | true |
excludedCommands | Comandos que deben ejecutarse fuera del sandbox | ["git", "docker"] |
network.allowUnixSockets | Rutas de socket Unix accesibles en sandbox (para agentes SSH, etc.) | ["~/.ssh/agent-socket"] |
network.allowLocalBinding | Permite enlazar a puertos localhost (solo MacOS). Predeterminado: false | true |
network.httpProxyPort | Puerto de proxy HTTP usado si deseas traer tu propio proxy. Si no se especifica, Claude ejecutará su propio proxy. | 8080 |
network.socksProxyPort | Puerto de proxy SOCKS5 usado si deseas traer tu propio proxy. Si no se especifica, Claude ejecutará su propio proxy. | 8081 |
enableWeakerNestedSandbox | Habilita sandbox más débil para entornos Docker sin privilegios (solo Linux). Reduce la seguridad. Predeterminado: false | true |
- Las reglas de denegación de Read bloquean lecturas de archivos en sandbox
- Las reglas de permiso de Edit permiten escrituras de archivos (además de los predeterminados, por ejemplo, el directorio de trabajo actual)
- Las reglas de denegación de Edit bloquean escrituras dentro de rutas permitidas
- Las reglas de permiso de WebFetch permiten dominios de red
- Las reglas de denegación de WebFetch bloquean dominios de red
Precedencia de configuración
Las configuraciones se aplican en orden de precedencia (mayor a menor):-
Políticas administradas empresariales (
managed-settings.json)- Implementadas por TI/DevOps
- No se pueden anular
-
Argumentos de línea de comandos
- Anulaciones temporales para una sesión específica
-
Configuración de proyecto local (
.claude/settings.local.json)- Configuraciones personales específicas del proyecto
-
Configuración de proyecto compartida (
.claude/settings.json)- Configuraciones de proyecto compartidas con el equipo en control de código fuente
-
Configuración de usuario (
~/.claude/settings.json)- Configuraciones globales personales
Puntos clave sobre el sistema de configuración
- Archivos de memoria (CLAUDE.md): Contienen instrucciones y contexto que Claude carga al iniciar
- Archivos de configuración (JSON): Configuran permisos, variables de entorno y comportamiento de herramientas
- Comandos de barra: Comandos personalizados que se pueden invocar durante una sesión con
/command-name - Servidores MCP: Extienden Claude Code con herramientas e integraciones adicionales
- Precedencia: Las configuraciones de nivel superior (Empresarial) anulan las de nivel inferior (Usuario/Proyecto)
- Herencia: Las configuraciones se fusionan, con configuraciones más específicas agregando o anulando las más amplias
Disponibilidad del indicador del sistema
A diferencia de claude.ai, no publicamos el indicador del sistema interno de Claude Code en este sitio web. Usa archivos CLAUDE.md o
--append-system-prompt para agregar instrucciones personalizadas al comportamiento de Claude Code.Exclusión de archivos sensibles
Para evitar que Claude Code acceda a archivos que contienen información sensible (por ejemplo, claves de API, secretos, archivos de entorno), usa la configuraciónpermissions.deny en tu archivo .claude/settings.json:
ignorePatterns deprecada. Los archivos que coincidan con estos patrones serán completamente invisibles para Claude Code, evitando cualquier exposición accidental de datos sensibles.
Configuración de subagentos
Claude Code admite subagentos de IA personalizados que se pueden configurar a nivel de usuario y proyecto. Estos subagentos se almacenan como archivos Markdown con frontmatter YAML:- Subagentos de usuario:
~/.claude/agents/- Disponibles en todos tus proyectos - Subagentos de proyecto:
.claude/agents/- Específicos de tu proyecto y pueden compartirse con tu equipo
Configuración de complementos
Claude Code admite un sistema de complementos que te permite extender la funcionalidad con comandos personalizados, agentes, hooks y servidores MCP. Los complementos se distribuyen a través de mercados y se pueden configurar a nivel de usuario y repositorio.Configuración de complementos
Configuraciones relacionadas con complementos ensettings.json:
enabledPlugins
Controla qué complementos están habilitados. Formato: "plugin-name@marketplace-name": true/false
Ámbitos:
- Configuración de usuario (
~/.claude/settings.json): Preferencias personales de complementos - Configuración de proyecto (
.claude/settings.json): Complementos específicos del proyecto compartidos con el equipo - Configuración local (
.claude/settings.local.json): Anulaciones por máquina (no confirmadas)
extraKnownMarketplaces
Define mercados adicionales que deben estar disponibles para el repositorio. Típicamente se usa en configuraciones a nivel de repositorio para asegurar que los miembros del equipo tengan acceso a las fuentes de complementos requeridas.
Cuando un repositorio incluye extraKnownMarketplaces:
- Se solicita a los miembros del equipo que instalen el mercado cuando confían en la carpeta
- Luego se solicita a los miembros del equipo que instalen complementos de ese mercado
- Los usuarios pueden omitir mercados o complementos no deseados (almacenados en configuración de usuario)
- La instalación respeta límites de confianza y requiere consentimiento explícito
github: Repositorio de GitHub (usarepo)git: Cualquier URL de git (usaurl)directory: Ruta del sistema de archivos local (usapath, solo para desarrollo)
Gestión de complementos
Usa el comando/plugin para gestionar complementos interactivamente:
- Explora complementos disponibles de mercados
- Instala/desinstala complementos
- Habilita/deshabilita complementos
- Ver detalles de complementos (comandos, agentes, hooks proporcionados)
- Agregar/eliminar mercados
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 configurar 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.| Variable | Propósito |
|---|---|
ANTHROPIC_API_KEY | Clave de API enviada como encabezado X-Api-Key, típicamente para el SDK de Claude (para uso interactivo, ejecuta /login) |
ANTHROPIC_AUTH_TOKEN | Valor personalizado para el encabezado Authorization (el valor que establezca aquí tendrá el prefijo Bearer ) |
ANTHROPIC_CUSTOM_HEADERS | Encabezados personalizados que deseas agregar a la solicitud (en formato Name: Value) |
ANTHROPIC_DEFAULT_HAIKU_MODEL | Consulta Configuración de modelo |
ANTHROPIC_DEFAULT_OPUS_MODEL | Consulta Configuración de modelo |
ANTHROPIC_DEFAULT_SONNET_MODEL | Consulta Configuración de modelo |
ANTHROPIC_MODEL | Nombre de la configuración de modelo a usar (consulta Configuración de modelo) |
ANTHROPIC_SMALL_FAST_MODEL | [DEPRECADO] Nombre de modelo de clase Haiku para tareas de fondo |
ANTHROPIC_SMALL_FAST_MODEL_AWS_REGION | Anula la región de AWS para el modelo de clase Haiku cuando se usa Bedrock |
AWS_BEARER_TOKEN_BEDROCK | Clave de API de Bedrock para autenticación (consulta Claves de API de Bedrock) |
BASH_DEFAULT_TIMEOUT_MS | Tiempo de espera predeterminado para comandos bash de larga duración |
BASH_MAX_OUTPUT_LENGTH | Número máximo de caracteres en salidas de bash antes de que se truncen en el medio |
BASH_MAX_TIMEOUT_MS | Tiempo de espera máximo que el modelo puede establecer para comandos bash de larga duración |
CLAUDE_BASH_MAINTAIN_PROJECT_WORKING_DIR | Vuelve al directorio de trabajo original después de cada comando Bash |
CLAUDE_CODE_API_KEY_HELPER_TTL_MS | Intervalo en milisegundos en el que las credenciales deben actualizarse (cuando se usa apiKeyHelper) |
CLAUDE_CODE_CLIENT_CERT | Ruta al archivo de certificado de cliente para autenticación mTLS |
CLAUDE_CODE_CLIENT_KEY_PASSPHRASE | Frase de contraseña para CLAUDE_CODE_CLIENT_KEY cifrada (opcional) |
CLAUDE_CODE_CLIENT_KEY | Ruta al archivo de clave privada de cliente para autenticación mTLS |
CLAUDE_CODE_DISABLE_NONESSENTIAL_TRAFFIC | Equivalente a configurar DISABLE_AUTOUPDATER, DISABLE_BUG_COMMAND, DISABLE_ERROR_REPORTING y DISABLE_TELEMETRY |
CLAUDE_CODE_DISABLE_TERMINAL_TITLE | Establece en 1 para deshabilitar actualizaciones automáticas del título del terminal basadas en contexto de conversación |
CLAUDE_CODE_IDE_SKIP_AUTO_INSTALL | Omite la instalación automática de extensiones de IDE |
CLAUDE_CODE_MAX_OUTPUT_TOKENS | Establece el número máximo de tokens de salida para la mayoría de solicitudes |
CLAUDE_CODE_SKIP_BEDROCK_AUTH | Omite la autenticación de AWS para Bedrock (por ejemplo, cuando se usa una puerta de enlace de LLM) |
CLAUDE_CODE_SKIP_VERTEX_AUTH | Omite la autenticación de Google para Vertex (por ejemplo, cuando se usa una puerta de enlace de LLM) |
CLAUDE_CODE_SUBAGENT_MODEL | Consulta Configuración de modelo |
CLAUDE_CODE_USE_BEDROCK | Usa Bedrock |
CLAUDE_CODE_USE_VERTEX | Usa Vertex |
DISABLE_AUTOUPDATER | Establece en 1 para deshabilitar actualizaciones automáticas. Esto tiene precedencia sobre la configuración autoUpdates. |
DISABLE_BUG_COMMAND | Establece en 1 para deshabilitar el comando /bug |
DISABLE_COST_WARNINGS | Establece en 1 para deshabilitar mensajes de advertencia de costo |
DISABLE_ERROR_REPORTING | Establece en 1 para optar por no participar en informes de errores de Sentry |
DISABLE_NON_ESSENTIAL_MODEL_CALLS | Establece en 1 para deshabilitar llamadas de modelo para rutas no críticas como texto de sabor |
DISABLE_PROMPT_CACHING | Establece en 1 para deshabilitar el almacenamiento en caché de indicadores para todos los modelos (tiene precedencia sobre configuraciones por modelo) |
DISABLE_PROMPT_CACHING_HAIKU | Establece en 1 para deshabilitar el almacenamiento en caché de indicadores para modelos Haiku |
DISABLE_PROMPT_CACHING_OPUS | Establece en 1 para deshabilitar el almacenamiento en caché de indicadores para modelos Opus |
DISABLE_PROMPT_CACHING_SONNET | Establece en 1 para deshabilitar el almacenamiento en caché de indicadores para modelos Sonnet |
DISABLE_TELEMETRY | Establece en 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 archivo o comandos bash) |
HTTP_PROXY | Especifica servidor proxy HTTP para conexiones de red |
HTTPS_PROXY | Especifica servidor proxy HTTPS para conexiones de red |
MAX_MCP_OUTPUT_TOKENS | Número máximo de tokens permitidos en respuestas de herramientas MCP. Claude Code muestra una advertencia cuando la salida excede 10,000 tokens (predeterminado: 25000) |
MAX_THINKING_TOKENS | Habilita pensamiento extendido y establece el presupuesto de tokens para el proceso de pensamiento. El pensamiento extendido mejora el rendimiento en tareas complejas de razonamiento y codificación pero impacta eficiencia de almacenamiento en caché de indicadores. Deshabilitado por defecto. |
MCP_TIMEOUT | Tiempo de espera en milisegundos para inicio de servidor MCP |
MCP_TOOL_TIMEOUT | Tiempo de espera en milisegundos para ejecución de herramientas MCP |
NO_PROXY | Lista de dominios e IPs a los que se emitirán solicitudes directamente, omitiendo proxy |
SLASH_COMMAND_TOOL_CHAR_BUDGET | Número máximo de caracteres para metadatos de comandos de barra mostrados a herramienta SlashCommand (predeterminado: 15000) |
USE_BUILTIN_RIPGREP | Establece en 0 para usar rg instalado en el sistema en lugar de rg incluido con Claude Code |
VERTEX_REGION_CLAUDE_3_5_HAIKU | Anula región para Claude 3.5 Haiku cuando se usa Vertex AI |
VERTEX_REGION_CLAUDE_3_7_SONNET | Anula región para Claude 3.7 Sonnet cuando se usa Vertex AI |
VERTEX_REGION_CLAUDE_4_0_OPUS | Anula región para Claude 4.0 Opus cuando se usa Vertex AI |
VERTEX_REGION_CLAUDE_4_0_SONNET | Anula región para Claude 4.0 Sonnet cuando se usa Vertex AI |
VERTEX_REGION_CLAUDE_4_1_OPUS | Anula región para Claude 4.1 Opus cuando se usa Vertex AI |
Herramientas disponibles para Claude
Claude Code tiene acceso a un conjunto de herramientas poderosas que lo ayudan a entender y modificar tu base de código:| Herramienta | Descripción | Permiso Requerido |
|---|---|---|
| Bash | Ejecuta comandos de shell en tu entorno | Sí |
| Edit | Realiza ediciones dirigidas a archivos específicos | Sí |
| Glob | Encuentra archivos basados en coincidencia de patrones | No |
| Grep | Busca patrones en contenidos de archivos | No |
| NotebookEdit | Modifica celdas de cuadernos Jupyter | Sí |
| NotebookRead | Lee y muestra contenidos de cuadernos Jupyter | No |
| Read | Lee el contenido de archivos | No |
| SlashCommand | Ejecuta un comando de barra personalizado | Sí |
| Task | Ejecuta un subagentos para manejar tareas complejas de múltiples pasos | No |
| TodoWrite | Crea y gestiona listas de tareas estructuradas | No |
| WebFetch | Obtiene contenido de una URL especificada | Sí |
| WebSearch | Realiza búsquedas web con filtrado de dominio | Sí |
| Write | Crea o sobrescribe archivos | Sí |
/allowed-tools o en configuración de permisos. Consulta también Reglas de permisos específicas de herramientas.
Extensión de herramientas con hooks
Puedes ejecutar comandos personalizados antes o después de que cualquier herramienta se ejecute usando hooks de Claude Code. Por ejemplo, podrías ejecutar automáticamente un formateador de Python después de que Claude modifique archivos de Python, o evitar modificaciones a archivos de configuración de producción bloqueando operaciones de Write a ciertas rutas.Ver también
- Gestión de identidad y acceso - Aprende sobre el sistema de permisos de Claude Code
- IAM y control de acceso - Gestión de políticas empresariales
- Solución de problemas - Soluciones para problemas de configuración comunes