🚨 Alerta Importante
Se você não configurar TODOS os modelos, pode ser cobrado sem perceber. Claude Code faz chamadas em background que você não vê diretamente nas respostas — e essas chamadas podem ir para modelos pagos.
💸 Como Cobranças Acontecem
O mecanismo de cobrança é simples: qualquer chamada a um modelo sem :free é cobrada. O problema não é usar o OpenRouter em si — é deixar algum slot de modelo não configurado.
🔄 Fluxo de Chamadas do Claude Code
💸 Cenário Típico de Cobrança
Desenvolvedor configura apenas ANTHROPIC_MODEL e inicia sessão. Para cada mensagem sua, Claude Code faz internamente:
- 11 chamada ao modelo principal (configurado como :free) — $0
- 22-3 chamadas ao Haiku (não configurado) — cobrado por token
- 3Acúmulo invisível de cobranças ao longo da sessão
🤖 O Modelo Haiku em Background
Claude Code foi projetado pela Anthropic para usar Claude Haiku (o modelo mais rápido e barato) para tarefas internas. Quando você redireciona para o OpenRouter, esse comportamento persiste.
🤖 O que o Haiku faz em background
-
•
Análise de contexto — decide quais arquivos são relevantes para sua pergunta
-
•
Sumários internos — condensa partes do contexto para caber na janela
-
•
Verificação de resultados — valida se as ações foram executadas corretamente
-
•
Planejamento de subagentes — quando opera em modo agente paralelo
💡 A Solução
Configure ANTHROPIC_DEFAULT_HAIKU_MODEL com o mesmo modelo :free dos demais slots. O Claude Code vai usar seu modelo gratuito onde normalmente usaria o Haiku pago.
# No settings.json ou como variável de ambiente
"ANTHROPIC_DEFAULT_HAIKU_MODEL": "qwen/qwen3-coder:free"
🔇 CLAUDE_CODE_DISABLE_NONESSENTIAL_TRAFFIC
Além de configurar os slots de modelo, existe uma variável que desativa chamadas de API que não são essenciais para a tarefa em si. Isso economiza requisições diárias e elimina uma classe de possíveis cobranças.
O que essa variável desativa:
- •Telemetria e analytics enviados para a Anthropic
- •Verificações de contexto opcionais em background
- •Análises proativas que não foram explicitamente pedidas
- •Chamadas de heartbeat e status
Como configurar:
# Opção 1: variável de ambiente (temporário)
export CLAUDE_CODE_DISABLE_NONESSENTIAL_TRAFFIC=1
# Opção 2: settings.json (permanente - recomendado)
{
"env": {
"CLAUDE_CODE_DISABLE_NONESSENTIAL_TRAFFIC": "1"
}
}
🚫 DISABLE_PROMPT_CACHING
Claude Code envia headers de beta para ativar o prompt caching da Anthropic. O OpenRouter não reconhece esses headers e retorna erro 400. A variável DISABLE_PROMPT_CACHING elimina esse problema.
🐛 Sintoma do Problema
Se você ver erros como estes ao usar Claude Code com OpenRouter, é o problema dos headers beta:
Error: 400 Bad Request
anthropic-beta header not supported
Prompt caching not available for this model
A Solução:
# Opção 1: variável de ambiente
export DISABLE_PROMPT_CACHING=1
# Opção 2: settings.json (recomendado)
{
"env": {
"DISABLE_PROMPT_CACHING": "1",
"CLAUDE_CODE_DISABLE_NONESSENTIAL_TRAFFIC": "1"
}
}
📊 Verificando no Dashboard
O dashboard de atividade do OpenRouter é a fonte de verdade. Após cada sessão de trabalho, verifique que todas as chamadas foram para modelos :free com custo $0.
Acesse a página de atividade
Vá para https://openrouter.ai/activity. A página mostra todas as chamadas recentes com modelo, tokens e custo.
Verifique os modelos utilizados
Cada linha deve mostrar o modelo com sufixo :free. Se aparecer um modelo sem :free, identifique qual variável não está configurada.
Confirme custo total $0
O custo total da sessão deve ser $0.00. Qualquer valor >$0 indica modelo pago sendo usado.
Use os filtros se necessário
O dashboard permite filtrar por data e modelo. Se tiver muitas entradas, filtre pelo horário da sua sessão de trabalho.
🔄 Versão Específica do Claude Code
Atualizações do Claude Code podem introduzir mudanças que quebram a compatibilidade com o OpenRouter. Se após atualizar surgirem problemas, fazer downgrade para uma versão estável é a solução mais rápida.
Como trocar a versão:
# Verificar versão atual
claude --version
# Instalar versão específica estável
npm install -g @anthropic-ai/claude-code@2.1.68
# Verificar se a instalação foi aplicada
claude --version
✅ Checklist de Segurança Completo
Marque cada item antes de começar uma sessão de trabalho:
💡 Solução Completa em Um Arquivo
O settings.json abaixo inclui todas as proteções necessárias:
{
"env": {
"ANTHROPIC_BASE_URL": "https://openrouter.ai/api",
"ANTHROPIC_AUTH_TOKEN": "sk-or-sua-chave-aqui",
"ANTHROPIC_API_KEY": "",
"ANTHROPIC_MODEL": "qwen/qwen3-coder:free",
"ANTHROPIC_DEFAULT_SONNET_MODEL": "qwen/qwen3-coder:free",
"ANTHROPIC_DEFAULT_OPUS_MODEL": "qwen/qwen3-coder:free",
"ANTHROPIC_DEFAULT_HAIKU_MODEL": "qwen/qwen3-coder:free",
"ANTHROPIC_SMALL_FAST_MODEL": "qwen/qwen3-coder:free",
"CLAUDE_CODE_SUBAGENT_MODEL": "qwen/qwen3-coder:free",
"CLAUDE_CODE_DISABLE_NONESSENTIAL_TRAFFIC": "1",
"DISABLE_PROMPT_CACHING": "1"
}
}
✅ Resumo do Módulo 4.4
Trilha Completa!
Você concluiu a Trilha 4. Continue para a Trilha 5 para aprender a usar Claude Code na prática em projetos reais.