|

Guía completa de variables de entorno de Claude Code: solucione el error de compatibilidad de AWS Bedrock con solo 1 ajuste

Nota del autor: Explicación detallada de la función y configuración de las más de 60 variables de entorno de Claude Code, con especial énfasis en cómo CLAUDE_CODE_DISABLE_EXPERIMENTAL_BETAS resuelve el error de cabecera anthropic-beta en plataformas de terceros.

Al usar Claude Code para conectarse a AWS Bedrock, Google Vertex AI u otras pasarelas de LLM de terceros, es muy probable que te hayas topado con este error: "Unexpected value(s) for the anthropic-beta header". La raíz de este problema es que Claude Code envía por defecto cabeceras beta experimentales específicas de la API de Anthropic, las cuales no son reconocidas por plataformas de terceros como AWS Bedrock.

La solución requiere solo una línea de configuración: CLAUDE_CODE_DISABLE_EXPERIMENTAL_BETAS=1.

Sin embargo, las variables de entorno de Claude Code van mucho más allá de esta: la documentación oficial enumera más de 60 variables de entorno que cubren la configuración de autenticación, selección de modelo, ajuste de rendimiento, interruptores de funciones y más. En este artículo, organizaremos sistemáticamente estas variables para ayudarte a localizar y resolver rápidamente cualquier problema de configuración en Claude Code.

Valor principal: Al terminar de leer, dominarás el sistema completo de variables de entorno de Claude Code, podrás resolver problemas de compatibilidad con AWS Bedrock/Vertex AI y aprenderás a optimizar tu experiencia de uso y costes mediante estas configuraciones.

claude-code-environment-variables-complete-guide-es 图示


Puntos clave de las variables de entorno de Claude Code

Las más de 60 variables de entorno de Claude Code se pueden dividir en 6 categorías principales. Aquí tienes las variables fundamentales a las que debes prestar atención:

Categoría Variable clave Función Escenario de uso común
Compatibilidad de plataforma CLAUDE_CODE_DISABLE_EXPERIMENTAL_BETAS Desactiva las cabeceras experimentales anthropic-beta Resolver errores en AWS Bedrock/Vertex AI
Configuración de autenticación ANTHROPIC_API_KEY Establece la clave API Invocación del modelo mediante plataformas de API de terceros
Selección de modelo ANTHROPIC_MODEL Especifica el modelo a utilizar Cambiar a una versión específica del modelo
Ajuste de rendimiento CLAUDE_CODE_MAX_OUTPUT_TOKENS Controla el máximo de tokens de salida Limitar respuestas largas para ahorrar costes
Interruptores de funciones DISABLE_PROMPT_CACHING Desactiva el almacenamiento en caché de la indicación Necesidades de depuración o compatibilidad
Gestión de contexto CLAUDE_AUTOCOMPACT_PCT_OVERRIDE Controla el umbral de autocompresión del contexto Optimizar la experiencia en conversaciones largas

Dos formas de configurar las variables de entorno de Claude Code

Método 1: Variables de entorno de Shell (Efecto temporal)

Se configuran en la terminal antes de iniciar Claude Code, solo son válidas para la sesión actual:

export CLAUDE_CODE_DISABLE_EXPERIMENTAL_BETAS=1
export ANTHROPIC_API_KEY="tu-clave-api"
claude

Método 2: Configuración en settings.json (Efecto permanente)

Configura el campo env en ~/.claude/settings.json, se cargará automáticamente en cada inicio:

{
  "env": {
    "CLAUDE_CODE_DISABLE_EXPERIMENTAL_BETAS": "1",
    "ANTHROPIC_API_KEY": "tu-clave-api"
  }
}

🎯 Recomendación: Para configuraciones que deban ser permanentes (como la clave API o correcciones de compatibilidad de plataforma), se sugiere usar el método settings.json para evitar tener que hacer export manualmente cada vez. Si tu clave API proviene de una plataforma de terceros como APIYI (apiyi.com), configúrala también aquí.

claude-code-environment-variables-complete-guide-es 图示


Claves de las variables de entorno de Claude Code: Solucionando la compatibilidad con AWS Bedrock

