open33 API

Resolver problemasAtualizado em 7 min de leitura

Claude Code pedindo login: como fazer ele usar só a chave de API

Com ANTHROPIC_BASE_URL e ANTHROPIC_API_KEY configuradas, o Claude Code não precisa de login na conta da Anthropic: ele usa a sua chave de API. Se ele abre a tela de login mesmo assim, uma das causas abaixo explica quase todos os casos.

As soluções seguem a documentação oficial do Claude Code, conferida na data de atualização deste guia. Se você ainda não configurou nada, comece pelo guia Claude Code em reais.

Primeiro, veja o que o Claude Code recebe

No mesmo terminal onde você vai abrir o claude, confira as duas variáveis. Os comandos abaixo mostram a URL, mas não mostram a chave na tela, o que é bom se você grava a tela ou divide o terminal com alguém.

macOS, Linux e WSL:

echo "$ANTHROPIC_BASE_URL"
[ -n "$ANTHROPIC_API_KEY" ] && echo "chave definida" || echo "chave vazia"

Windows (PowerShell):

$env:ANTHROPIC_BASE_URL
if ($env:ANTHROPIC_API_KEY) { "chave definida" } else { "chave vazia" }

O certo é aparecer https://api.open33.tech e chave definida. Se as variáveis estão no settings.json do Claude Code, e não no terminal, os comandos acima mostram vazio, e está tudo bem: nesse caso, confira pelo /status.

Dentro do Claude Code, o comando /status mostra a URL base em uso e de onde vem a chave. Se ali aparece o login de uma conta do claude.ai em vez da chave, siga as causas abaixo, na ordem.

Causa 1: as variáveis não chegaram ao terminal

Um programa recebe as variáveis de ambiente no momento em que abre. Se você editou a configuração depois de abrir o terminal, ele continua sem elas.

Para não depender do terminal, coloque as variáveis no arquivo de configuração do seu usuário, ~/.claude/settings.json (no Windows, %USERPROFILE%\.claude\settings.json):

{
  "env": {
    "ANTHROPIC_BASE_URL": "https://api.open33.tech",
    "ANTHROPIC_API_KEY": "SUA_CHAVE"
  }
}

Se a mesma variável estiver no terminal e no settings.json, vale a do settings.json.

Causa 2: a chave está só no settings.json do projeto

O Claude Code só aplica o bloco env do .claude/settings.json ou do .claude/settings.local.json de um projeto depois da configuração inicial e da pergunta sobre confiar na pasta. Na primeira vez, ele ainda não leu a chave e mostra a tela de login.

A solução é colocar a chave onde o Claude Code lê antes disso: no terminal ou no ~/.claude/settings.json do seu usuário, como na causa 1.

Evite a chave no .claude/settings.json do projeto de qualquer jeito: esse arquivo vai para o Git, e chave em repositório é chave vazada.

Causa 3: você recusou a chave na primeira vez

Quando encontra a ANTHROPIC_API_KEY, o Claude Code pergunta uma vez se deve usar essa chave e guarda a resposta. Se você recusou, ele ignora a chave dali em diante, sem perguntar de novo.

Para voltar atrás:

  1. Abra o Claude Code com a ANTHROPIC_API_KEY definida.
  2. Digite /config.
  3. Ative a opção Use custom API key.

Essa opção só aparece quando a variável ANTHROPIC_API_KEY está definida.

Causa 4: existe um login antigo salvo

Se você já entrou com uma conta do claude.ai ou do Console da Anthropic nesse computador, o login fica salvo. Quando a chave não está em uso, por uma das causas acima, o Claude Code volta para esse login e, se ele expirou, pede para você entrar de novo. Com a chave e o login ativos ao mesmo tempo, ele pode avisar na abertura que encontrou duas credenciais e que a autenticação pode não funcionar como esperado.

Para ficar só com a chave, apague o login salvo:

  1. Dentro do Claude Code, rode /logout.
  2. Feche o Claude Code.
  3. Abra de novo com claude e confirme o uso da chave, se ele perguntar.

