Skip to content

Instantly share code, notes, and snippets.

@rafaelquintanilha
Created February 18, 2026 19:59
Show Gist options
  • Select an option

  • Save rafaelquintanilha/564fd98d542712bb44958c18f94a7dcb to your computer and use it in GitHub Desktop.

Select an option

Save rafaelquintanilha/564fd98d542712bb44958c18f94a7dcb to your computer and use it in GitHub Desktop.
Claude Code com LiteLLM e OpenRouter — guia prático para usar modelos alternativos

Guia prático para rodar o Claude Code com modelos alternativos (mais baratos ou gratuitos) via OpenRouter, usando o LiteLLM como proxy.

Por que fazer isso?

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.

Instalação

1. Criar ambiente virtual

sudo apt install python3.12-venv   # se necessário
python3 -m venv ~/litellm-env

2. Instalar LiteLLM

source ~/litellm-env/bin/activate
pip install "litellm[proxy]"

3. Obter chave do OpenRouter

Criar conta em openrouter.ai, gerar uma API key em Settings > Keys.

Uso

Iniciar o proxy

source ~/litellm-env/bin/activate
export OPENROUTER_API_KEY=sk-or-v1-sua-chave-aqui
litellm --model openrouter/z-ai/glm-5 --port 4000

O LiteLLM sobe em http://localhost:4000.

Rodar Claude Code apontando para o proxy

Em outro terminal:

export ANTHROPIC_BASE_URL=http://localhost:4000
claude

Pronto. Todo o tráfego do Claude Code passa pelo LiteLLM, que redireciona para o GLM-5 via OpenRouter.

Voltar para o Claude normal

unset ANTHROPIC_BASE_URL
claude

Rotas de custo

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

Trocar de modelo

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 4000

Agent Teams

Funciona. 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.

Verificar se está funcionando

  1. No Claude Code, perguntar algo e verificar se responde
  2. Conferir em openrouter.ai/activity: as requisições aparecem lá com modelo, tokens e custo
  3. /cost no Claude Code mostrará $0.00 (já que não passa pela Anthropic)

Observações

  • 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
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment