Interface do OpenCode ou do Claude Code: em qual delas é mais fácil acompanhar o agente?

comparação da interface OpenCode vs Claude Code no terminal
Resposta rápida

OpenCode vs Claude Code é uma escolha que, na prática, se decide na tela: os dois rodam no terminal, mas você acompanha o agente de jeitos diferentes. O Claude Code aposta em ler e voltar atrás: Ctrl+O abre o visualizador de transcrição, Ctrl+R busca no histórico com escopo, /rewind lista os prompts da sessão e claude agents junta várias sessões numa tela só. O OpenCode aposta em controlar a tela pelo teclado: tecla líder ctrl+x, paleta em ctrl+p, sidebar alternável, temas em JSON e /undo com /redo pra desfazer.

Fala aí, beleza? Os dois agentes rodam no terminal, sim, mas você não passa o dia olhando pra mesma tela

Se você já resolveu a parte técnica e só quer saber qual agente de terminal escolher pelo conforto do dia a dia, esse post é pra você

Porque a conta real não é só "qual escreve código melhor"

É: onde eu consigo LER o que o bicho fez, achar aquela mensagem de 20 minutos atrás e voltar pro ponto em que tudo ainda estava de pé?

Bora comparar isso com calma

OpenCode x Claude Code: a interface lado a lado

Eixo da interface Claude Code OpenCode
Navegação por atalhos Atalhos diretos, com personalização via /keybindings Tecla líder ctrl+x pra boa parte dos atalhos do TUI, evitando conflito com o terminal
Ver a conversa inteira Ctrl+O alterna o visualizador de transcrição, e nesse modo dá pra despejar a conversa no scrollback nativo com a saída das ferramentas expandida Leitura dentro do TUI, com paleta de comandos em ctrl+p e sidebar alternável
Busca no histórico Ctrl+R busca no histórico, com Ctrl+S alternando escopo entre esta sessão, este projeto e todos os projetos
Voltar atrás /rewind ou Esc duas vezes com o campo vazio, listando cada prompt da sessão /undo remove a última mensagem, as respostas seguintes e as alterações de arquivo, com /redo
Trocar de sessão claude --resume de fora e /resume de dentro Comando de listar e alternar sessões, com os apelidos /resume e /continue
Várias frentes ao mesmo tempo claude agents abre uma tela única de acompanhamento Tab cicla entre os agentes primários, ou o keybind switch_agent
Personalização ~/.claude/keybindings.json (no Windows, %USERPROFILE%\.claude) tui.json em ~/.config/opencode/tui.json, com theme, keybinds e opções de scroll
Mouse e seleção nativa Mouse capturado por padrão (true), e ao desativar a seleção e a rolagem nativas do terminal voltam
Avisos Notificações de desktop e sons, desativados por padrão

Repara que não é "um tem mais recurso que o outro"

São filosofias diferentes de tela, e é isso que muda o teu conforto

Formação Claude Code
Formação Recomendada

Formação Claude Code

Domine Claude Code do absoluto zero até o avançado

  • 120 aulas
  • 4 projetos
  • 9h 45min

Como você lê o que o agente está fazendo em cada uma:

Esse é o ponto que mais dói quando o agente cospe 300 linhas de saída de ferramenta e tu perde o fio

No Claude Code: a conversa vira texto do terminal

O Ctrl+O alterna o visualizador de transcrição, que tem atalhos próprios enquanto está aberto

E tem uma coisa nesse modo que é MUITO útil pra quem revisa de verdade: dá pra jogar a conversa completa no buffer de rolagem nativo do terminal, com a saída das ferramentas expandida

Ou seja, aquilo deixa de ser "tela de app" e vira texto comum

Texto comum tu busca com Cmd+F, seleciona, copia, joga no modo de cópia do tmux, por aí vai

Tem também o /tui fullscreen, que liga o modo de renderização em tela cheia (a CLI salva a configuração e reabre já assim, com a conversa intacta)

O que ele muda por baixo? Ele envia só as células que mudaram entre um quadro e outro, reduzindo o volume de dados por atualização

Isso ataca dois problemas bem chatos: a rolagem que pula pro topo e a tela que pisca durante a saída das ferramentas

