- 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 Cloud’s Agent Platform 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
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.
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.
Ao dimensionar limites de taxa por chave, leve em conta o cliente tentando novamente falhas transitórias, incluindo respostas
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