Home / Claude Code / Seu Dev Resolveu Esse Bug Semana Passada e Não Encontra Mais? Duas Teclas Resolvem

Seu Dev Resolveu Esse Bug Semana Passada e Não Encontra Mais? Duas Teclas Resolvem

Introdução

Pergunta rápida: seu dev resolveu um bug complexo na terça-feira passada. Gastou 2 horas debugando, encontrou a causa raiz, aplicou o fix. Na sexta, outro dev — ou o mesmo dev — encontra o mesmo padrão de erro em outro módulo. O que acontece?

Ele resolve tudo de novo. Do zero. Porque não tem como buscar o que foi feito antes.

Na minha experiência com 300+ software houses, esse é um dos padrões mais silenciosos de desperdício que existe. Não é bug. Não é falha de processo. É falta de uma funcionalidade que deveria ser óbvia: buscar nas conversas que já aconteceram.

O Claude Code adicionou transcript search na versão 2.1.83. Duas teclas: Ctrl+O para abrir o modo transcript, / para buscar. É o Ctrl+F que faltava. E a razão pela qual isso importa vai muito além de conveniência — é sobre transformar milhares de sessões acumuladas em base de conhecimento utilizável.

O Problema Que Ninguém Fala: Sessões Que Somem

Todo dev que usa Claude Code diariamente acumula sessões. Muitas. Um power user documentou que tinha 1.300+ entradas no arquivo ~/.claude/history.jsonl, ocupando mais de 600KB só no índice — e crescendo.

O problema não é acumular. O problema é que, até agora, encontrar qualquer coisa nesse acúmulo era quase impossível.

O claude --resume mostra uma lista com sumários e timestamps. O /history lista entradas por projeto. Mas nenhum dos dois permite buscar por conteúdo. Você sabe que “resolveu aquele problema com o Prisma migration na quarta passada”, mas não consegue encontrar qual sessão foi. Não consegue buscar o comando que rodou. Não consegue rever o raciocínio que o Claude usou para chegar na solução.

É como ter 6 meses de conversas no WhatsApp e não poder buscar. Funciona por uma semana. Depois de um mês, é inviável.

E Os Arquivos Só Crescem

O tamanho dos arquivos de sessão do Claude Code é um problema real e documentado. Uma única tarde de coding pode gerar sessões de mais de 50MB. Com subagents e agent teams, a situação piora: sessões de 3.8GB já foram reportadas, causando hang completo e 90% de uso de RAM.

O issue #19040 no GitHub revelou a causa: cada progress entry de subagents armazena o array completo de normalizedMessages — o histórico inteiro da conversa naquele ponto. Com centenas de updates por sessão, o arquivo cresce exponencialmente. Um caso documentado no issue #18905: 5.27GB, com 1.739 entries do tipo “progress”, cada uma com ~3MB.

E o issue #22041 mostrou que esses arquivos enormes travam o CLI no startup: 99% de CPU só tentando indexar o histórico.

O cleanup automático existe (cleanupPeriodDays no settings), mas ele limpa sessões antigas — a sessão ativa cresce sem limite enquanto você trabalha. E quando ela fica grande demais, encontrar qualquer coisa dentro dela vira uma tarefa impossível.

Até agora.

Como Funciona o Transcript Search

A feature é simples. Duas etapas:

1. Abrir o modo transcript: Pressione Ctrl+O. A tela muda para mostrar o transcript completo da sessão — toda mensagem trocada, todo comando rodado, todo resultado de ferramenta, do início ao fim. Você pode navegar livremente com scroll.

2. Buscar: Pressione / (igual vim, less, man pages). Digite o termo. Os matches são destacados. Use n para ir ao próximo match e N para voltar ao anterior.

Pronto. Sem instalar nada. Sem configurar nada. Sem tool externo.

A busca funciona em todo o conteúdo visível da sessão: seus prompts, as respostas do Claude, outputs de comandos Bash, conteúdo de arquivos lidos, resultados de ferramentas. Se passou pela conversa, é buscável.

A Prova de Que a Comunidade Precisava Disso

Quando uma feature é óbvia mas não existe, a comunidade constrói alternativas. E foi exatamente isso que aconteceu com busca em sessões do Claude Code.

Um dev testou 4 ferramentas diferentes para gerenciar histórico de sessões:

  • claude-history — um TUI em Rust com fuzzy search em transcripts, preview com highlight de matches
  • Claude Code History Viewer (CCHV) — app Electron com analytics de tokens por sessão
  • Mantra — replay de sessões com timeline scrubbing e visualização de mudanças em código
  • Built-in CLI (--resume + /history) — funcional mas sem busca por conteúdo

A conclusão do autor: nenhuma ferramenta sozinha resolve. Ele usa um combo de --resume para retomar rápido e Mantra para entender sessões passadas.

Outro dev foi além. Construiu um skill customizado que permite ao Claude buscar no próprio histórico. O skill usa relevance scoring com pesos: 3x boost para sumários, 1.5x para mensagens do usuário, 1.3x para tool uses. O resultado: Claude vira um “parceiro de coding persistente que lembra das soluções anteriores”.

Repare no padrão: o built-in faltava, então a comunidade gastou tempo e energia construindo alternativas. O transcript search resolve o caso mais imediato — busca dentro da sessão ativa. As ferramentas externas ainda fazem sentido para busca cross-session e cross-project, mas o baseline agora existe nativamente.