A diferença aparece mais no terminal integrado do VS Code, no tmux e no iTerm2

Se não curtir, /tui default desativa (e se você tinha ligado pela variável CLAUDE_CODE_NO_FLICKER, é só desfazer ela)

No OpenCode: a leitura acontece dentro do TUI

Aqui o jogo é outro: tu ajusta a própria tela em vez de exportar ela pro terminal

A sidebar liga e desliga em <leader>b, que por padrão é ctrl+x seguido de b

E a paleta de comandos abre em ctrl+p, que é onde ficam os ajustes de visualização

Tem um detalhe importante: o mouse é capturado por padrão

Isso é bom pra ferramenta e ruim pro teu reflexo antigo de arrastar o cursor e copiar

Ao desativar a opção de mouse, a seleção e a rolagem nativas do terminal voltam a funcionar

E o que isso custa no dia a dia?

O Claude Code te dá o caminho de "tira tudo daqui e trata como texto", que é ótimo pra auditar e péssimo se tu odeia scrollback gigante

O OpenCode te dá o caminho de "a tela é minha, eu controlo por teclado", que é ótimo pra quem vive no terminal e menos direto quando tu quer buscar uma palavra numa conversa de duas horas

legal né? 🙂

Aqui os dois divergem de um jeito bem claro, e vale entender antes de escolher

Claude Code: escolher um ponto da lista

O Ctrl+R busca no histórico de comandos

No modo de renderização em tela cheia ele abre um diálogo de busca: tu digita pra filtrar, navega com Up e Down, e usa Ctrl+S pra alternar o escopo entre esta sessão, este projeto e todos os projetos

Esse negócio de escopo é o tipo de coisa que tu só valoriza depois de já ter perdido um comando bom em outro projeto haha

Já o menu de rewind abre com /rewind ou com Esc duas vezes quando o campo de entrada está vazio

Tome cuidado! Se tiver texto no campo, o duplo Esc só limpa o campo

O menu lista cada prompt enviado na sessão e oferece Restore code and conversation, Restore conversation, Restore code, Summarize from here e Summarize up to here

Traduzindo o porquê disso importar: tu não desfaz "um passo", tu aponta o dedo pro momento em que ainda estava tudo certo e volta pra lá, escolhendo se leva o código, a conversa, ou os dois

OpenCode: desfazer passo a passo

O OpenCode trabalha com comandos embutidos: /init, /undo, /redo, /share e /help

O /undo remove a última mensagem do usuário, todas as respostas seguintes e as alterações de arquivo

E o /redo refaz

É mais parecido com o Ctrl+Z que tu já tem na cabeça: um passo por vez, sem cardápio de restauração

Quem gosta de simplicidade vai achar isso melhor, e quem já se enrolou em sessão longa vai sentir falta da lista de prompts

Retomar o fio: sessões, background e troca de agente

No Claude Code

Ele separa continuar e retomar

O claude --resume te deixa escolher de uma lista, e o /resume faz o mesmo de dentro de uma sessão em andamento

O seletor mostra por padrão as sessões da worktree atual (inclusive as de background, marcadas como bg) e as que foram iniciadas em outro lugar mas adicionaram o diretório atual com /add-dir, com atalhos pra ampliar a lista pra outras worktrees ou projetos

Uma pegadinha que vale saber antes de procurar em vão: sessões criadas com claude -p ou pelo Agent SDK não aparecem no seletor

Elas voltam com claude --resume <session-id>

E tem o claude agents, que abre o agent view: uma tela única com o que está rodando, o que precisa de resposta e o que terminou

O --name define o nome exibido no lugar do gerado automaticamente (faça isso, sério, senão vira sopa de nomes aleatórios)

Ao entrar numa sessão, o Claude publica um resumo do que aconteceu na tua ausência

No OpenCode

Tem o comando de listar e alternar sessões, com os apelidos /resume e /continue

Sessão nova é ctrl+x seguido de n

E o Tab cicla entre os agentes primários, ou o keybind switch_agent que tu configurar

Pra não precisar ficar de olho na tela o tempo todo, dá pra ligar notificações de desktop e sons, que podem pedir atenção em perguntas, permissões, erros de sessão e sessões concluídas

Só lembra que isso vem desativado por padrão, então não adianta esperar o "pling" sem ligar antes

