Guia de campo do Claude Code em português

Login e chave de API no Claude Code: quem paga a conta e o que fazer quando dá erro

O login do Claude Code é um clique no navegador, até deixar de ser: o navegador não volta ao terminal, aparece um 403, ou a assinatura está paga e a cobrança cai na conta da API. Quase sempre a causa é uma de poucas, e a doc oficial em português (lida em 18/10/2026) dá o conserto de cada uma. Abaixo, o login, a ordem em que as credenciais vencem e os erros com a solução, mais a seção 1.2 do guia (p. 10).

Como o login funciona

O Claude Code não tem conta própria. Ele entra com a sua assinatura do claude.ai (Pro, Max, Team ou Enterprise), com uma conta do Claude Console, que é a API cobrada por uso, ou com um provedor de nuvem da empresa (Amazon Bedrock, Google Cloud, Microsoft Foundry). O plano gratuito do claude.ai não inclui o Claude Code (p. 10). Quanto custa cada plano em reais está no artigo quanto custa o Claude Code.

Depois de instalar, rode claude no terminal. Nas palavras da doc: "No primeiro lançamento, Claude Code abre uma janela do navegador para você fazer login." Ao terminar, o terminal mostra Login successful e pede Enter; a credencial fica guardada e o login não se repete até expirar.

claude

Três detalhes travam muita gente, e a doc resolve os três:

Trocar de conta, sair e onde fica a credencial

Para trocar de conta, digite /login dentro da sessão; para sair, /logout. A doc avisa que sair "também redefine seu estado de configuração de primeiro lançamento": na próxima vez, o claude refaz o login e a configuração inicial.

SistemaOnde a credencial fica
macOSNo Keychain do macOS, criptografado
Linux~/.claude/.credentials.json, com permissão 0600 (só o seu usuário lê)
Windows%USERPROFILE%\.claude\.credentials.json, protegido pelas permissões da sua pasta de usuário

Quer duas contas na mesma máquina, a do trabalho e a pessoal? A doc manda dar a cada uma um diretório de configuração próprio pela variável CLAUDE_CONFIG_DIR. No bash ou no zsh, um apelido resolve, e claude continua sendo a conta pessoal:

alias claude-work='CLAUDE_CONFIG_DIR=~/.claude-work claude'

Chave de API: quando ela passa na frente da assinatura

É aqui que mora o erro mais caro. Com várias credenciais na máquina, o Claude Code escolhe uma, nesta ordem (figura 1.2 do guia, p. 10):

OrdemCredencialPara quê
1CLAUDE_CODE_USE_BEDROCK, _VERTEX ou _FOUNDRYProvedor de nuvem
2ANTHROPIC_AUTH_TOKENGateway ou proxy da empresa
3ANTHROPIC_API_KEYChave do Claude Console
4apiKeyHelperScript que devolve a chave
5CLAUDE_CODE_OAUTH_TOKENToken do claude setup-token
6ANTHROPIC_PROFILE e credenciais de federaçãoPerfil nomeado ou Workload Identity (o perfil da CLI ant sem ANTHROPIC_PROFILE fica abaixo do /login)
7/loginSua assinatura: o caso comum

A assinatura é o último degrau, e o terceiro é o que engana. Com uma ANTHROPIC_API_KEY no ambiente, diz a doc, "No modo interativo, você é solicitado uma vez a aprovar ou recusar a chave, e sua escolha é lembrada". Aprovada, ela passa na frente da assinatura, e o uso vai para a conta da API, cobrada por uso (p. 10). No modo não interativo, o claude -p, não há pergunta: "a chave é sempre usada quando presente". Para mudar a escolha depois, existe o toggle "Use custom API key" em /config, que só aparece enquanto a variável está definida.

