- Para conectar Claude Code em sua própria máquina a um gateway existente, consulte Conectar Claude Code a um gateway LLM
- Para saber o que Claude Code envia a um gateway e o que encaminhar, consulte a referência do protocolo do gateway
Pré-requisitos
Para concluir a implantação, você precisará de:- Um gateway implantado em sua infraestrutura, servindo HTTPS no endereço exato que você distribuirá aos desenvolvedores, não em um endereço que redireciona para ele, e configurado para rotear nomes de modelos Claude para seu provedor
- Uma credencial de provedor para o gateway encaminhar com:
- Para a API Anthropic: uma chave de API do Claude Console
- Para um provedor de nuvem: credenciais de nuvem com acesso ao modelo. Consulte os pré-requisitos na página Amazon Bedrock, Google Vertex AI ou Microsoft Foundry
- Uma maneira de entregar arquivos de configurações para máquinas de desenvolvedores, como MDM ou gerenciamento de configuração
- Se você ainda não tiver uma, como as configurações chegam aos dispositivos compara as opções
Requisitos do gateway
Qualquer que seja o produto que fornece o gateway, ele deve:- Aceitar um formato de API suportado: um dos formatos na tabela de formatos de API. As etapas de implantação abaixo assumem a API de Mensagens Anthropic em
POST /v1/messages, que a maioria dos gateways serve - Transmitir respostas: passar eventos enviados pelo servidor conforme chegam em vez de armazenar em buffer a resposta inteira
- Rotear nomes de modelos Claude: mapear cada nome que os desenvolvedores usam para um modelo upstream. Claude Code envia um nome de modelo como
claude-sonnet-4-6em cada solicitação; na maioria dos produtos de gateway o mapeamento é uma lista de modelos ou tabela de roteamento na própria configuração do gateway - Encaminhar cabeçalhos e corpo sem alterações: passar
anthropic-beta,anthropic-versione o corpo da solicitação em ambas as direções; a tabela de passagem de recursos mapeia cada um para o recurso que quebra sem ele - Retornar erros upstream não modificados: a recuperação automática do Claude Code corresponde à redação do erro, portanto envolver erros no próprio envelope do gateway quebra isso
- Isentar o caminho da inspeção WAF do corpo da solicitação: os prompts do Claude Code carregam código-fonte e tags de estilo XML que correspondem às regras do corpo de cross-site-scripting; um WAF na frente do gateway retorna
403em sessões reais enquanto solicitações de teste curtas passam
GET /v1/models para que Claude Code possa preencher o seletor de modelo do seu gateway com descoberta de modelo.
Etapas de implantação
A implantação leva cinco etapas, cada uma com um ponto de verificação:- Confirme que o gateway roteia seus modelos
- Emita uma credencial para cada desenvolvedor
- Teste Claude Code contra o gateway
- Distribua a URL base e as credenciais
- Verifique a partir de uma máquina de desenvolvedor
| Credencial | Quem a detém | Espaço reservado nos pontos de verificação |
|---|---|---|
| Credencial do provedor | O gateway, que a encaminha para o provedor upstream | Configurado no gateway; nunca aparece em comandos do cliente |
| Credencial administrativa do gateway | Você, se seu produto de gateway emitir uma para sua interface de administrador ou teste | <gateway-key> |
| Chave do desenvolvedor | Cada desenvolvedor, emitido pelo gateway em Emita credenciais de desenvolvedor | <developer-key> |
Confirme que o gateway roteia seus modelos
Seu gateway já deve estar configurado com sua credencial de provedor, ouvindo em sua URL base e encaminhando solicitações para a API do seu provedor. Teste que o caminho funciona de ponta a ponta com uma solicitação mínima, substituindo dois valores de sua implantação:<gateway-key>é qualquer credencial que permite chamar o gateway agora: uma chave administrativa, uma chave de teste ou sua própria chave de desenvolvedor se você já tiver emitido uma. Nem todo produto de gateway tem uma credencial de administrador separada; se o seu não tiver, emita uma chave de desenvolvedor para você em Emita credenciais de desenvolvedor primeiromodelé um nome de modelo Claude que seu gateway está configurado para rotear. O exemplo usaclaude-sonnet-4-6; substitua um nome que você configurou
- Bash ou Zsh
- PowerShell
200 com um campo content significa que o gateway alcançou o provedor com esse nome de modelo. Um 404 significa que esse nome não é roteado no gateway; um 401 do provedor significa que a credencial do provedor do gateway está errada.
Repita a solicitação uma vez por nome de modelo Claude na configuração de roteamento do seu gateway. Um nome que o gateway não roteia retorna 404 para qualquer desenvolvedor que o selecione, portanto teste cada nome antes da implantação.
Evite servir o gateway atrás de um redirecionamento. Um redirecionamento pode descartar o corpo da solicitação ou remover o cabeçalho de credencial em solicitações de inferência, e descoberta de modelo trata qualquer redirecionamento como uma falha para que a credencial não possa vazar para um alvo de redirecionamento.
Emita credenciais de desenvolvedor
Cada desenvolvedor precisa de sua própria chave de gateway para autenticar. Crie uma credencial por desenvolvedor no gateway, seguindo a documentação de gerenciamento de credenciais do seu produto. Confirme que uma chave recém-emitida funciona contra o gateway com a mesma solicitação que Confirme que o gateway roteia seus modelos, substituindo<gateway-key> pela nova <developer-key>:
- Bash ou Zsh
- PowerShell
200 com um campo content significa que a chave do desenvolvedor alcança o gateway e o gateway a encaminha. Um 401 aqui, quando a etapa anterior foi bem-sucedida, significa que a chave do desenvolvedor está errada ou ainda não entrou em vigor no gateway.
Emitir uma chave por desenvolvedor em vez de uma chave compartilhada é o que torna a atribuição de uso por desenvolvedor e o offboarding individual funcionarem. A variável de ambiente que contém a chave depende de qual cabeçalho o gateway lê. Para um gateway que verifica credenciais no cabeçalho Authorization: Bearer, os desenvolvedores definem sua chave em ANTHROPIC_AUTH_TOKEN. Para um gateway que lê chaves do cabeçalho x-api-key, os desenvolvedores definem ANTHROPIC_API_KEY em vez disso; a tabela de credenciais cobre o mapeamento.
Teste Claude Code contra o gateway
Execute Claude Code através do gateway você mesmo antes de distribuir qualquer coisa, usando a mesma configuração que a implantação entregará em toda a frota. Digite-os diretamente em um terminal, não em um arquivo.env ou arquivo de configurações; eles duram apenas para esta sessão de terminal, portanto fechá-la retorna sua máquina à sua configuração normal. Use ANTHROPIC_API_KEY em vez de ANTHROPIC_AUTH_TOKEN se seu gateway lê o cabeçalho x-api-key:
- Bash ou Zsh
- PowerShell
POST para o caminho /v1/messages com status 200. Claude Code anexa uma string de consulta como ?beta=true, portanto corresponda no caminho, não na URL completa. Duas mensagens de falha apontam em direções diferentes:
Not logged in: verifique o log do gateway para distinguir as duas causas. Se estiver vazio, nenhuma credencial alcançou a sessão e nenhuma solicitação saiu da máquina; re-execute as exportações no shell que você está testando. Se mostrar uma solicitação rejeitada comx-api-keyno corpo401, o gateway espera chaves nesse cabeçalho em vez disso; mude paraANTHROPIC_API_KEYFailed to authenticate. API Error: 401significa que uma credencial foi enviada e rejeitada, e o log do gateway diz onde: um401nomeandoapi.anthropic.comou o endpoint do seu provedor significa que o gateway alcançou o upstream mas sua credencial de provedor foi rejeitada, portanto a chave do desenvolvedor funcionou e a credencial do provedor que o gateway detém está errada ou é um espaço reservado
ANTHROPIC_BASE_URL não aponta para o gateway.
Distribua a configuração
Cada máquina de desenvolvedor precisa do endereço do gateway e de uma credencial. Você pode distribuí-los centralmente através de configurações gerenciadas, para que os desenvolvedores não configurem nada, ou entregue aos desenvolvedores os valores para definir eles mesmos.O que distribuir
O mesmo conjunto de variáveis se aplica qualquer que seja o caminho que você escolha. A maioria das implantações só precisa deANTHROPIC_BASE_URL e uma credencial; inclua as linhas condicionais quando sua configuração de gateway as exigir.
| Variável ou configuração | O que faz | Incluir quando |
|---|---|---|
ANTHROPIC_BASE_URL | Envia as solicitações de API do Claude Code para o gateway em vez de api.anthropic.com | Sempre |
apiKeyHelper, ou uma credencial em ANTHROPIC_AUTH_TOKEN ou ANTHROPIC_API_KEY | Autentica cada solicitação ao gateway. O auxiliar executa um comando para buscar a chave; as variáveis mantêm uma chave estática, enviada como Authorization: Bearer e x-api-key respectivamente | Sempre; uma das três |
ANTHROPIC_CUSTOM_HEADERS | Adiciona cabeçalhos HTTP extras a cada solicitação de API | Seu gateway requer um cabeçalho de locatário ou roteamento em cada solicitação |
CLAUDE_CODE_ENABLE_GATEWAY_MODEL_DISCOVERY | Consulta /v1/models do gateway na inicialização e adiciona os nomes retornados ao seletor /model | Seu gateway serve /v1/models e você quer que os seletores dos desenvolvedores sejam preenchidos a partir dele |
CLAUDE_CODE_DISABLE_EXPERIMENTAL_BETAS | Para Claude Code de enviar cabeçalhos de capacidade pré-lançamento e campos de corpo | Seu gateway encaminha para um upstream Bedrock ou Vertex que rejeita campos beta; consulte Requisitos do gateway |
ANTHROPIC_MODEL ou ANTHROPIC_DEFAULT_HAIKU_MODEL | Define qual nome de modelo Claude Code solicita para a sessão principal e para tráfego de fundo | Seu gateway roteia nomes de modelos que não correspondem aos padrões do Claude Code, ou você roteia funcionalidade de fundo para um modelo diferente. Rotear tanto os nomes de substituição quanto os nomes padrão do Claude Code no gateway, já que algumas sub-chamadas podem solicitar o nome padrão independentemente da substituição |
ANTHROPIC_BEDROCK_BASE_URL, ANTHROPIC_VERTEX_BASE_URL, ANTHROPIC_FOUNDRY_BASE_URL ou ANTHROPIC_AWS_BASE_URL com as variáveis para esse provedor | Aponte Claude Code para o gateway através de uma URL base específica do provedor. Bedrock e Vertex também mudam para o formato de solicitação nativo desses provedores | Seu gateway está na frente de Bedrock, Vertex, Foundry ou da Plataforma Claude no AWS; consulte Formatos de API |
Distribua através de configurações gerenciadas
Entregue as variáveis através do blocoenv de um arquivo de configurações gerenciadas, enviado por MDM, política de registro ou gerenciamento de configuração:
env. Um ANTHROPIC_BASE_URL gerenciado é imposto e não pode ser substituído pela exportação de shell de um desenvolvedor, já que Claude Code o aplica sobre o ambiente do processo e configurações de precedência inferior.
Não inclua forceLoginMethod ou forceLoginOrgUUID em configurações gerenciadas junto com uma credencial de gateway. No Claude Code v2.1.146 e posterior, qualquer chave bloqueia ANTHROPIC_API_KEY, ANTHROPIC_AUTH_TOKEN e apiKeyHelper na inicialização, portanto os desenvolvedores veem This machine's managed settings require a first-party login e não podem prosseguir.
A entrega de configurações gerenciadas pelo servidor requer uma conexão direta com api.anthropic.com, portanto não alcança sessões roteadas por gateway. As implantações de gateway usam este caminho de configurações gerenciadas baseado em arquivo, que impõe as mesmas chaves.
Para a credencial, distribua um comando apiKeyHelper no arquivo de configurações gerenciadas conforme mostrado acima; o comando autentica seu armazenamento de segredos como o desenvolvedor local, portanto cada máquina recebe sua própria chave. Alternativamente, entregue a cada desenvolvedor sua chave através do seu processo de segredos existente e peça-lhes para definir ANTHROPIC_AUTH_TOKEN eles mesmos.
Alguns ambientes precisam de entrega separada:
- O aplicativo de desktop lê o roteamento do gateway apenas de sua configuração de inferência de terceiros entregue por MDM; implante esse arquivo junto com configurações gerenciadas para que as sessões de desktop também roteiem através do gateway. Consulte a documentação de configuração de terceiros do desktop e a documentação de gateway do desktop
- Os executores de CI precisam de
ANTHROPIC_BASE_URLe a credencial definida no ambiente do executor - WSL em máquinas Windows gerenciadas lê as configurações gerenciadas do Windows apenas quando
wslInheritsWindowsSettingsétrue
Entregue aos desenvolvedores os valores para definir eles mesmos
Se você não tiver distribuição de configurações gerenciadas em vigor, envie a cada desenvolvedor o que ele precisa para seguir a página de conexão:- A URL do gateway
- Sua credencial pessoal
- Qual variável colocar a credencial em:
ANTHROPIC_AUTH_TOKENpara um gateway de token portador, ouANTHROPIC_API_KEYpara um gatewayx-api-key. Dizer aos desenvolvedores qual economiza o trial-and-error descrito na página de conexão - Quaisquer variáveis condicionais da tabela O que distribuir, com seus valores
claude inicia uma sessão sem mostrar a tela de login, já que a credencial distribuída satisfaz a autenticação. Em seguida, execute /status e abra a aba Status: a linha Anthropic base URL mostra o endereço do gateway, e para distribuição gerenciada a linha Setting sources inclui configurações gerenciadas. Uma tela de login, ou uma linha Anthropic base URL ausente, significa que a configuração não alcançou a máquina.
Verifique a implantação
Confirme que tudo funciona a partir de uma máquina de desenvolvedor, não do host do gateway, para que o teste cubra o caminho de rede que os desenvolvedores usam. Envie uma solicitação de streaming, que verifica o endpoint, passagem de streaming e roteamento de modelo de uma vez:- Bash ou Zsh
- PowerShell
data: chegarem incrementalmente. A resposta inteira chegando de uma vez após uma pausa significa que o gateway está armazenando em buffer, o que paralisa Claude Code; um 404 significa que o nome do modelo não é roteado. Repita por nome de modelo.
Em seguida, inicie claude e envie uma mensagem. Cada sintoma nesta etapa tem uma causa:
- Um prompt de login significa uma lacuna de credencial. Execute
/statuse abra a aba Status: quando a linhaSetting sourcesnão inclui configurações gerenciadas, a distribuição não alcançou a máquina; quando inclui, a credencial do desenvolvedor não foi entregue, portanto definaANTHROPIC_AUTH_TOKENou oapiKeyHelper - Erros
Failed to authenticatesignificam que o gateway está rejeitando solicitações; seu log diz qual credencial falhou. Uma rejeição que o gateway registra em si nomeia a chave do desenvolvedor, enquanto um401deapi.anthropic.comou do endpoint do seu provedor significa que a credencial do provedor que o gateway detém foi rejeitada - Um prompt de aprovação única para a chave é esperado no primeiro uso quando o gateway espera chaves no cabeçalho
x-api-key, definido comoANTHROPIC_API_KEY. ComANTHROPIC_AUTH_TOKEN, nenhum prompt aparece e a variável assume silenciosamente; um login claude.ai previamente salvo está inativo para essa sessão
x-claude-code-session-id agrupa solicitações por sessão. Se os recursos falharem com os sintomas de solução de problemas, o gateway está removendo cabeçalhos ou reescrevendo erros; consulte os requisitos do gateway acima.
Mantenha o gateway
Após a implantação, três tipos de mudança alcançam o gateway ao longo do tempo. Cada um tem um sintoma a observar e uma ação a tomar.| Mudança | Sintoma quando o gateway não acompanhou | Ação |
|---|---|---|
Novos lançamentos do Claude Code adicionam valores anthropic-beta e campos de corpo de solicitação | Os desenvolvedores relatam erros 400 nomeando um novo campo depois que atualizam Claude Code; consulte passagem de recursos | Encaminhe cabeçalhos anthropic-* e corpos de solicitação verbatim em vez de usar lista de permissões; teste novos lançamentos do Claude Code contra o gateway antes de alcançarem os desenvolvedores |
| Novos modelos Claude ficam disponíveis | Os desenvolvedores selecionando um novo nome de modelo obtêm 404; o seletor /model não o lista | Adicione o nome do modelo à configuração de roteamento do gateway, em seguida, re-execute a verificação de roteamento. Se você distribuir ANTHROPIC_MODEL ou as variáveis de modelo padrão, atualize as configurações gerenciadas |
| Credenciais expiram ou precisam de rotação | Todas as solicitações de desenvolvedor começam a falhar com 401 do upstream | Rotacione a credencial do provedor do gateway em seu próprio cronograma; as chaves do desenvolvedor giram no gateway, e um apiKeyHelper lida com rotação por desenvolvedor sem redistribuir configurações |
429, até 10 vezes com backoff, honrando Retry-After. Mantenha a referência do protocolo como o contrato para o que cada lançamento do Claude Code envia.
Recursos relacionados
- Conectar Claude Code a um gateway LLM: as etapas de configuração voltadas para o desenvolvedor, com configuração por superfície e uma tabela de solução de problemas que você pode entregar aos desenvolvedores
- Referência do protocolo do gateway: o contrato de fio para operadores de gateway, cobrindo endpoints, cabeçalhos para encaminhar e a tabela de passagem de recursos
- Arquivos de configurações e precedência: como configurações gerenciadas, de projeto e de usuário se combinam, e onde o arquivo gerenciado vai em cada plataforma
- Configure Claude Code para sua organização: a implantação mais ampla da qual este gateway é uma parte, incluindo imposição de política, visibilidade de uso e tratamento de dados