Guia prático para rodar o Claude Code com modelos alternativos (mais baratos ou gratuitos) via OpenRouter, usando o LiteLLM como proxy.
O Claude Code é uma CLI open source da Anthropic. Ela se comunica com a API da Anthropic por padrão, mas aceita a variável ANTHROPIC_BASE_URL para redirecionar o tráfego a qualquer servidor que fale o protocolo Anthropic Messages (/v1/messages). A própria documentação oficial cobre esse uso na página de LLM Gateway Configuration.
O LiteLLM é um proxy open source que traduz entre formatos de API. Ele recebe chamadas no formato Anthropic e redireciona para o OpenRouter (formato OpenAI), que por sua vez roteia para o modelo escolhido. O resultado: o Claude Code acha que está falando com a Anthropic, mas quem responde é outro modelo.
sudo apt install python3.12-venv # se necessário
python3 -m venv ~/litellm-envsource ~/litellm-env/bin/activate
pip install "litellm[proxy]"Criar conta em openrouter.ai, gerar uma API key em Settings > Keys.
source ~/litellm-env/bin/activate
export OPENROUTER_API_KEY=sk-or-v1-sua-chave-aqui
litellm --model openrouter/z-ai/glm-5 --port 4000O LiteLLM sobe em http://localhost:4000.
Em outro terminal:
export ANTHROPIC_BASE_URL=http://localhost:4000
claudePronto. Todo o tráfego do Claude Code passa pelo LiteLLM, que redireciona para o GLM-5 via OpenRouter.
unset ANTHROPIC_BASE_URL
claude| Rota | Modelo | Custo (input/M tokens) | Como |
|---|---|---|---|
| Opus direto | claude-opus-4-6 | $15.00 | Padrão do Claude Code |
| Sonnet direto | claude-sonnet-4-5 | $3.00 | claude --model sonnet |
| OpenRouter pago | z-ai/glm-5 | $0.75 | LiteLLM proxy |
| OpenRouter pago | minimax/minimax-m2.5 | $0.20 | LiteLLM proxy |
| OpenRouter grátis | z-ai/glm-4.5-air:free | $0.00 | LiteLLM proxy |
| Local (Ollama) | deepseek-coder-v3 | $0.00 | litellm --model ollama/deepseek-coder-v3 |
Basta reiniciar o LiteLLM com outro modelo:
# MiniMax M2.5 (ultra barato)
litellm --model openrouter/minimax/minimax-m2.5 --port 4000
# Modelo gratuito
litellm --model openrouter/z-ai/glm-4.5-air:free --port 4000
# Modelo local via Ollama
ollama pull deepseek-coder-v3
litellm --model ollama/deepseek-coder-v3 --port 4000Funciona. Todos os agentes do time usam o mesmo ANTHROPIC_BASE_URL, então passam pelo proxy. A qualidade depende de quão bem o modelo lida com tool calling e coordenação multi-agente. Com modelos mais fracos, tarefas solo tendem a funcionar melhor que times.
- No Claude Code, perguntar algo e verificar se responde
- Conferir em openrouter.ai/activity: as requisições aparecem lá com modelo, tokens e custo
/costno Claude Code mostrará $0.00 (já que não passa pela Anthropic)
- Isso é permitido pela Anthropic. A CLI é open source e o
ANTHROPIC_BASE_URLé um recurso documentado oficialmente. - O modelo vai se identificar como "Claude" porque o system prompt do Claude Code diz isso, mas é o modelo do OpenRouter respondendo.
- A qualidade varia muito por modelo. Opus é Opus por um motivo, mas para tarefas simples os modelos baratos se viram bem.
- O LiteLLM precisa estar rodando enquanto o Claude Code estiver em uso