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:
- O navegador não abriu. Aperte
cpara copiar o endereço de login e cole no navegador. - O navegador mostrou um código em vez de voltar ao terminal. Cole o código no prompt
Paste code here if prompted. Isso acontece quando o navegador não alcança o terminal, o que, segundo a doc, "é comum em WSL2, sessões SSH e contêineres". - Colar no prompt não faz nada. O atalho de colar do terminal não chega ao campo. Tente o atalho
alternativo (no Windows Terminal, clique direito ou
Shift+Insert); se não der, useclaude auth login, que lê o código colado da entrada padrão; a doc diz que o recurso vale também no Windows nativo.
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.
| Sistema | Onde a credencial fica |
|---|---|
| macOS | No 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):
| Ordem | Credencial | Para quê |
|---|---|---|
| 1 | CLAUDE_CODE_USE_BEDROCK, _VERTEX ou _FOUNDRY | Provedor de nuvem |
| 2 | ANTHROPIC_AUTH_TOKEN | Gateway ou proxy da empresa |
| 3 | ANTHROPIC_API_KEY | Chave do Claude Console |
| 4 | apiKeyHelper | Script que devolve a chave |
| 5 | CLAUDE_CODE_OAUTH_TOKEN | Token do claude setup-token |
| 6 | ANTHROPIC_PROFILE e credenciais de federação | Perfil nomeado ou Workload
Identity (o perfil da CLI ant sem ANTHROPIC_PROFILE fica abaixo do /login) |
| 7 | /login | Sua 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
| Mensagem | O que é | O que fazer |
|---|---|---|
API Error: 400 ... "This organization has been disabled", com assinatura ativa | Uma
ANTHROPIC_API_KEY antiga, de outro emprego ou projeto, ainda está no seu ambiente e passou na frente da
assinatura | Tire a variável (comandos abaixo) e apague a linha do perfil do shell |
API Error: 403 Request not allowed depois do login | Assinatura inativa, conta do Console sem a função certa, ou proxy da empresa no meio | Pro/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 copied | O código de login expirou ou foi cortado ao copiar | Aperte 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 terminal | WSL2, SSH ou contêiner: o navegador abriu em outra máquina | Cole o código em Paste code here if prompted, ou use claude auth login |
| Pede login de novo depois de uma sessão | O 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 account | Na empresa (Enterprise), a sua função não libera o Claude Code | Peç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:
- Rode
/logoutpara sair por completo. - Feche o Claude Code.
- Abra de novo com
claudee 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).
| Comando | Onde | Responde |
|---|---|---|
/status | Dentro da sessão | Versão, modelo, conta e qual credencial vale |
claude auth status --text | No terminal | Quem está logado |
claude doctor | No terminal | Instalaçã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
- Claude Code: fotos de recibos viram planilha de despesas no Excel
- Claude Code: renomear PDFs pelo conteúdo, com desfazer
- “claude” não é reconhecido: corrigir o Claude Code no Windows
- Quanto custa o Claude Code em reais: Pro, Max e o plano grátis
- Claude Code no VS Code e no Cursor: extensão, terminal ou os dois
- Claude Code no Windows: PowerShell nativo ou WSL?
- Limites do Claude Code: sessão, semanal e como ler o /usage
- Comandos do Claude Code: a cola dos que você usa toda semana
- Como atualizar o Claude Code: Windows, WinGet, npm e Mac
- CLAUDE.md no Claude Code: o que é e como escrever o seu
- Skills no Claude Code: o que são e como criar a sua
- MCP no Claude Code: como instalar e usar um servidor
- Claude Code no GitHub: @claude no pull request com o GitHub Actions
- Claude Code vs Codex: preço, instalação no Windows e o que muda
- Claude Code tem memória? Como ele lembra entre sessões (auto memory)
- Modo automático do Claude Code: o que aprova sozinho e como desligar
- Hooks no Claude Code: o que são, com exemplos no Windows
- Claude Code no celular: funciona? Como controlar pelo app Claude
- Claude Code ou GitHub Copilot: preço em reais e qual escolher
- Claude Code ou Cursor: qual é melhor e quanto custa o Claude
- Claude Code com Ollama: modelo local grátis, como configurar
- Subagentes no Claude Code: o que são e como criar o seu
- Claude Code para iniciantes: tutorial completo no Windows
- Como instalar o Claude Code no Mac e no Linux