ANTHROPIC_AUTH_TOKEN ou ANTHROPIC_API_KEY no Claude Code?
As duas variáveis carregam uma credencial, mas não são intercambiáveis: ANTHROPIC_AUTH_TOKEN envia autenticação Bearer; ANTHROPIC_API_KEY envia x-api-key. O servidor decide qual formato aceita. Se a credencial estiver no header errado, a resposta costuma ser 401.
Resposta curta para quem usa MandAPI
Na MandAPI, use ANTHROPIC_AUTH_TOKEN junto com ANTHROPIC_BASE_URL. Evite deixar uma ANTHROPIC_API_KEY antiga ativa no mesmo terminal, pois ela dificulta o diagnóstico.
| Variável | Header enviado | Uso neste guia |
|---|---|---|
ANTHROPIC_AUTH_TOKEN |
Authorization: Bearer ... |
MandAPI |
ANTHROPIC_API_KEY |
x-api-key: ... |
Serviços que pedem explicitamente esse header |
Golden Path da MandAPI
- Crie sua conta MandAPI.
- Entre no painel e crie uma chave de API.
- Salve o arquivo
~/.claude/settings.jsonno macOS/Linux ou%USERPROFILE%\.claude\settings.jsonno Windows:
{
"env": {
"ANTHROPIC_BASE_URL": "https://api.mandapi.com",
"ANTHROPIC_AUTH_TOKEN": "COLE_SUA_CHAVE_MANDAPI_AQUI"
}
}
- Feche o terminal, abra outro e faça uma chamada simples:
claude -p "Responda apenas: conexão ok"
Resultado esperado: uma resposta normal do modelo, sem erro de autenticação, rota ou modelo. O texto pode ser semelhante a conexão ok, mas não precisa ser idêntico.
Teste a credencial sem expor o valor
Não publique a chave nem cole seu valor em capturas de tela. Teste diretamente com a variável:
curl -sS -X POST https://api.mandapi.com/v1/messages \
-H "Authorization: Bearer $ANTHROPIC_AUTH_TOKEN" \
-H "anthropic-version: 2023-06-01" \
-H "content-type: application/json" \
-d '{"model":"claude-sonnet-5","max_tokens":1,"messages":[{"role":"user","content":"."}]}'
No PowerShell:
Invoke-RestMethod -Method Post -Uri "https://api.mandapi.com/v1/messages" `
-Headers @{ Authorization = "Bearer $env:ANTHROPIC_AUTH_TOKEN"; "anthropic-version" = "2023-06-01" } `
-ContentType "application/json" `
-Body '{"model":"claude-sonnet-5","max_tokens":1,"messages":[{"role":"user","content":"."}]}'
Resultado esperado: uma resposta JSON Anthropic, sem erro de autenticação, rota ou modelo. 401 indica credencial rejeitada.
Elimine conflitos antes de testar
No macOS, Linux ou WSL, remova uma chave antiga apenas da sessão atual:
unset ANTHROPIC_API_KEY
No PowerShell:
Remove-Item Env:ANTHROPIC_API_KEY -ErrorAction SilentlyContinue
Depois, abra o Claude Code e use /status para conferir a ANTHROPIC_BASE_URL efetiva. Não imprima a credencial inteira no terminal.
Se ainda retornar 401
- Confirme que copiou a chave completa na área de chaves.
- Verifique se a URL é exatamente
https://api.mandapi.com, sem/v1no final. - Abra um novo terminal depois de editar
settings.json. - Compare o teste com curl e a chamada
claude -p: se só o Claude Code falhar, revise as variáveis carregadas pela sessão.
Veja também como resolver o erro 401 e como configurar ANTHROPIC_BASE_URL.
