Pular para o conteúdo principal

Pré-requisitos

Antes de configurar Claude Code com Bedrock, certifique-se de que você tem:
  • Uma conta AWS com acesso ao Bedrock habilitado
  • Acesso aos modelos Claude desejados (por exemplo, Claude Sonnet 4.5) no Bedrock
  • AWS CLI instalado e configurado (opcional - necessário apenas se você não tiver outro mecanismo para obter credenciais)
  • Permissões IAM apropriadas

Configuração

1. Enviar detalhes do caso de uso

Usuários de primeira vez dos modelos Anthropic são obrigados a enviar detalhes do caso de uso antes de invocar um modelo. Isso é feito uma vez por conta.
  1. Certifique-se de que você tem as permissões IAM corretas (veja mais sobre isso abaixo)
  2. Navegue até o console do Amazon Bedrock
  3. Selecione Chat/Text playground
  4. Escolha qualquer modelo Anthropic e você será solicitado a preencher o formulário de caso de uso

2. Configurar credenciais AWS

Claude Code usa a cadeia de credenciais padrão do AWS SDK. Configure suas credenciais usando um destes métodos: Opção A: Configuração da AWS CLI
aws configure
Opção B: Variáveis de ambiente (chave de acesso)
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
Opção C: Variáveis de ambiente (perfil SSO)
aws sso login --profile=<your-profile-name>

export AWS_PROFILE=your-profile-name
Opção D: Credenciais do AWS Management Console
aws login
Saiba mais sobre aws login. Opção E: Chaves de API do Bedrock
export AWS_BEARER_TOKEN_BEDROCK=your-bedrock-api-key
As chaves de API do Bedrock fornecem um método de autenticação mais simples sem precisar de credenciais AWS completas. Saiba mais sobre chaves de API do Bedrock.

Configuração avançada de credenciais

Claude Code suporta atualização automática de credenciais para AWS SSO e provedores de identidade corporativos. Adicione estas configurações ao seu arquivo de configurações do Claude Code (veja Configurações para localizações de arquivo). Quando Claude Code detecta que suas credenciais AWS expiraram (localmente com base em seu timestamp ou quando Bedrock retorna um erro de credencial), ele executará automaticamente seus comandos awsAuthRefresh e/ou awsCredentialExport configurados para obter novas credenciais antes de tentar novamente a solicitação.
Exemplo de configuração
{
  "awsAuthRefresh": "aws sso login --profile myprofile",
  "env": {
    "AWS_PROFILE": "myprofile"
  }
}
Configurações explicadas
awsAuthRefresh: Use isso para comandos que modificam o diretório .aws, como atualizar credenciais, cache SSO ou arquivos de configuração. A saída do comando é exibida ao usuário, mas entrada interativa não é suportada. Isso funciona bem para fluxos SSO baseados em navegador onde a CLI exibe uma URL ou código e você completa a autenticação no navegador. awsCredentialExport: Use apenas se você não puder modificar .aws e deve retornar credenciais diretamente. A saída é capturada silenciosamente e não mostrada ao usuário. O comando deve gerar JSON neste formato:
{
  "Credentials": {
    "AccessKeyId": "value",
    "SecretAccessKey": "value",
    "SessionToken": "value"
  }
}

3. Configurar Claude Code

Defina as seguintes variáveis de ambiente para habilitar Bedrock:
# Habilitar integração com Bedrock
export CLAUDE_CODE_USE_BEDROCK=1
export AWS_REGION=us-east-1  # ou sua região preferida

# Opcional: Substituir a região para o modelo pequeno/rápido (Haiku)
export ANTHROPIC_SMALL_FAST_MODEL_AWS_REGION=us-west-2
Ao habilitar Bedrock para Claude Code, tenha em mente o seguinte:
  • AWS_REGION é uma variável de ambiente obrigatória. Claude Code não lê do arquivo de configuração .aws para esta configuração.
  • Ao usar Bedrock, os comandos /login e /logout são desabilitados, pois a autenticação é tratada através de credenciais AWS.
  • Você pode usar arquivos de configurações para variáveis de ambiente como AWS_PROFILE que você não quer vazar para outros processos. Veja Configurações para mais informações.

