Saltar al contenido principal

Requisitos previos

Antes de configurar Claude Code con Bedrock, asegúrate de tener:
  • Una cuenta de AWS con acceso a Bedrock habilitado
  • Acceso a los modelos Claude deseados (por ejemplo, Claude Sonnet 4.5) en Bedrock
  • AWS CLI instalado y configurado (opcional - solo se necesita si no tienes otro mecanismo para obtener credenciales)
  • Permisos de IAM apropiados

Configuración

1. Enviar detalles del caso de uso

Los usuarios por primera vez de modelos de Anthropic deben enviar detalles del caso de uso antes de invocar un modelo. Esto se hace una vez por cuenta.
  1. Asegúrate de tener los permisos de IAM correctos (ver más sobre eso a continuación)
  2. Navega a la consola de Amazon Bedrock
  3. Selecciona Chat/Text playground
  4. Elige cualquier modelo de Anthropic y se te pedirá que completes el formulario de caso de uso

2. Configurar credenciales de AWS

Claude Code utiliza la cadena de credenciales predeterminada del SDK de AWS. Configura tus credenciales usando uno de estos métodos: Opción A: Configuración de AWS CLI
aws configure
Opción B: Variables de entorno (clave de acceso)
export AWS_ACCESS_KEY_ID=your-access-key-id
export AWS_SECRET_ACCESS_KEY=your-secret-access-key
export AWS_SESSION_TOKEN=your-session-token
Opción C: Variables de entorno (perfil SSO)
aws sso login --profile=<your-profile-name>

export AWS_PROFILE=your-profile-name
Opción D: Claves API de Bedrock
export AWS_BEARER_TOKEN_BEDROCK=your-bedrock-api-key
Las claves API de Bedrock proporcionan un método de autenticación más simple sin necesidad de credenciales completas de AWS. Obtén más información sobre las claves API de Bedrock.

Configuración avanzada de credenciales

Claude Code admite la actualización automática de credenciales para AWS SSO y proveedores de identidad corporativos. Añade estas configuraciones a tu archivo de configuración de Claude Code (ver Configuración para ubicaciones de archivos). Cuando Claude Code detecta que tus credenciales de AWS han expirado (ya sea localmente basándose en su marca de tiempo o cuando Bedrock devuelve un error de credencial), ejecutará automáticamente tus comandos awsAuthRefresh y/o awsCredentialExport configurados para obtener nuevas credenciales antes de reintentar la solicitud.
Configuración de ejemplo
{
  "awsAuthRefresh": "aws sso login --profile myprofile",
  "env": {
    "AWS_PROFILE": "myprofile"
  }
}
Configuración explicada
awsAuthRefresh: Usa esto para comandos que modifiquen el directorio .aws (por ejemplo, actualizar credenciales, caché de SSO o archivos de configuración). La salida se muestra al usuario (pero la entrada del usuario no es compatible), lo que la hace adecuada para flujos de autenticación basados en navegador donde la CLI muestra un código para ingresar en el navegador. awsCredentialExport: Solo usa esto si no puedes modificar .aws y debes devolver credenciales directamente. La salida se captura silenciosamente (no se muestra al usuario). El comando debe generar JSON en este formato:
{
  "Credentials": {
    "AccessKeyId": "value",
    "SecretAccessKey": "value",
    "SessionToken": "value"
  }
}

3. Configurar Claude Code

Establece las siguientes variables de entorno para habilitar Bedrock:
# Habilitar integración de Bedrock
export CLAUDE_CODE_USE_BEDROCK=1
export AWS_REGION=us-east-1  # o tu región preferida

# Opcional: Anular la región para el modelo pequeño/rápido (Haiku)
export ANTHROPIC_SMALL_FAST_MODEL_AWS_REGION=us-west-2
Al habilitar Bedrock para Claude Code, ten en cuenta lo siguiente:
  • AWS_REGION es una variable de entorno requerida. Claude Code no lee desde el archivo de configuración .aws para esta configuración.
  • Cuando uses Bedrock, los comandos /login y /logout están deshabilitados ya que la autenticación se maneja a través de credenciales de AWS.
  • Puedes usar archivos de configuración para variables de entorno como AWS_PROFILE que no deseas filtrar a otros procesos. Ver Configuración para más información.

4. Configuración del modelo