Em qual delas você vai se sentir mais confortável:

Se você revisa lendo TUDO

Claude Code, sem muita discussão

Ctrl+O, despejo da conversa no scrollback com a saída das ferramentas expandida, e aí tu usa as ferramentas nativas que já domina (Cmd+F, modo de cópia do tmux)

Somado ao Ctrl+R com escopo de sessão, projeto ou todos os projetos, é o combo de quem trata a sessão como registro

Se você quer a tela sob controle, como um app

OpenCode

Sidebar alternável em ctrl+x + b, paleta em ctrl+p, e a tecla líder existindo justamente pra não brigar com os atalhos do teu terminal

Quem já apanhou de conflito de atalho dentro do tmux sabe o valor disso

Somado ao tui.json, que guarda tema, keybinds e opções de scroll num arquivo só teu, é o combo de quem quer a tela obedecendo o teclado em vez de virar despejo de texto

Se você toca várias frentes ao mesmo tempo

Aqui o claude agents é o diferencial: uma tela só mostrando o que roda, o que travou esperando você e o que já acabou

No OpenCode o caminho é outro, mais manual: alternar sessões por comando e ciclar agentes primários com Tab

Dá pra viver assim, mas é você quem faz a ronda

Se você quer configurar tudo por arquivo

Os dois te atendem, com sabores diferentes

No Claude Code, o /keybindings cria ou abre o ~/.claude/keybindings.json (no Windows, %USERPROFILE%\.claude)

O arquivo é um objeto com um array bindings, cada bloco com um context e um mapa de teclas pra ações

E o melhor: as mudanças são detectadas e aplicadas sem reiniciar

No OpenCode, a interface tem arquivo próprio, separado da config geral: o tui.json, com theme, keybinds e opções de scroll

Os keybinds são mesclados com os padrões, então tu só declara o que muda (não precisa copiar o mapa inteiro)

E os temas são JSON carregados de três lugares: os embutidos, o diretório de config do usuário e a raiz do projeto

Tema por projeto é aquele detalhe bobo que evita commit no repositório errado, hehe

Agora, se o teu incômodo não é a tela e sim o jeito do agente trabalhar por dentro, aí a conversa muda de eixo e vale olhar o Superpowers do Claude Code

O que aconteceu quando rodei um projeto inteiro nos dois:

No vídeo eu montei um projeto do zero usando o Claude Code com um modelo externo e depois passei o bastão pro OpenCode

Antes de começar eu coloquei 2 dólares de crédito na conta da API, e deixei o painel de consumo aberto do lado da sessão, porque o acompanhamento de gasto não estava dentro do agente

No painel já aparecia 3 centavos de dólar de uma execução de teste anterior

De um prompt só saiu bastante coisa na minha máquina: 4 páginas, autenticação, integração com banco de dados e integração com IA

O projeto completo saiu por volta de 11 a 12 centavos de dólar

Depois eu pedi mais 4 funcionalidades na sequência: modo escuro, favoritar, copiar pra área de transferência e exportar

E é justamente aí que a interface entra na história

Execução longa te obriga a duas coisas: acompanhar sem perder o fio enquanto o agente trabalha, e conseguir voltar naquilo depois, no dia seguinte, sem reabrir o projeto do zero na cabeça

Quando testei, o que me segurou foi ter um documento do projeto na raiz pro segundo agente entender onde estava pisando

Foi tipo um aperto de mão entre os dois: o segundo só continuou porque o primeiro deixou o mapa pronto

Bora ver na prática?

Veredito: onde cada interface ganha

Sem enrolação, por eixo:

Claude Code ganha quando o trabalho é reler, buscar e voltar

Visualizador de transcrição em Ctrl+O, despejo pro scrollback nativo, Ctrl+R com escopo e o /rewind listando prompt por prompt

E ganha também quando você tem várias sessões em paralelo, por causa do claude agents com resumo do que rolou na ausência

OpenCode ganha quando você quer a tela sob controle pelo teclado

Tecla líder pra não conflitar com o terminal, paleta em ctrl+p, sidebar por atalho, temas em JSON e Tab pra alternar agente primário