Context Switching: O Número Que Ninguém Calcula

Buscar informação que você já tinha não é só inconveniente. É caro.

Segundo a Speakwise (2026), context switching custa em média $78.000 por dev por ano em produtividade perdida. São 12 a 15 switches de contexto por dia, com 23 minutos e 15 segundos para recuperar foco completo após cada interrupção (APA). O Microsoft Work Trend Index 2025 registrou 275 interrupções por dia — uma a cada 2 minutos durante horário core.

O resultado: até 40% do tempo produtivo é consumido por multitasking e troca de contexto. Um dev que está 8 horas no escritório produz o equivalente a 4,8 horas de trabalho focado.

E sabe o que conta como context switch? Parar o que está fazendo para resolver um problema que já foi resolvido na semana passada. Abrir o terminal. Tentar lembrar qual sessão era. Desistir. Começar do zero. Isso é um switch de contexto completo — com todo o custo cognitivo associado.

O transcript search não elimina todos os switches. Mas elimina a classe mais frustrante: “eu sei que resolvi isso, só não lembro onde”.

O Efeito Composto Com AI Coding

O problema fica pior com IA. A GitClear (2025) documentou que AI-assisted coding gera 4x mais code cloning que antes. Pela primeira vez na história, devs colam código mais do que refatoram ou reutilizam. O percentual de código refatorado caiu de 25% (2021) para menos de 10% (2024). Code cloning subiu de 8.3% para 12.3% no mesmo período.

O que isso tem a ver com transcript search? Tudo.

Se o dev não consegue encontrar a solução anterior, ele pede pro Claude resolver de novo. O Claude gera código novo. O dev cola. Agora você tem duas implementações diferentes do mesmo problema no mesmo codebase. É o oposto de reutilização — é duplicação assistida por IA.

A Faros AI documentou que em empresas com AI coding tools, PR review time aumentou 91% porque há mais código para revisar — parte dele duplicado. E a manutenção desse código duplicado custa 4x mais em dois anos (GitClear).

Buscar antes de gerar não é otimização. É higiene.

O Stack Completo de Produtividade

O transcript search não funciona sozinho. Ele é parte de um stack que o Claude Code foi construindo ao longo das últimas versões:

Ferramenta O que faz Tecla/Comando
Transcript search Busca na sessão ativa Ctrl+O/
–resume Retoma sessão anterior claude -r
/rename Nomeia sessão para encontrar depois /rename deploy-fix
/export Salva sessão como markdown /export relatorio.md
/compact Comprime contexto sem perder essência /compact
CLAUDE.md Memória persistente por projeto arquivo na raiz
Auto memory Memória automática cross-session ~/.claude/memory/

O fluxo ideal:

  • Buscar (Ctrl+O/) — “já resolvi isso antes?”
  • Retomar (claude -r) — “voltar pra sessão que tinha a solução”
  • Nomear (/rename) — “marcar sessões importantes para encontrar depois”
  • Persistir (CLAUDE.md) — “decisões arquiteturais que todos os devs precisam”
  • Comprimir (/compact) — “sessão ficou longa, comprimir sem perder contexto”

Nenhuma dessas ferramentas individualmente é revolucionária. Mas combinadas, elas transformam o Claude Code de “assistente que esquece tudo a cada sessão” para “ferramenta com memória operacional real”.

O Que Eu Penso

Na minha experiência mentorando 300+ SHs, o padrão mais comum que vejo é: o dono paga R$ 10K, 15K, 20K por mês em licenças de IA e assume que o investimento está dando retorno. Mas nunca mediu. Nunca perguntou: “quantas vezes meu time resolveu o mesmo problema duas vezes este mês?”

A resposta, se ele soubesse, seria perturbadora.

Transcript search parece uma feature pequena. Duas teclas. Busca textual. Nada de machine learning, nada de embeddings, nada sofisticado. Mas é exatamente o tipo de feature que separa usar uma ferramenta de usar uma ferramenta bem.

O ponto não é a tecnologia. É o hábito. Seu time precisa aprender que buscar antes de gerar é a regra. Que sessões anteriores são patrimônio, não lixo. Que o histórico do Claude Code é uma base de conhecimento informal que cresce sozinha — se alguém souber acessar.

A SH que ensina o time a usar Ctrl+O/ antes de pedir ao Claude “como resolver esse erro” está economizando tokens, tempo e frustração. Em escala, com 20 devs, é a diferença entre pagar pela mesma resposta uma vez ou vinte vezes.

Conclusão

O Claude Code tem transcript search nativo desde a versão 2.1.83. Ctrl+O abre o transcript, / abre a busca, n/N navega entre matches. Funciona como vim. Zero config.

Mas a feature sozinha não resolve nada se o time não sabe que ela existe. E aí está o ponto: na maioria das SHs que eu mentoro, menos de 20% do time conhece mais de 5 comandos do Claude Code. O resto usa como um chat — digita, espera, cola. Não busca, não retoma, não nomeia, não exporta.

Se você quer que sua software house pare de pagar para resolver o mesmo problema duas vezes, começa por aqui. Duas teclas. Um hábito novo.

Sou Thulio, mentoro 300+ SHs desde 2016. Se você quer implementar esse nível de produtividade com IA na sua software house, fala comigo.


Artigos relacionados:

Marcado:

Deixe um Comentário

O seu endereço de e-mail não será publicado. Campos obrigatórios são marcados com *