Claude Code
Claude Code interage com o UberLLM através do seu endereço compatível com Anthropic,
https://api.uberllm.dev. Com o endereço e sua chave configurados, os
comandos e ferramentas do Claude Code funcionam como antes, e as solicitações são cobradas do seu
saldo do UberLLM.
Configurar manualmente
Não há nada para executar além do próprio Claude Code. Crie uma chave na sua página de chaves e, em seguida:
export ANTHROPIC_BASE_URL=https://api.uberllm.dev
export ANTHROPIC_AUTH_TOKEN=ull_your_key
claude
Windows PowerShell:
$env:ANTHROPIC_BASE_URL = "https://api.uberllm.dev"
$env:ANTHROPIC_AUTH_TOKEN = "ull_your_key"
claude
Isso é válido apenas para o terminal atual. Para mantê-lo sem uma chave no seu perfil de shell, salve a chave em um arquivo que só você possa ler:
mkdir -p ~/.uberllm && chmod 700 ~/.uberllm
printf '%s\n' 'ull_your_key' > ~/.uberllm/key && chmod 600 ~/.uberllm/key
e coloque isso em ~/.claude/settings.json (todos os projetos) ou em
<project>/.claude/settings.local.json (um projeto):
{
"apiKeyHelper": "cat ~/.uberllm/key",
"env": {
"ANTHROPIC_BASE_URL": "https://api.uberllm.dev"
}
}
Ou use o instalador
O instalador faz a mesma coisa por você e obtém a chave através do seu navegador. Leia-o primeiro se quiser: é texto simples em uberllm.dev/install/claude-code.sh.
- SHA-256 de
claude-code.sh:f5aa1c4610992d8f4ecc1b1cd777bc731c5fad9da6a38cac46989834b194d66c - SHA-256 de
claude-code.ps1:60d631b48e60a2e3f17e5eee19136d47a255f143627986e86b6ceb379858a3b9
Para verificá-lo antes de executá-lo:
curl -fsSL https://uberllm.dev/install/claude-code.sh -o claude-code.sh
shasum -a 256 claude-code.sh # compare with the hash above
sh claude-code.sh
Todos os projetos neste computador:
curl -fsSL https://uberllm.dev/install/claude-code.sh | sh
Apenas um projeto (execute-o dentro do projeto; outros projetos permanecem no seu plano Anthropic):
curl -fsSL https://uberllm.dev/install/claude-code.sh | sh -s -- --project
Adicione uma pasta depois de --project para configurar um projeto diferente do atual.
Windows PowerShell (todos os projetos):
irm https://uberllm.dev/install/claude-code.ps1 | iex
Você não precisa de uma API key primeiro, e não precisa estar logado ao
colar o comando. O instalador abre um link no seu navegador
(https://uberllm.dev/cli/link?code=XXXX-XXXX) e imprime o mesmo código de confirmação
no terminal. Faça login, verifique se o código corresponde e pressione Approve.
A aprovação cria uma API key na sua conta e a entrega ao instalador que está esperando. O código no seu terminal não é o segredo: apenas o instalador que iniciou a solicitação pode coletar a chave, a chave é entregue exatamente uma vez, e a solicitação expira após 15 minutos.
Se o Claude Code nunca foi configurado neste computador, use a instalação para todos os projetos primeiro. O Claude Code lê as configurações de um projeto apenas depois que você confia nessa pasta, então uma instalação totalmente nova ainda pode pedir para você fazer login.
Para imprimir o bloco de configurações do seu computador sem escrever nada:
curl -fsSL https://uberllm.dev/install/claude-code.sh | sh -s -- --print
O que o instalador escreve
A chave vai para um arquivo que só você pode ler (modo de pasta 700, modo de arquivo 600):
| Instalação | Arquivo de chave | Arquivo de configurações |
|---|---|---|
| Todo projeto | ~/.uberllm/key |
~/.claude/settings.json (ou $CLAUDE_CONFIG_DIR/settings.json) |
| Um projeto | ~/.uberllm/key-<folder>-<number> |
<project>/.claude/settings.local.json |
O arquivo de configurações recebe o endereço e um apiKeyHelper que lê o arquivo de chave.
A chave em si nunca é escrita em um arquivo de configurações, para que não vá parar em um
backup, um repositório de dotfiles ou um compartilhamento de tela.
{
"apiKeyHelper": "cat \"/Users/you/.uberllm/key\"",
"env": {
"ANTHROPIC_BASE_URL": "https://api.uberllm.dev",
"CLAUDE_CODE_ENABLE_GATEWAY_MODEL_DISCOVERY": "1"
}
}
Claude Code executa apiKeyHelper para obter a chave e a envia como
Authorization: Bearer e x-api-key, para que funcione com um gateway como o
UberLLM. Ele mantém a resposta por cinco minutos (CLAUDE_CODE_API_KEY_HELPER_TTL_MS
muda isso).
O instalador se mescla ao seu arquivo existente em vez de substituí-lo, então hooks,
permissões e servidores MCP são mantidos, e ele copia o arquivo antigo para
<file>.bak-<timestamp> primeiro. Ele remove um ANTHROPIC_AUTH_TOKEN em texto simples
deixado por uma instalação antiga. Ele então faz uma requisição real através do gateway, então
uma mensagem de sucesso significa que uma requisição foi processada.
O instalador do Windows ainda escreve a chave em settings.json como
ANTHROPIC_AUTH_TOKEN.
Qual configuração vence
Claude Code lê as configurações nesta ordem, a primeira vence:
- Configurações gerenciadas (definidas pela sua empresa, se houver)
claude --settings <file><project>/.claude/settings.local.json<project>/.claude/settings.json~/.claude/settings.json
Uma variável no bloco env de um arquivo de configurações prevalece sobre a mesma variável no seu shell na maioria das sessões. Duas exceções importam aqui:
- A chave. Claude Code usa
ANTHROPIC_AUTH_TOKENprimeiro, depoisANTHROPIC_API_KEY, depoisapiKeyHelper. Um token exportado no seu shell substitui a chave salva. - O modelo.
/modelna sessão vence, depoisclaude --model, depoisANTHROPIC_MODEL, depois a configuraçãomodel. UmANTHROPIC_MODELdo shell supera a configuraçãomodel.
Então, remova todas as variáveis ANTHROPIC_* do seu shell e do seu perfil de shell (~/.zshrc, ~/.bashrc) e mantenha-as no arquivo de configurações. O instalador avisará você quando encontrar uma.
Usar outros modelos
Por padrão, nada é fixado: Claude Code pede pelos seus próprios nomes de modelo (opus,
sonnet, haiku, claude-opus-5-5…) e UberLLM serve os mesmos modelos Claude.
Para usar o Claude Code com DeepSeek, GLM, Qwen, GPT ou qualquer outro modelo, mapeie cada
um dos slots de modelo do Claude Code para um ID de modelo UberLLM no bloco env:
| Variável | O que define |
|---|---|
ANTHROPIC_MODEL |
O modelo com o qual a sessão começa. |
ANTHROPIC_DEFAULT_OPUS_MODEL |
O que opus significa. |
ANTHROPIC_DEFAULT_SONNET_MODEL |
O que sonnet significa. |
ANTHROPIC_DEFAULT_HAIKU_MODEL |
O que haiku significa. O Claude Code também o usa para trabalho em segundo plano, como títulos e resumos. |
CLAUDE_CODE_SUBAGENT_MODEL |
O modelo em que os subagentes são executados. |
{
"apiKeyHelper": "cat \"/Users/you/.uberllm/key\"",
"env": {
"ANTHROPIC_BASE_URL": "https://api.uberllm.dev",
"ANTHROPIC_MODEL": "deepseek/deepseek-v4-pro",
"ANTHROPIC_DEFAULT_OPUS_MODEL": "deepseek/deepseek-v4-pro",
"ANTHROPIC_DEFAULT_SONNET_MODEL": "deepseek/deepseek-v4-pro",
"ANTHROPIC_DEFAULT_HAIKU_MODEL": "deepseek/deepseek-v4-flash",
"CLAUDE_CODE_SUBAGENT_MODEL": "deepseek/deepseek-v4-pro"
}
}
Mapeie todos os slots. Um slot não definido continua pedindo um modelo Claude, e você paga preços Claude por ele.
O instalador faz isso por você com um perfil:
curl -fsSL 'https://uberllm.dev/install/claude-code.sh?profile=glm' | sh
Os perfis são claude-native (o padrão, não fixa nada), glm, deepseek e
gpt. Qualquer ID de modelo da tabela de modelos funciona se
você definir as variáveis manualmente; GET https://api.uberllm.dev/v1/models os lista.
Contexto e compactação
Claude Code conhece o tamanho do contexto apenas dos modelos Claude. Para qualquer outro modelo, ele assume 200,000 tokens e compacta a conversa antes disso.
- Se o modelo tiver um contexto de 1 milhões de tokens (sua página em uberllm.dev mostra o contexto), adicione
[1m]ao final do seu ID, por exemplo"ANTHROPIC_MODEL": "deepseek/deepseek-v4-pro[1m]"ouclaude --model 'deepseek/deepseek-v4-pro[1m]'. Claude Code então planeja para 1M. - Para qualquer outro tamanho, defina
CLAUDE_CODE_MAX_CONTEXT_TOKENSpara o contexto do modelo, por exemplo"CLAUDE_CODE_MAX_CONTEXT_TOKENS": "400000". - Para escolher quando compacta: a configuração
autoCompactWindow(ou a variávelCLAUDE_CODE_AUTO_COMPACT_WINDOW) aceita um número de tokens de 100,000 a 1,000,000.CLAUDE_AUTOCOMPACT_PCT_OVERRIDE(1–100) compacta mais cedo, naquela proporção da janela.autoCompactEnabled: falsedesativa isso.
Definir um contexto maior do que o modelo possui faz com que as requisições falhem assim que a conversa excede o modelo.
O que muda
- Seu login do claude.ai não é usado. Recursos que precisam dele, como conectores do claude.ai,
/schedulee Controle Remoto, não estão disponíveis em uma sessão que roda no UberLLM. - O custo que o Claude Code mostra não é sua fatura. O Claude Code calcula isso no seu computador a partir dos preços de tabela da Anthropic e não mostra nada útil para outros modelos. O que você paga está em Dashboard → Activity. Adicione seu saldo à linha de status (abaixo) para vê-lo enquanto trabalha.
- Seu código vai para provedores de modelo de terceiros. Tudo o que a sessão lê é enviado para o modelo, que é executado por provedores de modelo de terceiros no mercado UberLLM. Não o use em um repositório que contenha segredos, credenciais ou dados de clientes.
Saldo na linha de status
curl -fsSL https://uberllm.dev/install/statusline.sh | sh -s -- --install
Isso salva um pequeno script em ~/.uberllm/statusline.sh e o adiciona como statusLine do Claude Code em ~/.claude/settings.json (adicione --project depois de --install para colocá-lo no .claude/settings.local.json deste projeto, em vez disso). Sob o prompt, você verá:
UberLLM $12.40 · $0.35 held · Opus
Esse é o seu saldo disponível, o valor retido para solicitações ainda em execução e o modelo. Ele lê GET /v1/balance com a mesma API key que o Claude Code usa, no máximo uma vez por minuto. Ele precisa apenas de sh, curl e sed. Leia-o primeiro em uberllm.dev/install/statusline.sh.
Verificar
Inicie o Claude Code e execute /status: o endereço da API é
https://api.uberllm.dev. Depois, pergunte qualquer coisa a ele; a requisição aparece em
Painel → Atividade em menos de um minuto.
A mesma chave responde pela Messages API:
curl https://api.uberllm.dev/v1/messages \
-H "Authorization: Bearer $(cat ~/.uberllm/key)" \
-H "anthropic-version: 2023-06-01" \
-H "content-type: application/json" \
-d '{"model":"claude-haiku-4-5","max_tokens":16,"messages":[{"role":"user","content":"ping"}]}'
Se uma requisição falhar com Your apiKeyHelper script is failing, o arquivo da chave está
faltando ou ilegível: execute o instalador novamente.
Desinstalar e revogar
curl -fsSL https://uberllm.dev/install/claude-code.sh | sh -s -- --uninstall
Para uma instalação de projeto único, execute-o dentro do projeto com
sh -s -- --project --uninstall. Ele faz backup do arquivo de configurações primeiro, remove
apenas o que adicionou e exclui o arquivo de chave salvo. Claude Code volta ao seu
login da Anthropic na próxima inicialização.
A desinstalação não revoga a chave; ela apenas para de usá-la. Exclua a chave na sua página de chaves para garantir que ela nunca mais possa gastar. Faça isso para qualquer computador em que você não confia mais, ou se você aprovou uma solicitação que não iniciou.