OpenCode vs Claude Code: qual agente de terminal escolher?

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
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
npme 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:
- 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
- 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
- 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
- Crie o arquivo de instruções do projeto: no OpenCode é o
AGENTS.mdna raiz do repositório
- 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.
Formações
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
As diferenças de var, let e const
Como fazer redirecionamento com PHP
Neste artigo você vai aprender a como fazer redirecionamento com PHP, utilizaremos abordagens fáceis de entender e de aplicar Fala programador(a), beleza? Bora aprender mais […]
Checklist de segurança n8n VPS pública: guia essencial para proteger sua instalação
Checklist de segurança n8n VPS pública: guia essencial para proteger sua instalação A popularidade da automação de processos com o n8n está em alta, principalmente […]