Análisis detallado de CLAUDE_CODE_DISABLE_EXPERIMENTAL_BETAS

Esta es la protagonista de este artículo. Cuando utilizas Claude Code a través de gateways de terceros como AWS Bedrock, Google Vertex AI o LiteLLM, Claude Code añade automáticamente encabezados de identificación Beta experimentales de Anthropic en las solicitudes, por ejemplo:

anthropic-beta: prompt-caching-scope-2026-01-05,advanced-tool-use-2025-11-20

Estos identificadores Beta son características propias de la API directa de Anthropic. Las plataformas de terceros como AWS Bedrock no pueden reconocerlos, lo que provoca el siguiente error:

Error: Unexpected value(s) for the anthropic-beta header

Solución:

# Opción 1: Comando en la Shell
export CLAUDE_CODE_DISABLE_EXPERIMENTAL_BETAS=1

# Opción 2: settings.json
{
  "env": {
    "CLAUDE_CODE_DISABLE_EXPERIMENTAL_BETAS": "1"
  }
}

Al establecerlo en 1, Claude Code dejará de enviar estos encabezados Beta experimentales, garantizando la compatibilidad con todas las plataformas de terceros.

Problemas conocidos y soluciones temporales

Según los registros de Issues en GitHub, algunas versiones de Claude Code (posteriores a la 2.1.18) presentan un problema donde esta variable de entorno no surte efecto por completo; incluso con CLAUDE_CODE_DISABLE_EXPERIMENTAL_BETAS=1, algunos encabezados Beta nuevos (como advanced-tool-use-2025-11-20) se siguen enviando.

Si continúas experimentando problemas, puedes intentar estas medidas adicionales:

  • Degradar la versión de Claude Code: Regresa a una versión estable conocida como la 2.1.68.
  • Usar el gateway LiteLLM: LiteLLM ofrece el archivo de configuración anthropic_beta_headers_config.json, que permite un control granular sobre qué encabezados Beta se reenvían.
  • Configurar simultáneamente DISABLE_PROMPT_CACHING: Desactivar el almacenamiento en caché de indicaciones puede evitar los encabezados Beta relacionados con prompt-caching-scope.
# Configuración de compatibilidad total
export CLAUDE_CODE_DISABLE_EXPERIMENTAL_BETAS=1
export DISABLE_PROMPT_CACHING=1

Guía rápida de clasificación de variables de entorno de Claude Code

Categoría 1: Autenticación y configuración de API

Esta es la categoría más básica y utilizada, que controla cómo se conecta Claude Code al servicio de API:

Nombre de la variable Función Escenario de uso
ANTHROPIC_API_KEY clave API, enviada como encabezado X-Api-Key Uso de plataformas de API de terceros (como APIYI apiyi.com)
ANTHROPIC_AUTH_TOKEN Valor personalizado del encabezado Authorization (añade prefijo Bearer automáticamente) Esquemas de autenticación personalizados
ANTHROPIC_CUSTOM_HEADERS Añade encabezados de solicitud personalizados (formato Nombre: Valor) Gateways que requieren encabezados adicionales
ANTHROPIC_BASE_URL Dirección del punto final (endpoint) de la API personalizada Conexión a un servicio proxy de API de terceros
CLAUDE_CODE_CLIENT_CERT Ruta al certificado de cliente mTLS Autenticación de seguridad de nivel empresarial
CLAUDE_CODE_CLIENT_KEY Ruta a la clave privada mTLS Autenticación de seguridad de nivel empresarial

🎯 Nota para usuarios de plataformas de terceros: Al usar plataformas de API de terceros como APIYI (apiyi.com), es necesario configurar tanto ANTHROPIC_API_KEY como ANTHROPIC_BASE_URL. Claude Code priorizará la clave API de las variables de entorno, incluso si ya has iniciado sesión con una cuenta de suscripción de Anthropic.

Categoría 2: Selección y configuración del modelo

Controla qué modelo utiliza Claude Code y los parámetros de comportamiento del mismo:

Nombre de la variable Función Valor por defecto
ANTHROPIC_MODEL Especifica el nombre del modelo principal Claude Sonnet 4.6
ANTHROPIC_DEFAULT_OPUS_MODEL Especifica el modelo de nivel Opus Claude Opus 4.6
ANTHROPIC_DEFAULT_SONNET_MODEL Especifica el modelo de nivel Sonnet Claude Sonnet 4.6
ANTHROPIC_DEFAULT_HAIKU_MODEL Especifica el modelo de nivel Haiku (tareas en segundo plano) Claude Haiku 4.5
CLAUDE_CODE_SUBAGENT_MODEL Modelo utilizado por los subagentes Heredado del modelo principal
CLAUDE_CODE_MAX_OUTPUT_TOKENS Número máximo de tokens de salida 32,000 (máximo 64,000)
CLAUDE_CODE_EFFORT_LEVEL Profundidad de razonamiento (low/medium/high/max/auto) auto

Categoría 3: Compatibilidad de plataforma y configuración de gateway

Estas variables están diseñadas específicamente para resolver problemas de compatibilidad entre Claude Code y diferentes plataformas en la nube o gateways de LLM:

Nombre de la variable Función Plataforma aplicable
CLAUDE_CODE_DISABLE_EXPERIMENTAL_BETAS Desactiva los encabezados Beta experimentales AWS Bedrock / Vertex AI / Gateways de terceros
CLAUDE_CODE_USE_BEDROCK Activa el modo AWS Bedrock AWS Bedrock
CLAUDE_CODE_SKIP_BEDROCK_AUTH Omite la autenticación de AWS (al usar gateways) Gateway de LLM + Bedrock
CLAUDE_CODE_USE_FOUNDRY Activa el modo Microsoft Foundry Azure AI
CLAUDE_CODE_SKIP_FOUNDRY_AUTH Omite la autenticación de Azure Gateway de LLM + Azure
CLAUDE_CODE_SKIP_VERTEX_AUTH Omite la autenticación de Google Vertex Gateway de LLM + Vertex
ANTHROPIC_FOUNDRY_BASE_URL URL base de los recursos de Foundry Microsoft Foundry
ANTHROPIC_FOUNDRY_API_KEY clave API de Foundry Microsoft Foundry
ANTHROPIC_SMALL_FAST_MODEL_AWS_REGION Región de AWS para el modelo Haiku Bedrock multirregión

Categoría 4: Interruptores de funciones (Feature Flags)

Desactiva funciones específicas mediante variables con el prefijo DISABLE_ o CLAUDE_CODE_DISABLE_:

Nombre de la variable Efecto al establecer en 1
DISABLE_PROMPT_CACHING Desactiva el almacenamiento en caché de indicaciones
DISABLE_AUTOUPDATER Desactiva la actualización automática
DISABLE_TELEMETRY Desactiva la recopilación de datos de telemetría
DISABLE_ERROR_REPORTING Desactiva el informe de errores
CLAUDE_CODE_DISABLE_NONESSENTIAL_TRAFFIC Desactiva todo el tráfico no esencial mencionado arriba con un solo clic
CLAUDE_CODE_DISABLE_AUTO_MEMORY Desactiva la función de memoria automática
CLAUDE_CODE_DISABLE_1M_CONTEXT Desactiva la ventana de contexto de un millón de tokens
CLAUDE_CODE_DISABLE_ADAPTIVE_THINKING Desactiva el razonamiento adaptativo
CLAUDE_CODE_DISABLE_FAST_MODE Desactiva el modo rápido
CLAUDE_CODE_DISABLE_BACKGROUND_TASKS Desactiva las tareas en segundo plano
CLAUDE_CODE_DISABLE_CRON Desactiva las tareas programadas
CLAUDE_CODE_DISABLE_GIT_INSTRUCTIONS Elimina las instrucciones integradas de Git

Categoría 5: Gestión de contexto y rendimiento

Controla cómo gestiona Claude Code la ventana de contexto y el uso de recursos:

