OpenCode vs Claude Code: qual agente de terminal escolher?

comparação entre OpenCode e Claude Code para escolher o agente de terminal
Resposta rápida

OpenCode vs Claude Code é uma escolha estrutural, não de gosto. O OpenCode é open source sob licença MIT, fica na organização Anomaly no GitHub (antes sst), roda em terminal (TUI), desktop e extensão de IDE e conecta modelos de vários provedores, entre eles Anthropic, OpenAI e Google. O Claude Code é o agente da Anthropic, tem CLI fechado e roda modelos Claude, inclusive apontando pro Amazon Bedrock e pro Google Vertex por variável de ambiente. Quer trocar de modelo por tarefa e poder auditar o código do agente? OpenCode. Já vive no ecossistema Claude e quer o menor atrito possível? Claude Code

Fala aí, beleza? Escolher agente de terminal deixou de ser preferência pessoal e virou decisão de stack

O Claude Code se firmou como padrão de fato entre quem programa dentro do terminal, e do outro lado apareceu o OpenCode: código aberto, licença MIT e a liberdade de rodar modelo de vários provedores, incluindo Claude, GPT e Gemini

A dúvida real não é "qual é o melhor" (essa pergunta quase sempre gera resposta preguiçosa), é qual dos dois encaixa no SEU jeito de trabalhar

Então bora comparar linha a linha, olhar o que muda na prática e fechar com veredito por perfil de dev, sem chutar preço nem limite de nenhum dos lados 🙂

OpenCode vs Claude Code: comparação lado a lado

Antes de descer no detalhe, a visão geral dos dois:

Critério OpenCode Claude Code
Quem faz e mantém Projeto na organização Anomaly no GitHub, a mesma que antes usava o nome sst (time por trás do SST) Anthropic
Código aberto Sim, licença MIT Não, o CLI é fechado: o repositório público serve pra issues e documentação
Modelos suportados Vários provedores, entre eles Anthropic, Google e OpenAI, com os pacotes de provedor instalados dinamicamente Modelos Claude, inclusive apontando pro Amazon Bedrock e pro Google Vertex por variável de ambiente
Stars no GitHub 192 mil 140 mil, com 22,5 mil forks
Onde roda Terminal (TUI), aplicativo de desktop e extensão de IDE Terminal, IDE e web
Instalação Script oficial, npm, bun ou pnpm npm, exigindo Node.js 18 ou superior
Autenticação opencode auth login, com as credenciais salvas em ~/.local/share/opencode/auth.json Login pelo navegador na primeira execução, variável ANTHROPIC_API_KEY ou token gerado com claude setup-token
Configuração de projeto opencode.json na raiz sobrescrevendo o global em ~/.config/opencode/opencode.json, mais o AGENTS.md com as instruções Variáveis de ambiente pra fixar versão de modelo, tipo ANTHROPIC_DEFAULT_OPUS_MODEL
Formação Vibe Coding
Formação Recomendada

Formação Vibe Coding

Do Prompt ao Produto: Crie Software Real com IA

  • 474 aulas
  • 20 projetos
  • 39h 27min

O que dá pra ler nessa tabela:

  • A diferença de fundo é licença e provedor: um é MIT e multi-provedor, o outro é CLI fechado rodando modelos Claude
  • Os dois são CLI, então instalar os dois na mesma máquina e comparar não é drama nenhum
  • A configuração de projeto segue filosofias diferentes: arquivo versionado no repo de um lado, variável de ambiente do outro
  • Tem issue aberta pedindo a abertura do código do CLI da Anthropic, a #22002 no repositório do Claude Code, o que já diz bastante sobre o que a comunidade quer

Do lado do OpenCode ainda tem MCP local e remoto, com as ferramentas MCP disponíveis ao modelo junto das nativas, e LSP embutido habilitado com lsp: true no config

A diferença que realmente pesa: quem escolhe o modelo

Tudo o mais é detalhe perto disso

No OpenCode a troca de modelo é nativa, faz parte do desenho da ferramenta

Você guarda as chaves dos provedores com um comando e lista o que está disponível pelo shell:

opencode auth login
opencode models

Dentro da TUI, a escolha do modelo é o /models

E se a sua empresa tem um endpoint próprio compatível com a API da OpenAI? Dá pra registrar um provedor customizado informando o baseURL e os modelos no opencode.json, sem depender de ninguém liberar suporte oficial

No Claude Code o caminho oficial é modelo Claude, ponto

Inclusive quando você aponta pra nuvem de terceiro, o que muda é ONDE o modelo roda, não qual modelo é:

export CLAUDE_CODE_USE_BEDROCK=1
# ou
export CLAUDE_CODE_USE_VERTEX=1

Com as credenciais da nuvem correspondente configuradas, claro

E pra conferir em qual provedor, base URL e região você caiu, o /status dentro da sessão mostra isso

Quer rodar um modelo que não é da Anthropic no Claude Code? Aí você precisa de um gateway externo que exponha endpoint compatível com a API da Anthropic, tipo o LiteLLM, que é solução de terceiro e não suporte nativo

