Pré-requisitos
Antes de configurar Claude Code com Microsoft Foundry, certifique-se de que você tem:- Uma assinatura do Azure com acesso ao Microsoft Foundry
- Permissões RBAC para criar recursos e implantações do Microsoft Foundry
- Azure CLI instalado e configurado (opcional - necessário apenas se você não tiver outro mecanismo para obter credenciais)
Se você está implantando Claude Code para vários usuários, fixe suas versões de modelo antes de fazer o lançamento.
Configuração
- Provisionar recurso do Microsoft Foundry
Primeiro, crie um recurso Claude no Azure:
- Navegue até o portal do Microsoft Foundry
- Crie um novo recurso, anotando o nome do seu recurso
-
Crie implantações para os modelos Claude, anotando o nome de implantação que você atribui a cada um; você definirá esses nomes como as variáveis de modelo na etapa 4:
- Claude Opus
- Claude Sonnet
- Claude Haiku
- Configurar credenciais do Azure
Claude Code suporta três métodos de autenticação para Microsoft Foundry. Escolha o método que melhor se adequa aos seus requisitos de segurança:
- Chave de API: você copia uma chave do portal do Microsoft Foundry e a define como
ANTHROPIC_FOUNDRY_API_KEY - Microsoft Entra ID: Claude Code obtém tokens através da cadeia de credenciais padrão do Azure SDK, por exemplo de uma sessão
az login, portanto não há chave de API para armazenar - Token de portador: outro processo obtém um token de acesso do Microsoft Entra ID e você o passa em
ANTHROPIC_FOUNDRY_AUTH_TOKEN
Ao usar Microsoft Foundry, o comando
/logout não está disponível, pois a autenticação é tratada através de credenciais do Azure.Usar uma chave de API
Copie uma chave do portal do Microsoft Foundry e, em seguida, defina-a como uma variável de ambiente:- Navegue até seu recurso no portal do Microsoft Foundry
- Abra a seção Endpoints e chaves
- Copie a Chave de API
- Defina a variável de ambiente, substituindo
your-azure-api-keypela chave que você copiou:
Usar o Microsoft Entra ID
DeixeANTHROPIC_FOUNDRY_API_KEY e ANTHROPIC_FOUNDRY_AUTH_TOKEN sem definir. Claude Code então usa a cadeia de credenciais padrão do Azure SDK.
Isso suporta uma variedade de métodos para autenticar cargas de trabalho locais e remotas.
Em uma máquina local, faça login com a Azure CLI:
Usar um token de portador
Claude Code envia o valor deANTHROPIC_FOUNDRY_AUTH_TOKEN em cada requisição como o cabeçalho Authorization: Bearer. Use esta opção quando outro processo, como um aplicativo host ou um script de login, já tiver obtido um token de acesso para você.
Defina a variável para um token de portador que o Microsoft Entra ID emitiu para seu recurso:
ANTHROPIC_FOUNDRY_AUTH_TOKEN tem precedência sobre ANTHROPIC_FOUNDRY_API_KEY e sobre a cadeia de credenciais padrão.
- Configurar Claude Code
Defina as seguintes variáveis de ambiente para ativar Microsoft Foundry:
ANTHROPIC_FOUNDRY_RESOURCE apenas com o nome do recurso, como my-resource. Claude Code recusa uma URL ou nome de host quando você envia uma mensagem.
- Fixar versões de modelo
Defina as variáveis de modelo para corresponder aos nomes de implantação que você criou na etapa 1.
Sem ANTHROPIC_DEFAULT_OPUS_MODEL, o alias opus no Microsoft Foundry resolve para Opus 4.6. Defina-o para o ID de um modelo Opus mais recente, como Opus 4.8:
ANTHROPIC_DEFAULT_HAIKU_MODEL para uma implantação Haiku que esteja disponível em sua conta, conforme mostrado acima.
Para IDs de modelo atuais e legados, consulte Visão geral de modelos. Consulte Configuração de modelo para a lista completa de variáveis de ambiente.
O cache de prompt está ativado automaticamente. Para solicitar um TTL de cache de 1 hora em vez do padrão de 5 minutos, defina a seguinte variável; gravações de cache com TTL de 1 hora são cobradas a uma taxa mais alta:
- Executar Claude Code
Com as variáveis de ambiente definidas, inicie Claude Code a partir do diretório do seu projeto:
CLAUDE_CODE_USE_FOUNDRY e as outras variáveis Microsoft Foundry do ambiente e se conecta ao seu recurso Azure no primeiro prompt. Diferentemente de Amazon Bedrock e Google Cloud’s Agent Platform, Microsoft Foundry não possui um assistente de configuração interativo, portanto as variáveis de ambiente nas etapas 3 e 4 são o único caminho de configuração.
Para verificar sua configuração, execute /status dentro do Claude Code. A linha do provedor de API mostra Microsoft Foundry, junto com o nome do recurso ou URL base que você configurou.
Configuração do Azure RBAC
As funções padrãoAzure AI User e Cognitive Services User incluem todas as permissões necessárias para invocar modelos Claude.
Para permissões mais restritivas, crie uma função personalizada com o seguinte:
Janela de contexto de 1M de tokens
No Microsoft Foundry, quando o Claude Code consegue identificar qual modelo a sua implantação serve, os modelos Fable, Sonnet 5 e posteriores, e Opus 4.7 e posteriores são executados com a janela de contexto de 1M de tokens por padrão, sem necessidade do sufixo[1m]. O Claude Code lê o modelo a partir do nome da implantação nas suas variáveis de modelo. Nomeie cada implantação com o ID do modelo, como claude-opus-4-8, ou mapeie o modelo para o nome da sua implantação com modelOverrides. Para um nome de implantação que não consegue associar a um modelo, o Claude Code assume uma janela de 200K, a menos que você declare uma diferente.
Esta entrada do settings.json informa ao Claude Code que uma implantação chamada team-opus-prod serve o Opus 4.8:
CLAUDE_CODE_DISABLE_1M_CONTEXT=1.
O Opus 4.6 e o Sonnet 4.6 alcançam a janela de 1M quando você acrescenta [1m] ao nome da implantação em ANTHROPIC_DEFAULT_OPUS_MODEL ou ANTHROPIC_DEFAULT_SONNET_MODEL, conforme descrito em Fixar modelos para implantações de terceiros. Antes da v2.1.287, os modelos Fable e o Opus 4.7 e posteriores também precisavam desse sufixo no Microsoft Foundry e, sem ele, eram executados com uma janela de 200K por padrão.
Resolução de problemas
Se você receber um erro “Failed to get token from azureADTokenProvider: ChainedTokenCredential authentication failed”:- Configure Entra ID no ambiente, ou defina
ANTHROPIC_FOUNDRY_API_KEY.
- Verifique se
ANTHROPIC_FOUNDRY_RESOURCEestá definido para o nome do recurso real em vez de um espaço reservado. Claude Code constrói a URL do endpoint a partir deste valor, portanto, um nome incorreto aponta para um host que não existe.