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

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
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é? 🙂
Navegar no histórico e voltar atrás quando o agente erra:
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.
Formações
Formação Vibe Coding
Do Prompt ao Produto: Crie Software Real com IA
- 474 aulas
- 20 projetos
- 39h 27min
Blog | Mais populares
Bateu o limite de uso do Claude Code? Como retomar a tarefa sem refazer tudo
Bateu o limite de uso do Claude Code? Veja como retomar a tarefa de onde parou com /usage, CLAUDE.md e --continue, sem refazer nada.
Como pagar o Claude Code no Brasil: cartão, dólar, IOF e quanto fica em reais
Claude Code preço Brasil na prática: câmbio, IOF de 3,5% e quanto fica na fatura. Planos Pro e Max convertidos em reais e como pagar com cartão.

O que é o JEV e para que ele serve no Claude Code?
O que é JEV no Claude Code? Entenda o modelo da TypeSafe AI, como instalar a skill e quanto custa por milhão de tokens.