Nombre de la variable Función Valor por defecto
CLAUDE_AUTOCOMPACT_PCT_OVERRIDE Porcentaje de activación de compresión automática 95%
CLAUDE_CODE_AUTO_COMPACT_WINDOW Tamaño de la ventana de tokens para el cálculo de compresión ventana de contexto del modelo
CLAUDE_CODE_FILE_READ_MAX_OUTPUT_TOKENS Tokens máximos para lectura de archivos Valor por defecto
CLAUDE_CODE_API_KEY_HELPER_TTL_MS Intervalo de actualización de credenciales (milisegundos)
CLAUDE_CODE_TMPDIR Directorio de archivos temporales /tmp (Unix)
CLAUDE_CODE_SHELL Especifica la Shell a utilizar Detección automática

🎯 Sugerencia de optimización de rendimiento: Si notas que Claude Code comprime el contexto con demasiada frecuencia en conversaciones largas, puedes establecer CLAUDE_AUTOCOMPACT_PCT_OVERRIDE en un valor más bajo (como 50) para que la compresión se active antes, reduciendo la pérdida de información. Estas configuraciones de variables de entorno también son compatibles cuando realizas la invocación del modelo a través de APIYI (apiyi.com).

claude-code-environment-variables-complete-guide-es 图示


Guía rápida de variables de entorno para Claude Code

Ejemplo minimalista: Configurar Claude Code para conectar con plataformas de API de terceros

# Inicia Claude Code tras configurar las variables de entorno en la terminal
export ANTHROPIC_API_KEY="sk-your-api-key"
export ANTHROPIC_BASE_URL="https://vip.apiyi.com/v1"
export CLAUDE_CODE_DISABLE_EXPERIMENTAL_BETAS=1
claude

Ver la plantilla completa de configuración settings.json (incluye ajustes de compatibilidad con AWS Bedrock)
{
  "env": {
    "ANTHROPIC_API_KEY": "sk-your-api-key",
    "ANTHROPIC_BASE_URL": "https://vip.apiyi.com/v1",
    "CLAUDE_CODE_DISABLE_EXPERIMENTAL_BETAS": "1",
    "CLAUDE_CODE_MAX_OUTPUT_TOKENS": "32000",
    "CLAUDE_AUTOCOMPACT_PCT_OVERRIDE": "80",
    "DISABLE_TELEMETRY": "1"
  },
  "permissions": {
    "allow": ["Read", "Glob", "Grep"],
    "deny": []
  }
}

Configuración específica para AWS Bedrock:

{
  "env": {
    "CLAUDE_CODE_USE_BEDROCK": "1",
    "CLAUDE_CODE_DISABLE_EXPERIMENTAL_BETAS": "1",
    "DISABLE_PROMPT_CACHING": "1",
    "ANTHROPIC_SMALL_FAST_MODEL_AWS_REGION": "us-east-1"
  }
}

Configuración específica para Microsoft Foundry:

{
  "env": {
    "CLAUDE_CODE_USE_FOUNDRY": "1",
    "ANTHROPIC_FOUNDRY_BASE_URL": "https://my-resource.services.ai.azure.com/anthropic",
    "ANTHROPIC_FOUNDRY_API_KEY": "your-foundry-key",
    "CLAUDE_CODE_DISABLE_EXPERIMENTAL_BETAS": "1"
  }
}

Sugerencia: Si no quieres complicarte con las configuraciones complejas de AWS Bedrock o Azure, puedes usar toda la serie de modelos Claude directamente a través de APIYI (apiyi.com). Solo necesitas configurar dos variables, la clave API y la Base URL, sin tener que lidiar con la autenticación de plataformas en la nube ni problemas de compatibilidad.


Preguntas frecuentes

Q1: ¿Qué hacer si configuré CLAUDE_CODE_DISABLE_EXPERIMENTAL_BETAS=1 pero sigo recibiendo errores de encabezado anthropic-beta?