A consequência prática é simples de enxergar:

  • OpenCode: você troca de modelo por tarefa, testa um provedor novo no dia que ele lança e a decisão continua sua
  • Claude Code: você ganha consistência de um fornecedor só, com o agente afinado pros modelos da casa, e abre mão da troca livre

Não existe lado certo aqui, existe o que combina com o seu contexto

Como o OpenCode se comporta na prática

Agora saindo da documentação e indo pro que eu vi de fato

No vídeo abaixo eu faço o percurso completo do OpenCode: base teórica, instalação junto com você, um projeto pequeno pra aprender os recursos base e depois um projeto maior até o deploy

A primeira coisa que eu faço é abrir o repositório no GitHub e recomendar a leitura da documentação oficial antes de sair usando, porque documentação é a fonte fiel de informação sobre a ferramenta (e não o post aleatório que o algoritmo te empurrou, incluindo este aqui haha)

Um ponto que eu bato bastante: a ferramenta é a casca, o modelo de IA é o que vai dentro

Ou seja, o gasto de uso vem do modelo que você conecta, e não da casca em si

Vale saber que o próprio time também oferece caminhos pagos por conta deles: o OpenCode Zen, um gateway com modelos curados cobrado por requisição via créditos, e o OpenCode Go, plano de assinatura com modelos abertos testados pro OpenCode

Ou seja, usar as suas chaves de provedor é um caminho, e usar a oferta da casa é outro

Na instalação eu escolho o npm porque já tenho o Node na máquina, e depois é só digitar o comando pra abrir a ferramenta

Detalhe engraçado: eu tinha desinstalado tudo pra instalar do zero junto com o público, mas ao abrir já apareceu um modelo selecionado, sinal de que configurações antigas ficaram salvas em algum lugar

Tome cuidado com isso se você quiser um teste realmente limpo

Depois eu conecto um provedor pelo login, abre um link no navegador pra autorizar e fecha a aba, fluxo next, next e finish mesmo

Na hora da conexão dá pra escolher o nível de esforço de raciocínio, e eu fico no médio, avisando que quanto maior o esforço, mais token consome (e que dá pra trocar depois)

O primeiro prompt é bobo de propósito: pergunto em que pasta estou e quais arquivos existem, só pra confirmar que a conexão funcionou

Ele responde o diretório e diz que não há arquivos visíveis, beleza, conexão de pé

Aí vem o teste real de código: um portfólio pessoal em HTML, CSS e JavaScript, página única com header, hero, seção de skills em cards, projetos e footer, tema escuro e responsivo

Sobre os recursos, o que eu considero importante ali é o modo de planejamento e o modo de construção, os comandos customizados, as skills, a conexão de servidores MCP e as múltiplas sessões

O modo Plan, pela documentação, é alternado pela tecla Tab e desliga a capacidade de alterar arquivos: o agente só propõe a implementação

Esse é o tipo de guardrail (limite) que salva a pele de quem já viu IA sair reescrevendo arquivo sem pedir licença

E as instruções personalizadas do seu projeto ficam no AGENTS.md na raiz do repositório, arquivo versionado junto com o código, o que facilita quando o time inteiro usa a mesma ferramenta

Ah, e eu acompanho tudo pelo VS Code, editor que uso há mais de dez anos, então o fluxo é terminal ao lado do editor mesmo

Quando cada um faz mais sentido

Cenário puxa ferramenta, então vamos de casos concretos:

Seu projeto exige um modelo específico de outro provedor:

OpenCode, sem pensar muito

É o único dos dois que aceita provedor de fora de forma nativa, incluindo endpoint interno da empresa via baseURL no opencode.json

Se a sua dúvida for entre agentes abertos, dá uma olhada também no OpenCode contra o Codex

Você já assina Claude e quer o menor atrito possível:

Claude Code

O login pelo navegador na primeira execução já resolve, e a versão web sempre usa as credenciais da assinatura

Comparação parecida rola quando o outro lado é o Google: tem post sobre Gemini CLI contra o Claude Code aqui no blog

Time rodando agente em CI, sem navegador disponível:

Aqui o Claude Code tem caminho pronto: claude setup-token gera um token OAuth de um ano, exigindo plano Pro, Max, Team ou Enterprise

Ambiente corporativo que precisa fixar versão de modelo:

Também Claude Code

A documentação prevê exatamente isso com ANTHROPIC_DEFAULT_OPUS_MODEL, ANTHROPIC_DEFAULT_SONNET_MODEL e ANTHROPIC_DEFAULT_HAIKU_MODEL, então a implantação não muda de comportamento do nada

Você quer auditar ou contribuir com o código do agente:

OpenCode

Licença MIT, mais de 900 contribuidores e mais de 13.000 commits pelo próprio site do projeto

Código fechado você usa, código aberto você lê, corrige e adapta

Veredito por perfil de dev