O /logout também apaga outras credenciais salvas, como os logins de servidores MCP. Se você usa algum, vai precisar entrar de novo nele.

Causa 5: você usa a extensão do VS Code

A extensão do Claude Code para o VS Code confere as credenciais antes de abrir, e essa conferência não lê o ~/.claude/settings.json. Por isso ela pode pedir login mesmo com o terminal funcionando.

Coloque as variáveis nas configurações do próprio VS Code:

  1. Abra a paleta de comandos com Ctrl+Shift+P (Cmd+Shift+P no macOS).
  2. Escolha Preferences: Open User Settings (JSON).
  3. Acrescente o bloco abaixo, troque SUA_CHAVE e salve:
{
  "claudeCode.environmentVariables": [
    { "name": "ANTHROPIC_BASE_URL", "value": "https://api.open33.tech" },
    { "name": "ANTHROPIC_API_KEY", "value": "SUA_CHAVE" }
  ]
}

Se o arquivo já tem outras configurações, coloque só a linha "claudeCode.environmentVariables": [...] dentro das chaves que já existem, separada das outras por vírgula. Depois, feche o VS Code e abra de novo.

Causa 6: o computador é da empresa

Empresas podem instalar uma política que obriga o login com a conta da organização. Nesse caso, o Claude Code mostra uma mensagem como "This machine's managed settings require a first-party login" e não aceita chave de API.

Essa política não pode ser desfeita por você, e não vale tentar contornar: fale com a equipe de TI ou use o Claude Code num computador pessoal.

E o app Claude Desktop?

O app Claude Desktop não lê o ANTHROPIC_BASE_URL nem o settings.json do Claude Code. Para usar a sua chave, use o Claude Code no terminal ou na extensão do VS Code.

Teste sem a tela de login

O modo -p responde uma vez e sai, e ele sempre usa a ANTHROPIC_API_KEY quando ela existe, sem pedir confirmação. É um bom jeito de separar os problemas:

claude -p "Responda só com: funcionando"

Recomece do zero

Se nada acima resolveu, este caminho elimina quase todas as causas de uma vez:

  1. Dentro do Claude Code, rode /logout e feche o programa.
  2. Coloque ANTHROPIC_BASE_URL e ANTHROPIC_API_KEY no ~/.claude/settings.json, como na causa 1.
  3. Abra um terminal novo e rode claude.
  4. Se ele perguntar se deve usar a chave, confirme.
  5. Rode /status e confira a URL base e a chave.

No Windows, o passo a passo completo, com os comandos do PowerShell, está no guia Claude Code no Windows.

O que precisa da conta do claude.ai

Alguns recursos do Claude Code dependem de uma conta do claude.ai e ficam indisponíveis com chave de API, como o controle remoto e o ditado por voz. Para programar no terminal, nada disso faz falta. O guia de comandos do Claude Code mostra o que você usa no dia a dia.

Perguntas frequentes

Preciso de conta na Anthropic para usar o Claude Code?

Não, se você usa uma chave de API. Com ANTHROPIC_BASE_URL e ANTHROPIC_API_KEY configuradas, o Claude Code manda as requisições para a URL base com a sua chave, sem login na conta da Anthropic.

Como faço o Claude Code parar de pedir login?

Coloque as duas variáveis no ~/.claude/settings.json do seu usuário, abra um terminal novo e confirme o uso da chave quando o Claude Code perguntar. Se já existe um login salvo, rode /logout antes.

Recusei a chave sem querer. E agora?

Com a ANTHROPIC_API_KEY definida, abra o Claude Code, digite /config e ative a opção Use custom API key.

Como sei se o Claude Code está usando a minha chave?

Rode /status dentro do Claude Code. Ele mostra a URL base em uso e de onde vem a chave. Se aparecer o login de uma conta do claude.ai no lugar, a chave não está sendo usada.

Por que a extensão do VS Code pede login e o terminal não?

Porque a extensão confere as credenciais antes de abrir e não lê o ~/.claude/settings.json. Coloque as variáveis em claudeCode.environmentVariables, nas configurações do VS Code, e reinicie o VS Code.

Continue lendo