E ele é código aberto, hoje sob a organização Anomaly, no anomalyco/opencode, descrito como "The open source coding agent" (o endereço anterior era sst/opencode, então link velho por aí ainda existe)

Pra quem tanto faz?

Se a tua sessão típica é curta, tipo um pedido, uma revisão rápida e fecha, os dois te servem bem

Essas diferenças de interface aparecem mesmo em sessão longa, com muita saída de ferramenta e retomada no dia seguinte

Se não é o teu caso, escolhe pelo resto (custo, modelo, fluxo) e segue a vida =)

Conclusão

No fim das contas, o Claude Code trata a conversa como um registro que você relê, busca e restaura, enquanto o OpenCode trata o terminal como uma tela que você configura e comanda por teclado

Nenhum dos dois é errado, eles só apostam em coisas diferentes

O próximo passo é concreto e leva cinco minutos: no Claude Code, liga o /tui fullscreen e usa Ctrl+O e Ctrl+R por uma semana inteira, sem exceção

No OpenCode, abre a paleta com ctrl+p, alterna a sidebar com ctrl+x seguido de b e dá uma mexida no tui.json pra deixar tema e keybinds do teu jeito

Depois disso tu compara na TUA rotina, não na opinião de ninguém

faça o teste e me conta como foi, até o próximo post!

Perguntas frequentes

Como acompanhar várias sessões do Claude Code rodando em background ao mesmo tempo?

O comando claude agents abre o agent view, uma tela única que mostra o que está rodando, o que precisa de resposta e o que já terminou. Dá pra usar –name pra definir o nome exibido no lugar do gerado automaticamente. Ao entrar numa sessão específica, o Claude publica um resumo do que aconteceu enquanto você estava fora.

Dá pra personalizar os atalhos de teclado do Claude Code?

Dá sim: o comando /keybindings cria ou abre o arquivo ~/.claude/keybindings.json (no Windows fica em %USERPROFILE%\.claude). É um objeto com um array bindings, cada bloco trazendo um context e um mapa de teclas pra ações. As mudanças são detectadas e aplicadas sem precisar reiniciar.

Como retomo uma sessão do Claude Code depois de fechar o terminal?

O claude –resume abre um seletor de sessões de fora, e o /resume faz o mesmo de dentro de uma sessão em andamento. Por padrão o seletor mostra as sessões da worktree atual, incluindo as de background marcadas como bg, além das que foram iniciadas em outro lugar e adicionaram o diretório atual com /add-dir. Também tem atalho pra ampliar a lista pra outras worktrees ou projetos.

Sessões criadas com claude -p aparecem no seletor de sessões?

Não. Sessões criadas em modo não interativo, com claude -p ou pelo Agent SDK, não aparecem no seletor do Claude Code. Mesmo assim dá pra retomar elas com claude –resume seguido do session-id.

Dá pra desativar a captura do mouse no OpenCode?

Dá. O OpenCode captura o mouse no TUI por padrão (configuração true), o que é ótimo pra navegar pela ferramenta mas atrapalha quem quer selecionar texto do jeito antigo. Ao desativar essa opção, a seleção e a rolagem nativas do terminal voltam a funcionar.

Onde ficam salvas as configurações de tema e atalhos do OpenCode?

Ficam num arquivo próprio, separado da config geral: o tui.json, normalmente em ~/.config/opencode/tui.json. Lá dá pra mexer em theme, keybinds e opções de scroll, e como os keybinds são mesclados com os padrões, só precisa declarar o que muda. Os temas em si são JSON carregados dos temas embutidos, do diretório de config do usuário e da raiz do projeto.




Escrito por | Matheus Battisti

Matheus Battisti
Fundador da Hora de Codar

Programador apaixonado pelo mundo das tecnologias, sempre buscando em aprender e se aprofundar em linguagens, frameworks e o que mais for necessário para executar um bom trabalho. Agora tem uma nova missão que é de passar seu conhecimento adiante para formar novos programadores e especializar mais os que já são.

Subscribe
Notify of
guest

0 Comentários
Oldest
Newest Most Voted

Formações

Formação Vibe Coding

Formação Vibe Coding

Do Prompt ao Produto: Crie Software Real com IA

  • 474 aulas
  • 20 projetos
  • 39h 27min

Blog | Mais populares