Quando a chave vale a pena: em script, servidor ou CI, onde não há navegador. Para esse caso a doc oferece também o claude setup-token, que gera "um token OAuth de um ano" da sua assinatura. O comando só imprime o token no terminal, sem salvar em lugar nenhum; você o guarda na variável CLAUDE_CODE_OAUTH_TOKEN da máquina que vai usá-lo. Duas ressalvas da doc: o comando abre o mesmo fluxo de autorização no navegador que o /login, então gere o token numa máquina com navegador; e o modo --bare não lê CLAUDE_CODE_OAUTH_TOKEN (nele, use a chave ou um apiKeyHelper).

claude setup-token

Os erros de login mais comuns, com o conserto

MensagemO que éO que fazer
API Error: 400 ... "This organization has been disabled", com assinatura ativaUma ANTHROPIC_API_KEY antiga, de outro emprego ou projeto, ainda está no seu ambiente e passou na frente da assinaturaTire a variável (comandos abaixo) e apague a linha do perfil do shell
API Error: 403 Request not allowed depois do loginAssinatura inativa, conta do Console sem a função certa, ou proxy da empresa no meioPro/Max: confira a assinatura em claude.ai/settings. Console: o administrador dá a função "Claude Code" ou "Developer" na página Members
OAuth error: Invalid code. Please make sure the full code was copiedO código de login expirou ou foi cortado ao copiarAperte Enter para tentar de novo e conclua logo depois que o navegador abrir; c copia o endereço inteiro
O navegador loga e não volta ao terminalWSL2, SSH ou contêiner: o navegador abriu em outra máquinaCole o código em Paste code here if prompted, ou use claude auth login
Pede login de novo depois de uma sessãoO token expirou/login. Se acontecer sempre, confira o relógio do sistema: a validação do token depende do horário certo
Claude Code access has not been granted for this accountNa empresa (Enterprise), a sua função não libera o Claude CodePeça a um Owner da organização para liberar; depois, claude e login de novo

Para tirar a chave esquecida, a doc dá um comando por sistema. No Mac e no Linux:

unset ANTHROPIC_API_KEY
claude

No PowerShell:

Remove-Item Env:ANTHROPIC_API_KEY
claude

Isso vale só para a janela aberta. Para não voltar, procure a linha export ANTHROPIC_API_KEY=... em ~/.zshrc, ~/.bashrc ou ~/.profile; no Windows, no perfil do PowerShell ($PROFILE) e nas variáveis de ambiente do seu usuário.

No Mac há um caso a mais: quando o Keychain está bloqueado (numa sessão SSH, por exemplo) e recusa a gravação, o login vai para um arquivo de texto simples, ~/.claude/.credentials.json. O claude doctor avisa com macOS Keychain is not writable; destrave com security unlock-keychain ~/Library/Keychains/login.keychain-db. Com o Keychain gravável de novo, a credencial volta para ele sozinha na próxima gravação. /logout e /login forçam a volta na hora, mas sair apaga todas as credenciais guardadas, inclusive os logins de servidores MCP e os segredos de plugins, que você terá de refazer.

Quando nada disso resolve: login do zero e conferência

A receita da doc para o caso sem causa óbvia é uma reautenticação limpa:

  1. Rode /logout para sair por completo.
  2. Feche o Claude Code.
  3. Abra de novo com claude e faça o login.

Depois, confira em vez de supor. Dentro da sessão, /status mostra qual método de login está ativo e, quando há login e chave ao mesmo tempo, marca a credencial que não está em uso. Fora da sessão, claude auth status --text mostra login e e-mail e sai com código 1 se ninguém estiver logado (p. 14).

ComandoOndeResponde
/statusDentro da sessãoVersão, modelo, conta e qual credencial vale
claude auth status --textNo terminalQuem está logado
claude doctorNo terminalInstalação, PATH e, no Mac, o Keychain

Se o problema é antes do login, porque o terminal nem acha o claude, veja "claude não é reconhecido" no Windows ou instalar no Mac e no Linux.

Fora do livro: code.claude.com/docs/pt/authentication e /docs/pt/troubleshoot-install, "Login e autenticação", lidas em 18/10/2026.

Leia também