Base URL do Claude Code: como configurar ANTHROPIC_BASE_URL do jeito certo
Wokey Team · 2026-09-24
Resposta curta: a base URL do Claude Code é definida com a variável de ambiente ANTHROPIC_BASE_URL. Use só a origem do gateway, sem /v1. Para a Wokey, é https://api.wokey.ai; o Claude Code acrescenta /v1/messages sozinho. Coloque sua chave em ANTHROPIC_AUTH_TOKEN, que é enviada como Authorization: Bearer. Se você definir a base URL mas não a chave, o Claude Code continua usando seu login salvo do claude.ai.
Configuração mínima
export ANTHROPIC_BASE_URL="https://api.wokey.ai"
export ANTHROPIC_AUTH_TOKEN="your Wokey API key"
claude
Dentro do Claude Code, rode /status. As requisições estão passando pela Wokey quando a aba Status mostra:
Anthropic base URLdefinido comohttps://api.wokey.ai- uma linha
Auth tokencitandoANTHROPIC_AUTH_TOKEN
Se a linha Anthropic base URL não aparecer, a variável nunca chegou à sessão.
Por que /v1 quebra tudo
O Claude Code trata ANTHROPIC_BASE_URL como prefixo e requisita $ANTHROPIC_BASE_URL/v1/messages. Defina como https://api.wokey.ai/v1 e a requisição vai para /v1/v1/messages, que a Wokey responde com:
{"message":"Route POST:/v1/v1/messages not found","error":"Not Found","statusCode":404}
Clientes compatíveis com OpenAI, como Cursor ou Cherry Studio, por convenção usam .../v1. O Claude Code segue a convenção da Anthropic, e as duas não se misturam. Também não adicione /v1/messages nem uma barra no final.
AUTH_TOKEN ou API_KEY
| Variável | Enviada como | Use quando |
|---|---|---|
ANTHROPIC_AUTH_TOKEN |
Authorization: Bearer <key> |
O gateway pede um bearer token, ou você não tem certeza |
ANTHROPIC_API_KEY |
x-api-key: <key> |
O gateway pede um cabeçalho x-api-key |
A Wokey aceita os dois cabeçalhos. A diferença está do lado do Claude Code:
ANTHROPIC_AUTH_TOKENvale imediatamente.ANTHROPIC_API_KEYpede uma aprovação única no modo interativo antes de passar a valer. Uma chave que você recusou antes é ignorada silenciosamente.
Não defina as duas com valores diferentes. Quando os dois cabeçalhos trazem chaves diferentes, a Wokey rejeita a requisição:
{"error":{"code":"conflicting_api_key_headers","message":"conflicting_api_key_headers","type":"invalid_request_error"}}
A mesma chave nos dois cabeçalhos não tem problema.
O que acontece com só a base URL definida
Uma base URL não é uma credencial. Com só ANTHROPIC_BASE_URL definida e sem AUTH_TOKEN ou API_KEY, o Claude Code continua enviando as requisições com seu login salvo do claude.ai. A Wokey não reconhece isso como uma chave da Wokey e retorna 401.
Depois que uma credencial do gateway é definida, seu login do claude.ai continua salvo, mas sem uso; remova a variável para voltar a ele.
Você pode ver um aviso na inicialização terminando em auth may not work as expected. Versões mais antigas mostram Auth conflict: Both a token (SOURCE) and an API key (SOURCE) are set em vez disso. Os dois significam que existem ao mesmo tempo uma credencial do gateway e um login salvo. Para usar só o gateway, rode /logout dentro do Claude Code para apagar o login salvo.
Deixe permanente no settings.json
Um export só vale para o terminal atual, e editores abertos pelo Dock ou pelo menu Iniciar não o enxergam. Para o uso diário, coloque os valores no bloco env de ~/.claude/settings.json:
{
"env": {
"ANTHROPIC_BASE_URL": "https://api.wokey.ai",
"ANTHROPIC_AUTH_TOKEN": "your Wokey API key"
}
}
- Quando o shell e um arquivo de configuração definem a mesma variável, o arquivo de configuração prevalece. Se uma variável do shell que você mudou parece não ter efeito, confira aqui primeiro.
- Para um único projeto, use o
.claude/settings.local.jsondesse projeto e garanta que ele esteja no gitignore. - Nunca coloque a chave no
.claude/settings.jsonde um projeto. Esse arquivo vai para o repositório no commit.
Escolhendo modelos
A Wokey usa os mesmos IDs de modelo do Claude que a Anthropic, como claude-opus-5, claude-sonnet-5 e claude-haiku-4-5. Troque durante a sessão com /model. Para fixar qual modelo cada nível Opus, Sonnet e Haiku do Claude Code usa, adicione ao env:
{
"env": {
"ANTHROPIC_DEFAULT_OPUS_MODEL": "claude-opus-5",
"ANTHROPIC_DEFAULT_SONNET_MODEL": "claude-sonnet-5",
"ANTHROPIC_DEFAULT_HAIKU_MODEL": "claude-haiku-4-5"
}
}
ANTHROPIC_DEFAULT_HAIKU_MODEL também define o modelo das tarefas em segundo plano, como os títulos das sessões.
Extensão do VS Code e app desktop
A extensão do VS Code não usa variáveis do shell na verificação de login. Defina-as nas próprias configurações de usuário do VS Code: rode Preferences: Open User Settings (JSON) pela paleta de comandos e adicione:
{
"claudeCode.environmentVariables": [
{ "name": "ANTHROPIC_BASE_URL", "value": "https://api.wokey.ai" },
{ "name": "ANTHROPIC_AUTH_TOKEN", "value": "your Wokey API key" }
]
}
Os valores em ~/.claude/settings.json chegam ao processo que a extensão inicia, mas não à verificação de login da própria extensão. Se a extensão continuar pedindo para você entrar, use a configuração acima.
O app desktop do Claude não lê ANTHROPIC_BASE_URL nem settings.json. Para definir um gateway:
- Abra Help → Troubleshooting → Enable Developer Mode.
- Abra Developer → Configure Third-Party Inference e informe o endereço do gateway.
Veja o guia de configuração do Claude Desktop para o passo a passo completo.
Teste com curl primeiro
No mesmo terminal, teste sem o Claude Code no meio:
curl -X POST "$ANTHROPIC_BASE_URL/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":"."}]}'
O que a resposta indica:
- Começa com
{"id":"msg_: a URL e a chave estão certas; o problema está na sua configuração do Claude Code. 401com códigoinvalid_api_key: a chave está ausente, digitada errado ou foi excluída.404citando/v1/v1/messages: a base URL tem um/v1sobrando.- O curl funciona, mas o Claude Code continua pedindo login: o Claude Code não tem credencial própria. Confira se as variáveis foram definidas no mesmo terminal em que você iniciou o
claude, ou mova-as para~/.claude/settings.json.
Perguntas frequentes
ANTHROPIC_BASE_URL deve incluir /v1?
Não. O Claude Code acrescenta /v1/messages à base URL, então https://api.wokey.ai/v1 requisita /v1/v1/messages e recebe 404. Para a Wokey, use https://api.wokey.ai.
ANTHROPIC_AUTH_TOKEN ou ANTHROPIC_API_KEY?
ANTHROPIC_AUTH_TOKEN é enviado como Authorization: Bearer e vale imediatamente. ANTHROPIC_API_KEY é enviado como x-api-key e precisa de uma aprovação única no modo interativo. A Wokey aceita os dois; ANTHROPIC_AUTH_TOKEN é o recomendado. Definir os dois com valores diferentes resulta em 401 conflicting_api_key_headers.
Só configurei a base URL. Por que ele continua usando minha assinatura do Claude?
Uma base URL não é uma credencial. Sem ANTHROPIC_AUTH_TOKEN ou ANTHROPIC_API_KEY, o Claude Code continua usando seu login salvo do claude.ai. Adicione a chave do gateway e rode /logout se quiser apagar o login salvo.
Mudei a variável de ambiente. Por que nada mudou?
O bloco env em ~/.claude/settings.json tem prioridade sobre as variáveis do shell. Veja se há um valor antigo nele e depois rode /status para ver a base URL ativa e a origem da credencial.
Como configurar a base URL na extensão do VS Code?
Adicione ANTHROPIC_BASE_URL e ANTHROPIC_AUTH_TOKEN a claudeCode.environmentVariables no JSON de configurações de usuário do VS Code. A verificação de login da extensão não lê ~/.claude/settings.json.