Claude Code utiliza estos modelos predeterminados para Bedrock:
Tipo de modeloValor predeterminado
Modelo principalglobal.anthropic.claude-sonnet-4-5-20250929-v1:0
Modelo pequeño/rápidous.anthropic.claude-haiku-4-5-20251001-v1:0
Para usuarios de Bedrock, Claude Code no se actualizará automáticamente de Haiku 3.5 a Haiku 4.5. Para cambiar manualmente a un modelo Haiku más nuevo, establece la variable de entorno ANTHROPIC_DEFAULT_HAIKU_MODEL al nombre completo del modelo (por ejemplo, us.anthropic.claude-haiku-4-5-20251001-v1:0).
Para personalizar modelos, usa uno de estos métodos:
# Usando ID de perfil de inferencia
export ANTHROPIC_MODEL='global.anthropic.claude-sonnet-4-5-20250929-v1:0'
export ANTHROPIC_SMALL_FAST_MODEL='us.anthropic.claude-haiku-4-5-20251001-v1:0'

# Usando ARN de perfil de inferencia de aplicación
export ANTHROPIC_MODEL='arn:aws:bedrock:us-east-2:your-account-id:application-inference-profile/your-model-id'

# Opcional: Deshabilitar almacenamiento en caché de indicaciones si es necesario
export DISABLE_PROMPT_CACHING=1
El almacenamiento en caché de indicaciones puede no estar disponible en todas las regiones

5. Configuración de token de salida

Cuando uses Claude Code con Amazon Bedrock, recomendamos la siguiente configuración de tokens:
# Configuración de token de salida recomendada para Bedrock
export CLAUDE_CODE_MAX_OUTPUT_TOKENS=4096
export MAX_THINKING_TOKENS=1024
Por qué estos valores:
  • CLAUDE_CODE_MAX_OUTPUT_TOKENS=4096: La lógica de limitación de velocidad de Bedrock establece un mínimo de 4096 tokens como la penalización max_token. Establecer esto más bajo no reducirá costos pero puede cortar usos de herramientas largos, causando que el bucle del agente Claude Code falle persistentemente. Claude Code típicamente usa menos de 4096 tokens de salida sin pensamiento extendido, pero puede necesitar este espacio adicional para tareas que impliquen creación significativa de archivos o uso de la herramienta Write.
  • MAX_THINKING_TOKENS=1024: Esto proporciona espacio para pensamiento extendido sin cortar respuestas de uso de herramientas, mientras se mantienen cadenas de razonamiento enfocadas. Este equilibrio ayuda a prevenir cambios de trayectoria que no siempre son útiles para tareas de codificación específicamente.

Configuración de IAM

Crea una política de IAM con los permisos requeridos para Claude Code:
{
  "Version": "2012-10-17",
  "Statement": [
    {
      "Sid": "AllowModelAndInferenceProfileAccess",
      "Effect": "Allow",
      "Action": [
        "bedrock:InvokeModel",
        "bedrock:InvokeModelWithResponseStream",
        "bedrock:ListInferenceProfiles"
      ],
      "Resource": [
        "arn:aws:bedrock:*:*:inference-profile/*",
        "arn:aws:bedrock:*:*:application-inference-profile/*",
        "arn:aws:bedrock:*:*:foundation-model/*"
      ]
    },
    {
      "Sid": "AllowMarketplaceSubscription",
      "Effect": "Allow",
      "Action": [
        "aws-marketplace:ViewSubscriptions",
        "aws-marketplace:Subscribe"
      ],
      "Resource": "*",
      "Condition": {
        "StringEquals": {
          "aws:CalledViaLast": "bedrock.amazonaws.com"
        }
      }
    }
  ]
}
Para permisos más restrictivos, puedes limitar el Resource a ARNs de perfil de inferencia específicos. Para más detalles, ver documentación de IAM de Bedrock.
Recomendamos crear una cuenta de AWS dedicada para Claude Code para simplificar el seguimiento de costos y el control de acceso.

Solución de problemas

Si encuentras problemas de región:
  • Verifica la disponibilidad del modelo: aws bedrock list-inference-profiles --region your-region
  • Cambia a una región compatible: export AWS_REGION=us-east-1
  • Considera usar perfiles de inferencia para acceso entre regiones
Si recibes un error “on-demand throughput isn’t supported”: Claude Code utiliza la API de Invoke de Bedrock y no admite la API de Converse.

Recursos adicionales