Este es un bug conocido de Claude Code (GitHub Issue #22893, #20031). Algunas versiones nuevas introducen nuevos encabezados Beta que las variables de entorno no logran interceptar por completo. Soluciones:

  1. Volver a una versión estable conocida, como la 2.1.68.
  2. Configurar también DISABLE_PROMPT_CACHING=1 para desactivar los encabezados relacionados con el caché.
  3. Si usas un gateway LiteLLM, configura anthropic_beta_headers_config.json para realizar un filtrado preciso.
  4. Cambiar a una plataforma de terceros con mejor compatibilidad como APIYI (apiyi.com) para evitar problemas de encabezados al conectar directamente con Bedrock.

Q2: ¿Cuál es la prioridad entre la variable de entorno ANTHROPIC_API_KEY y el inicio de sesión con /login?

La clave API de la variable de entorno tiene prioridad sobre la autenticación de suscripción de /login. Cuando configuras la variable ANTHROPIC_API_KEY, Claude Code usará esa clave y se facturará por uso de API, incluso si ya has iniciado sesión en una suscripción Claude Pro/Team mediante /login. Si obtienes tu clave a través de APIYI (apiyi.com), los costos se liquidarán a través de dicha plataforma.

Q3: ¿Cómo ver la configuración de variables de entorno activa en Claude Code?

Ejecuta el comando /config dentro del modo interactivo de Claude Code para ver el estado de todos los elementos de configuración, incluyendo variables de entorno, ajustes de settings.json y valores por defecto. También puedes ejecutar env | grep -E "CLAUDE|ANTHROPIC|DISABLE" en la terminal para ver las variables de entorno relacionadas que ya han sido configuradas.


Resumen

Puntos clave sobre las variables de entorno de Claude Code:

  1. Solución al error de AWS Bedrock: Configura CLAUDE_CODE_DISABLE_EXPERIMENTAL_BETAS=1 para desactivar los encabezados Beta experimentales. Esta configuración de una sola línea resuelve el error "Unexpected value(s) for the anthropic-beta header".
  2. Más de 60 variables en 6 categorías: Autenticación, selección de modelo, compatibilidad de plataforma, interruptores de funciones, gestión de contexto y otros ajustes.
  3. Dos métodos de configuración: Shell export (temporal) y settings.json (permanente). Se recomienda la configuración permanente dentro de settings.json.
  4. Solución simplificada con plataformas de terceros: Al usar plataformas de API unificadas como APIYI (apiyi.com), solo necesitas configurar dos variables: ANTHROPIC_API_KEY y ANTHROPIC_BASE_URL. Esto elimina la necesidad de lidiar con la compleja autenticación de nubes públicas y los problemas de compatibilidad de los encabezados Beta.

Te recomendamos probar Claude Code a través de APIYI (apiyi.com) para una experiencia rápida. La plataforma ofrece cuotas gratuitas y una interfaz unificada, evitando los típicos dolores de cabeza de configuración en AWS Bedrock o Vertex AI.


📚 Referencias

  1. Documentación oficial de Claude Code – Variables de entorno: Lista completa de variables y sus descripciones.

    • Enlace: code.claude.com/docs/en/env-vars
    • Nota: Referencia oficial de las más de 60 variables disponibles.
  2. Documentación oficial de Claude Code – Configuración: Ámbitos de configuración y especificaciones del settings.json.

    • Enlace: code.claude.com/docs/en/settings
    • Nota: Para entender el sistema de jerarquía de cuatro niveles (Managed/User/Project/Local).
  3. Documentación oficial de Claude Code – Amazon Bedrock: Guía de integración con AWS Bedrock.

    • Enlace: code.claude.com/docs/en/amazon-bedrock
    • Nota: Configuraciones específicas para Bedrock y resolución de problemas comunes.
  4. GitHub Issue #22893 – DISABLE_EXPERIMENTAL_BETAS no funciona completamente: Informe de errores de la comunidad.

    • Enlace: github.com/anthropics/claude-code/issues/22893
    • Nota: Información sobre limitaciones conocidas y soluciones temporales para esta variable.
  5. LiteLLM – Gestión de encabezados Beta en Claude Code: Solución de filtrado de encabezados Beta a nivel de gateway.

    • Enlace: docs.litellm.ai/docs/tutorials/claude_code_beta_headers
    • Nota: Control detallado de encabezados Beta al usar el gateway de LiteLLM.

Autor: Equipo técnico de APIYI
Comunidad: Te invitamos a compartir tu experiencia configurando Claude Code en la sección de comentarios. Para más tutoriales, visita nuestro centro de documentación en docs.apiyi.com.

Publicaciones Similares