{"id":299,"date":"2026-04-30T07:35:06","date_gmt":"2026-04-30T10:35:06","guid":{"rendered":"https:\/\/www.bernabauer.com\/blog\/?p=299"},"modified":"2026-05-21T09:18:43","modified_gmt":"2026-05-21T12:18:43","slug":"usar-claude-code-sem-anthropic","status":"publish","type":"post","link":"https:\/\/www.bernabauer.com\/blog\/usar-claude-code-sem-anthropic\/","title":{"rendered":"Como usar Claude\u202fCode sem depender do LLM da Anthropic"},"content":{"rendered":"<p>O Claude Code \u00e9 uma ferramenta de linha de comando da Anthropic que permite delegar tarefas de programa\u00e7\u00e3o diretamente ao Claude \u2014 escrever, revisar, refatorar e depurar c\u00f3digo sem sair do terminal. Por padr\u00e3o, ele usa a API da Anthropic para funcionar. Mas existe uma forma de configur\u00e1-lo para funcionar atrav\u00e9s de um intermedi\u00e1rio chamado OpenRouter, o que traz vantagens concretas em disponibilidade, custo e controle.<\/p>\n<h2>O que \u00e9 a OpenRouter?<\/h2>\n<p>A <a href=\"https:\/\/openrouter.ai\">OpenRouter<\/a> \u00e9 uma plataforma que funciona como uma camada intermedi\u00e1ria entre voc\u00ea e v\u00e1rios provedores de modelos de linguagem \u2014 Anthropic, OpenAI, Google, Meta, entre outros. Em vez de acessar a API de cada provedor separadamente, voc\u00ea acessa um \u00fanico endpoint da OpenRouter, e ela cuida de rotear sua requisi\u00e7\u00e3o para o modelo e provedor corretos.<\/p>\n<p>No caso do Claude Code, a OpenRouter consegue imitar exatamente a interface da API da Anthropic. Isso significa que voc\u00ea pode redirecionar o Claude Code para a OpenRouter sem modificar o software em si \u2014 apenas algumas vari\u00e1veis de ambiente s\u00e3o suficientes.<\/p>\n<h2>Por que querer fugir do LLM da Anthropic?<\/h2>\n<p>Embora o Claude Code seja otimizado para os modelos da Anthropic, h\u00e1 situa\u00e7\u00f5es em que mais flexibilidade faz diferen\u00e7a:<\/p>\n<ul>\n<li><strong>Alta disponibilidade:<\/strong> a API da Anthropic pode ter instabilidades pontuais. A OpenRouter faz fail-over autom\u00e1tico entre provedores (incluindo Bedrock da AWS e Vertex do Google), garantindo que sua sess\u00e3o continue mesmo quando um endpoint espec\u00edfico est\u00e1 fora.<\/li>\n<li><strong>Controle de or\u00e7amento:<\/strong> a OpenRouter permite definir limites de gasto, monitorar consumo por equipe e distribuir cr\u00e9ditos \u2014 funcionalidades que a API direta da Anthropic n\u00e3o oferece nativamente.<\/li>\n<li><strong>M\u00e9tricas detalhadas:<\/strong> voc\u00ea consegue ver token usage, custo por modelo e lat\u00eancia em tempo real atrav\u00e9s do dashboard da OpenRouter.<\/li>\n<li><strong>Experimenta\u00e7\u00e3o com modelos:<\/strong> a OpenRouter d\u00e1 acesso a modelos de outros provedores, permitindo comparar resultados sem trocar de ferramenta.<\/li>\n<\/ul>\n<h2>Passo a passo: configurando o Claude Code com OpenRouter<\/h2>\n<ol>\n<li><strong>Instale o Claude Code<\/strong> \u2014 basta rodar no terminal:\n<pre><code>curl -fsSL https:\/\/claude.ai\/install.sh | bash<\/code><\/pre>\n<p>No Windows, existe um script equivalente para PowerShell.<\/li>\n<li><strong>Crie uma conta na OpenRouter<\/strong> em <a href=\"https:\/\/openrouter.ai\">openrouter.ai<\/a> e gere uma API key no painel.<\/li>\n<li><strong>Configure as vari\u00e1veis de ambiente<\/strong> para redirecionar o Claude Code:\n<pre><code>export OPENROUTER_API_KEY=\"&lt;sua-api-key&gt;\"\nexport ANTHROPIC_BASE_URL=\"https:\/\/openrouter.ai\/api\"\nexport ANTHROPIC_AUTH_TOKEN=\"$OPENROUTER_API_KEY\"\nexport ANTHROPIC_API_KEY=\"\"   # essencial: deve ficar vazio<\/code><\/pre>\n<p>Adicione essas linhas ao seu <code>~\/.zshrc<\/code> ou <code>~\/.bashrc<\/code> para que sejam aplicadas automaticamente em toda sess\u00e3o nova.<\/li>\n<li><strong>Reinicie o terminal<\/strong> (ou execute <code>source ~\/.zshrc<\/code>) para aplicar as vari\u00e1veis.<\/li>\n<li><strong>Inicie o Claude Code<\/strong> no diret\u00f3rio do seu projeto:\n<pre><code>cd \/caminho\/do\/projeto &amp;&amp; claude<\/code><\/pre>\n<\/li>\n<li><strong>Verifique a conex\u00e3o<\/strong> com o comando interno <code>\/status<\/code>. Voc\u00ea deve ver:\n<pre>Auth token: ANTHROPIC_AUTH_TOKEN\nAnthropic base URL: https:\/\/openrouter.ai\/api<\/pre>\n<p>Se aparecer essa sa\u00edda, est\u00e1 funcionando corretamente.<\/li>\n<\/ol>\n<h2>O que acontece nos bastidores?<\/h2>\n<p>Ao apontar <code>ANTHROPIC_BASE_URL<\/code> para <code>https:\/\/openrouter.ai\/api<\/code>, o Claude Code conversa com a OpenRouter usando exatamente a mesma estrutura de chamadas da API da Anthropic. A OpenRouter, por sua vez, roteia sua requisi\u00e7\u00e3o para um dos provedores dispon\u00edveis \u2014 Anthropic diretamente, AWS Bedrock, Google Vertex, ou outros \u2014 aplicando fail-over autom\u00e1tico se algum estiver indispon\u00edvel ou com limita\u00e7\u00e3o de taxa.<\/p>\n<p>Do ponto de vista do Claude Code, nada muda: ele continua enviando e recebendo mensagens no formato que conhece. A diferen\u00e7a est\u00e1 em quem processa a requisi\u00e7\u00e3o e como o tr\u00e1fego \u00e9 gerenciado.<\/p>\n<h2>Escolhendo modelos espec\u00edficos<\/h2>\n<p>Voc\u00ea pode definir explicitamente qual modelo usar para cada tipo de tarefa:<\/p>\n<pre><code>export ANTHROPIC_DEFAULT_OPUS_MODEL=\"anthropic\/claude-opus-4-5\"\nexport ANTHROPIC_DEFAULT_SONNET_MODEL=\"anthropic\/claude-sonnet-4-5\"\nexport ANTHROPIC_DEFAULT_HAIKU_MODEL=\"anthropic\/claude-haiku-4-5\"<\/code><\/pre>\n<p>O Claude Code usa modelos diferentes dependendo da complexidade da tarefa \u2014 Haiku para opera\u00e7\u00f5es simples, Sonnet para tarefas intermedi\u00e1rias e Opus para racioc\u00ednio mais complexo. Ao definir essas vari\u00e1veis, voc\u00ea controla exatamente qual vers\u00e3o \u00e9 usada em cada caso.<\/p>\n<p>Para acelerar respostas com o &#8220;Fast Mode&#8221;, habilite com:<\/p>\n<pre><code>export CLAUDE_CODE_SKIP_FAST_MODE_ORG_CHECK=1<\/code><\/pre>\n<h2>Dicas de troubleshooting<\/h2>\n<p><strong>Erro de autentica\u00e7\u00e3o ao iniciar:<\/strong> a causa mais comum \u00e9 <code>ANTHROPIC_API_KEY<\/code> n\u00e3o estar vazio. Ele deve ser explicitamente definido como string vazia (<code>\"\"<\/code>), n\u00e3o apenas n\u00e3o declarado.<\/p>\n<p><strong>Limite de contexto atingido:<\/strong> sess\u00f5es longas com muito c\u00f3digo podem atingir o limite de tokens do modelo. Divida a tarefa em partes menores ou reinicie a sess\u00e3o com <code>\/clear<\/code>.<\/p>\n<p><strong>Respostas mais lentas do que o esperado:<\/strong> o roteamento adicional da OpenRouter pode introduzir alguns milissegundos a mais de lat\u00eancia. Em uso normal isso \u00e9 impercept\u00edvel, mas em sess\u00f5es muito intensas pode ser notado.<\/p>\n<p><strong>Preocupa\u00e7\u00f5es com privacidade:<\/strong> a OpenRouter n\u00e3o armazena o conte\u00fado dos seus prompts por padr\u00e3o. O logging de prompts \u00e9 uma op\u00e7\u00e3o que precisa ser habilitada explicitamente no painel \u2014 n\u00e3o acontece automaticamente.<\/p>\n<h2>Perguntas frequentes<\/h2>\n<p><strong>Preciso pagar tanto para a Anthropic quanto para a OpenRouter?<\/strong><br \/>\nN\u00e3o. Quando voc\u00ea usa a OpenRouter como intermedi\u00e1rio, paga apenas para a OpenRouter. Ela cobra pelo uso dos modelos e repassa o custo para o provedor. Voc\u00ea n\u00e3o precisa ter uma conta ativa na API da Anthropic.<\/p>\n<p><strong>O custo \u00e9 maior do que acessar a API da Anthropic diretamente?<\/strong><br \/>\nA OpenRouter cobra uma margem pequena sobre o pre\u00e7o base do modelo. Em geral a diferen\u00e7a \u00e9 m\u00ednima, e as funcionalidades de controle de or\u00e7amento e fail-over justificam o custo adicional para uso profissional ou em equipe.<\/p>\n<p><strong>Posso usar modelos de outros provedores (como GPT-4 ou Gemini) com o Claude Code?<\/strong><br \/>\nTecnicamente sim, mas com limita\u00e7\u00f5es. O Claude Code foi projetado para os modelos Claude e assume comportamentos espec\u00edficos deles. Usar modelos de outros provedores pode funcionar para tarefas simples, mas pode gerar inconsist\u00eancias em fluxos mais complexos.<\/p>\n<p><strong>Isso funciona com o plano gratuito do Claude Code?<\/strong><br \/>\nN\u00e3o \u2014 para usar vari\u00e1veis de ambiente e apontar para a OpenRouter, voc\u00ea precisa estar usando o Claude Code via API, n\u00e3o pelo plano de assinatura padr\u00e3o. A configura\u00e7\u00e3o descrita aqui \u00e9 para acesso via API key.<\/p>\n<h2>Conclus\u00e3o<\/h2>\n<p>Com apenas algumas linhas de configura\u00e7\u00e3o, o Claude Code passa a ser mais resiliente, controlado e monitorado. A OpenRouter funciona como um intermedi\u00e1rio transparente que adiciona disponibilidade, visibilidade e flexibilidade sem exigir mudan\u00e7as no fluxo de trabalho.<\/p>\n<p>Se voc\u00ea usa o Claude Code com frequ\u00eancia ou em contexto profissional, vale a pena experimentar essa configura\u00e7\u00e3o \u2014 especialmente pelo controle de or\u00e7amento e pelo fail-over autom\u00e1tico que evita interrup\u00e7\u00f5es inesperadas.<\/p>\n","protected":false},"excerpt":{"rendered":"<p>Descubra como conectar o Claude\u202fCode ao OpenRouter e evitar chamadas diretas ao LLM da Anthropic, garantindo alta disponibilidade, controle de custos e an\u00e1lises de uso.<\/p>\n","protected":false},"author":1,"featured_media":311,"comment_status":"open","ping_status":"open","sticky":false,"template":"","format":"standard","meta":{"_kad_post_transparent":"","_kad_post_title":"","_kad_post_layout":"","_kad_post_sidebar_id":"","_kad_post_content_style":"","_kad_post_vertical_padding":"","_kad_post_feature":"","_kad_post_feature_position":"","_kad_post_header":false,"_kad_post_footer":false,"_kad_post_classname":"","_jetpack_newsletter_access":"","_jetpack_dont_email_post_to_subs":false,"_jetpack_newsletter_tier_id":0,"_jetpack_memberships_contains_paywalled_content":false,"_jetpack_feature_clip_id":0,"_jetpack_memberships_contains_paid_content":false,"footnotes":"","jetpack_post_was_ever_published":false},"categories":[45],"tags":[85,88,87,86,89],"class_list":["post-299","post","type-post","status-publish","format-standard","has-post-thumbnail","hentry","category-dicas","tag-claude-code","tag-integracao","tag-llm","tag-openrouter","tag-produtividade"],"jetpack_featured_media_url":"https:\/\/www.bernabauer.com\/blog\/wp-content\/uploads\/2026\/05\/ai-chip-openrouter.jpg","jetpack_sharing_enabled":true,"_links":{"self":[{"href":"https:\/\/www.bernabauer.com\/blog\/wp-json\/wp\/v2\/posts\/299","targetHints":{"allow":["GET"]}}],"collection":[{"href":"https:\/\/www.bernabauer.com\/blog\/wp-json\/wp\/v2\/posts"}],"about":[{"href":"https:\/\/www.bernabauer.com\/blog\/wp-json\/wp\/v2\/types\/post"}],"author":[{"embeddable":true,"href":"https:\/\/www.bernabauer.com\/blog\/wp-json\/wp\/v2\/users\/1"}],"replies":[{"embeddable":true,"href":"https:\/\/www.bernabauer.com\/blog\/wp-json\/wp\/v2\/comments?post=299"}],"version-history":[{"count":2,"href":"https:\/\/www.bernabauer.com\/blog\/wp-json\/wp\/v2\/posts\/299\/revisions"}],"predecessor-version":[{"id":321,"href":"https:\/\/www.bernabauer.com\/blog\/wp-json\/wp\/v2\/posts\/299\/revisions\/321"}],"wp:featuredmedia":[{"embeddable":true,"href":"https:\/\/www.bernabauer.com\/blog\/wp-json\/wp\/v2\/media\/311"}],"wp:attachment":[{"href":"https:\/\/www.bernabauer.com\/blog\/wp-json\/wp\/v2\/media?parent=299"}],"wp:term":[{"taxonomy":"category","embeddable":true,"href":"https:\/\/www.bernabauer.com\/blog\/wp-json\/wp\/v2\/categories?post=299"},{"taxonomy":"post_tag","embeddable":true,"href":"https:\/\/www.bernabauer.com\/blog\/wp-json\/wp\/v2\/tags?post=299"}],"curies":[{"name":"wp","href":"https:\/\/api.w.org\/{rel}","templated":true}]}}