Skip to main content
Las variables de entorno pueden controlar el comportamiento de Claude Code, como la selección de modelo, autenticación, enrutamiento de solicitudes y alternadores de características. Muchos de los mismos comportamientos también se pueden configurar a través de un campo de archivo de configuración, una bandera CLI o un comando en sesión como /model. Esta página cubre cómo:

Establecer variables de entorno

Una variable que establezca en su shell dura durante esa sesión de terminal, mientras que una variable en un archivo de configuración se aplica cada vez que se ejecuta claude.

En su shell

Establezca la variable antes de lanzar claude:
Para establecerla para cada sesión, agregue la línea export a ~/.bashrc, ~/.zshrc, o el archivo de perfil de su shell.
La línea de asignación no imprime nada en caso de éxito, así que confirme que la variable está establecida imprimiéndola en el mismo shell antes de ejecutar claude:

En archivos de configuración

Agregue variables bajo la clave env en un archivo settings.json, creando el archivo si no existe. Claude Code las lee directamente del archivo, por lo que surten efecto sin importar cómo se haya lanzado claude. Una sesión en ejecución aplica valores nuevos y modificados a su entorno cuando guarda el archivo, pero una característica que lee sus variables una sola vez al inicio, como monitoreo de OpenTelemetry, mantiene sus valores de inicio hasta que relance. Eliminar una variable del archivo no la desestablece en una sesión en ejecución; la eliminación surte efecto la próxima vez que lance claude.
~/.claude/settings.json
El archivo que elija controla a quién se aplican las variables: Consulte Archivos de configuración para saber dónde vive cada archivo y Precedencia de configuración para saber cómo se combinan cuando más de uno establece la misma variable.

Precedencia

Algunos comportamientos tienen tanto una variable de entorno como una clave de configuración dedicada, y cuál lee primero Claude Code difiere según la clave. Para ANTHROPIC_MODEL y CLAUDE_CODE_AUTO_CONNECT_IDE, Claude Code lee primero la variable y utiliza la configuración model o autoConnectIde solo cuando la variable no está establecida. Para el par que está configurando, verifique la fila de la variable a continuación y la entrada de la clave en la referencia de configuración. Cuando la misma variable se establece tanto en su shell como en un bloque env de archivo de configuración, se aplica el valor del archivo de configuración. Claude Code escribe cada entrada env en el entorno del proceso, reemplazando el valor heredado del shell. La configuración env indica cuándo se aplica. Algunas variables tienen casos especiales; la configuración env enumera las excepciones. En un archivo de configuración puede establecer una variable pero no puede eliminar una. Para anular una variable que no puede desestablecer, como una CLAUDE_CODE_USE_VERTEX obsoleta exportada por un perfil de shell que no controla, establézcala en una cadena vacía en el bloque env: "CLAUDE_CODE_USE_VERTEX": "". Claude Code trata el valor vacío como no establecido para la selección de proveedor. Los subprocesos aún heredan el valor vacío. Entre archivos de configuración, los valores env siguen la precedencia de configuración, por lo que una entrada de configuración administrada anula la misma variable en la configuración de usuario o proyecto. La configuración de proyecto y local no puede establecer algunas variables, como CLAUDE_CONFIG_DIR y las variables del exportador de OpenTelemetry. Variables que Claude Code ignora en env las enumera, junto con los valores de desactivación de OpenTelemetry que aún se aplican. Cómo una variable de entorno interactúa con banderas CLI y comandos en sesión varía según la característica: --model y /model anulan ANTHROPIC_MODEL, mientras que CLAUDE_CODE_EFFORT_LEVEL anula --effort y /effort. Cuando una variable interactúa con otra fuente de configuración, su fila en la lista Variables indica la precedencia o vincula a la página que la documenta. Claude Code lee las variables de entorno del shell al iniciar, por lo que los cambios en ellas surten efecto la próxima vez que inicia claude. Las variables establecidas bajo la clave env en archivos de configuración se reaplicarán a una sesión en ejecución cuando el archivo cambie, con la excepción de solo inicio descrita en En archivos de configuración.

Variables

Las variables numéricas como tiempos de espera, presupuestos de tokens y conteos de reintentos aceptan notación científica y deletreos con separadores de dígitos además de dígitos simples, excepto donde la fila de una variable indica que solo acepta dígitos simples. Por ejemplo, Claude Code lee 2e3 como 2000 y 64_000 como 64000. Antes de v2.1.211, estos deletreos podían establecer silenciosamente un valor mucho más pequeño, como 1e6 estableciendo un tiempo de espera a 1.
Para variables que activan o desactivan un comportamiento, establezca 1 o true para activarlo y 0 o false para desactivarlo, en cualquier mayúscula.Algunas variables solo leen si las establece en absoluto, por lo que cualquier valor no vacío, incluido 0, activa el comportamiento, y desactiva el comportamiento desestableciendo la variable o estableciéndola en un valor vacío. Estas variables funcionan de esa manera:
  • CLAUDE_CODE_DISABLE_NONESSENTIAL_TRAFFIC
  • DISABLE_TELEMETRY
  • DISABLE_ERROR_REPORTING
  • CLAUDE_CODE_TMUX_TRUECOLOR
  • FALLBACK_FOR_ALL_PRIMARY_MODELS
  • IS_DEMO
Otra variable tiene su propia regla: FORCE_HYPERLINK lee un número, por lo que solo 0 la desactiva. La fila de cada variable también establece su propia regla.
También se admiten variables estándar del exportador de OpenTelemetry (OTEL_METRICS_EXPORTER, OTEL_LOGS_EXPORTER, OTEL_EXPORTER_OTLP_ENDPOINT, OTEL_EXPORTER_OTLP_PROTOCOL, OTEL_EXPORTER_OTLP_HEADERS, OTEL_METRIC_EXPORT_INTERVAL, OTEL_RESOURCE_ATTRIBUTES, y variantes específicas de señal). Consulte Monitoreo para detalles de configuración. Establezca CLAUDE_CODE_ENABLE_TELEMETRY y las variables de OpenTelemetry que activan la exportación, eligen su destino, o capturan contenido en su shell, configuración de usuario, o configuración administrada. Claude Code las ignora en configuración de proyecto y local, aparte de los valores desactivados que esa sección describe. OTEL_RESOURCE_ATTRIBUTES y el intervalo de exportación, tiempo de espera, y variables de compresión, como OTEL_METRIC_EXPORT_INTERVAL, aún se aplican desde configuración de proyecto y local.

Características que necesitan obtención de banderas de características

Claude Code activa algunas características a través de banderas de características que obtiene de Anthropic. Claude Code omite esa obtención en estas sesiones:
  • Una sesión donde usted establece DISABLE_GROWTHBOOK, DISABLE_TELEMETRY, DO_NOT_TRACK, o CLAUDE_CODE_DISABLE_NONESSENTIAL_TRAFFIC; la fila de cada variable en la tabla de variables indica qué valores desactivan la obtención
  • Una sesión en un proveedor de terceros, como Amazon Bedrock, Claude Platform en AWS, Agent Platform de Google Cloud, o Microsoft Foundry, a menos que una plataforma anfitriona que integre Claude Code establezca CLAUDE_CODE_PROVIDER_MANAGED_BY_HOST
  • Una sesión de puerta de enlace de aplicaciones Claude
Con la obtención desactivada, usted no puede:

Primera sesión después de una instalación o actualización

En su primera sesión después de instalar Claude Code, o actualizar a una versión que añade una característica, una característica protegida por bandera puede estar ausente. Esa sesión también puede iniciarse en un modo de permiso diferente al que sus sesiones posteriores hacen. Claude Code obtiene las banderas durante esa sesión, por lo que su próxima sesión tiene la característica y el modo de permiso inicial habitual. Después de una instalación nueva, en una sesión no interactiva como claude -p, el SDK del Agent, o la extensión de VS Code, Claude Code aún puede obtener las banderas antes de elegir el modo de permiso inicial.

Véase también