Sem enrolação, por tipo de pessoa:

  • Dev que já paga Claude e vive dentro do ecossistema: fica no Claude Code, é o padrão da casa, instala com npm e autentica no navegador, menos peça pra dar errado
  • Dev que quer liberdade de provedor e código auditável: OpenCode, e a licença MIT aqui não é detalhe jurídico, é o que garante que a escolha continua sua se algum acordo comercial mudar lá na frente
  • Dev em empresa com nuvem própria: depende de onde a nuvem te leva. Bedrock ou Vertex com modelos Claude, Claude Code resolve por variável de ambiente. Endpoint interno compatível com a API da OpenAI, OpenCode com provedor customizado
  • Dev curioso: roda os dois, sério. Os dois instalam por CLI, e uma tarefa real pequena feita nas duas ferramentas te diz mais do que qualquer tabela (inclusive a minha ali em cima haha)

E tem uma coisa que eu NÃO vou fazer aqui: decidir por preço

Valor de plano, limite de uso, custo por requisição do gateway próprio deles (o OpenCode Zen, cobrado por requisição via créditos) e o valor da assinatura do OpenCode Go mudam com frequência, e eu acho zoado botar número por achismo

Esses valores você confere na fonte antes de assinar qualquer coisa

Conclusão

A comparação OpenCode vs Claude Code cai numa pergunta só: você quer escolher o modelo ou quer não precisar pensar nisso?

Pra sair da teoria, o próximo passo prático:

  1. Instale o que combina com o seu caso
# OpenCode, pelo script oficial
curl -fsSL https://opencode.ai/install | bash

# ou por gerenciador de pacotes
npm install -g opencode-ai

# Claude Code
npm install -g @anthropic-ai/claude-code
  1. Confira a instalação do Claude Code com claude doctor

O erro comum aqui é resolver problema de permissão com sudo npm install -g: a documentação orienta a NÃO fazer isso

  1. Atualize do jeito certo quando precisar
npm install -g @anthropic-ai/claude-code@latest

O erro comum é usar npm update -g, que a documentação desaconselha

  1. Crie o arquivo de instruções do projeto: no OpenCode é o AGENTS.md na raiz do repositório
  1. Rode uma tarefa real pequena antes de decidir, não um "oi, tudo bem?"

Uma correção de bug de verdade ou uma tela simples te mostra mais em dez minutos do que uma semana lendo comparativo

E um alerta que evita dor de cabeça: o repositório antigo opencode-ai/opencode, aquele em Go, está arquivado e seguiu com outro nome, o Crush, sob a Charmbracelet

Já me ferrei mais de uma vez seguindo tutorial de repo arquivado, então se liga: o OpenCode atual é o da organização Anomaly

Testa os dois, escolhe com o seu caso na mão e me conta qual ficou de daily driver

até o próximo post! =)

Perguntas frequentes

OpenCode e Claude Code são pagos ou gratuitos?

As duas ferramentas são o CLI em si, e o gasto de uso vem do modelo que você conecta. No Claude Code o acesso normal vem do login com plano Pro ou Max ou de uma chave de API do Claude Console. No OpenCode você pode usar as chaves dos provedores que já tiver, ou ir pela oferta da própria casa: o OpenCode Zen (gateway cobrado por requisição via créditos) e o OpenCode Go (plano de assinatura).

Dá pra usar o Claude Code com um modelo que não é da Anthropic?

O caminho oficial aponta só pra modelos Claude, inclusive quando você usa CLAUDE_CODE_USE_BEDROCK ou CLAUDE_CODE_USE_VERTEX: muda a nuvem onde o modelo roda, não o modelo em si. Pra rodar outro modelo de fato é preciso um gateway externo compatível com a API da Anthropic, como o LiteLLM, e isso é solução de terceiro, não suporte nativo.

O OpenCode de hoje é o mesmo projeto que existia em Go?

Não. Aquele repositório antigo, opencode-ai/opencode, está arquivado e seguiu como um projeto separado chamado Crush, sob a Charmbracelet. O OpenCode atual é outro projeto, mantido na organização Anomaly no GitHub (a mesma que antes usava o nome sst).

Onde ficam as instruções personalizadas de projeto no OpenCode?

Num arquivo AGENTS.md na raiz do repositório, que o agente lê junto com o opencode.json do projeto. Esse config de projeto sobrescreve o global em ~/.config/opencode/opencode.json, então cada repositório pode ter seu próprio comportamento.

O Claude Code funciona só no terminal ou também fora dele?

Ele é oferecido em três frentes: terminal, IDE e web. A versão web sempre usa as credenciais da sua assinatura, então não tem configuração extra de autenticação por esse lado.

OpenCode e Claude Code têm o código aberto?

Só o OpenCode: é distribuído sob licença MIT. O Claude Code tem o CLI fechado, e o repositório público existe pra issues e documentação, com a issue #22002 pedindo justamente a abertura do código.




Subscribe
Notify of
guest

0 Comentários
Oldest
Newest Most Voted

Formações

Formação SAAS com IA

Formação SAAS com IA

Tire usas ideias do papel criando softwares com IA, integre pagamentos e lance seu projeto!

  • 291 aulas
  • 18 projetos
  • 24h 17min

Blog | Mais populares