4. Configuração de modelo

Claude Code usa estes modelos padrão para Bedrock:
Tipo de modeloValor padrão
Modelo primárioglobal.anthropic.claude-sonnet-4-5-20250929-v1:0
Modelo pequeno/rápidous.anthropic.claude-haiku-4-5-20251001-v1:0
Para usuários do Bedrock, Claude Code não fará upgrade automático de Haiku 3.5 para Haiku 4.5. Para mudar manualmente para um modelo Haiku mais recente, defina a variável de ambiente ANTHROPIC_DEFAULT_HAIKU_MODEL para o nome completo do modelo (por exemplo, us.anthropic.claude-haiku-4-5-20251001-v1:0).
Para personalizar modelos, use um destes métodos:
# Usando ID de perfil de inferência
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 inferência de aplicação
export ANTHROPIC_MODEL='arn:aws:bedrock:us-east-2:your-account-id:application-inference-profile/your-model-id'

# Opcional: Desabilitar prompt caching se necessário
export DISABLE_PROMPT_CACHING=1
Prompt caching pode não estar disponível em todas as regiões.

5. Configuração de token de saída

Estas são as configurações de token recomendadas para Claude Code com Amazon Bedrock:
# Configurações de token de saída recomendadas para Bedrock
export CLAUDE_CODE_MAX_OUTPUT_TOKENS=4096
export MAX_THINKING_TOKENS=1024
Por que estes valores:
  • CLAUDE_CODE_MAX_OUTPUT_TOKENS=4096: A lógica de throttling de burndown do Bedrock define um mínimo de 4096 tokens como a penalidade max_token. Definir isso mais baixo não reduzirá custos, mas pode cortar usos de ferramentas longos, causando falha persistente do loop do agente Claude Code. Claude Code normalmente usa menos de 4096 tokens de saída sem pensamento estendido, mas pode precisar desta margem para tarefas envolvendo criação significativa de arquivos ou uso da ferramenta Write.
  • MAX_THINKING_TOKENS=1024: Isso fornece espaço para pensamento estendido sem cortar respostas de uso de ferramentas, mantendo cadeias de raciocínio focadas. Este equilíbrio ajuda a prevenir mudanças de trajetória que nem sempre são úteis para tarefas de codificação especificamente.

Configuração de IAM

Crie uma política de IAM com as permissões necessárias 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 permissões mais restritivas, você pode limitar o Resource para ARNs de perfil de inferência específicos. Para detalhes, veja documentação de IAM do Bedrock.
Recomendamos criar uma conta AWS dedicada para Claude Code para simplificar o rastreamento de custos e controle de acesso.

AWS Guardrails

Amazon Bedrock Guardrails permitem que você implemente filtragem de conteúdo para Claude Code. Crie um Guardrail no console do Amazon Bedrock, publique uma versão, então adicione os headers do Guardrail ao seu arquivo de configurações. Habilite inferência entre regiões em seu Guardrail se você estiver usando perfis de inferência entre regiões. Exemplo de configuração:
{
  "env": {
    "ANTHROPIC_CUSTOM_HEADERS": "X-Amzn-Bedrock-GuardrailIdentifier: your-guardrail-id\nX-Amzn-Bedrock-GuardrailVersion: 1"
  }
}

Resolução de problemas

Se você encontrar problemas de região:
  • Verifique disponibilidade de modelo: aws bedrock list-inference-profiles --region your-region
  • Mude para uma região suportada: export AWS_REGION=us-east-1
  • Considere usar perfis de inferência para acesso entre regiões
Se você receber um erro “on-demand throughput isn’t supported”: Claude Code usa a API Invoke do Bedrock e não suporta a API Converse.

Recursos adicionais