Como ver o que o Claude Code editou no último turno com o mod Replay Theater (/replay)

Painel do comando /replay do mod Replay Theater mostrando as edições do Claude Code no último turno
Resposta rápida

O Replay Theater no Claude Code é um mod de exemplo do repositório oficial anthropics/claude-code-playground que adiciona o comando /replay. Depois de um turno que editou arquivos, ele abre um painel com uma edição por vez: arquivo, ferramenta, linhas adicionadas e removidas e uma diff em vermelho e verde. O mod registra as edições feitas por Edit, Write e MultiEdit e só observa (nunca bloqueia nem altera nada). A ideia é entender a ordem do turno antes de revisar a diff final do Git. Precisa do Claude Code 2.1.287 ou posterior

Fala aí, beleza? Sabe aquele turno longo em que o Claude Code sai editando um monte de arquivo e te devolve tudo de uma vez?

Aí tu abre a diff do Git e dá de cara com um paredão: tudo misturado por arquivo, sem ordem nenhuma, e você tentando adivinhar o que veio primeiro 😛

Com o Claude Code 2.1.287 chegaram os mods, que são pequenas funções em TypeScript que mudam o comportamento e a interface do Claude Code

Um dos exemplos publicados é o Replay Theater, que adiciona o comando /replay pra percorrer as edições de arquivo do último turno, uma diff por vez

Bora ver na prática? 🙂

O que você precisa antes de usar o /replay

É pouca coisa, mas tem um ponto de atenção sério no final

  • Claude Code 2.1.287 ou posterior, a versão em que os mods chegaram
  • O mod vindo dentro de um plugin: mods são instalados e compartilhados como qualquer plugin e funcionam no CLI e no app desktop do Claude Code
  • O código do exemplo, que fica no repositório oficial anthropics/claude-code-playground, na pasta claude-code/mods/replay-theater

Ele entrou no PR #1 do repositório, junto com outros dois exemplos: Blast Radius e Token Weather

Mods rodam em sandbox?

Não, e isso é importante demais

Um mod tem o mesmo acesso à máquina que o próprio Claude Code, então pode ler segredos como variáveis de ambiente e a sua chave de API

No anúncio oficial dos mods, a própria Anthropic recomenda instalar só mods de fontes confiáveis

Nada de sair instalando qualquer mod que aparecer por aí, beleza?

Passo a passo: revisando um turno edição por edição com o Replay Theater

O fluxo é bem simples: tu trabalha normal, o mod vai anotando, e no fim você assiste o replay

  1. Deixe o Claude trabalhar normalmente

Não precisa fazer nada diferente no prompt

Durante o turno, o mod registra cada edição de arquivo feita pelas ferramentas Edit, Write e MultiEdit: qual arquivo foi mexido e o texto antes e depois

Erro comum deste passo: esperar que tudo apareça no replay

O que o exemplo descreve é o registro dessas três ferramentas, então não assuma que mudanças feitas por comando Bash vão aparecer ali

  1. Repare na dica acima do prompt

Quando o turno termina, surge uma faixa acima do prompt neste formato:

▶ Replay: N edits (press r) [ Replay ]

O N é a quantidade de edições que o mod registrou no turno

Erro comum deste passo: apertar r e nada acontecer

O atalho r só funciona quando essa faixa está em foco (com ctrl+x tab ou clicando nela)

Por isso o caminho confiável é o próximo passo…

  1. Rode o comando /replay

Depois de um turno que editou arquivos, digite:

/replay

Isso abre um painel que mostra uma edição por vez

  1. Leia cada passo do painel

O painel junta bastante informação num lugar só:

  • Cabeçalho com step X of Y, pra você saber onde está
  • Faixa de células numeradas com todos os passos, com o atual destacado
  • O arquivo editado e a ferramenta usada
  • Contagem de linhas adicionadas e removidas
  • Uma diff curta em vermelho e verde

Erro comum deste passo: achar que a diff do painel está completa

Ela mostra até 12 linhas por passo e depois aparece … N more lines

Linhas sem mudança só aparecem ao lado de uma alteração, e os trechos pulados viram ⋯

Ou seja: o painel é pra entender o passo, não pra ler o arquivo inteiro

  1. Navegue e feche o painel

Dá pra usar atalho ou botão, como preferir:

Ação Atalho Botão
Próximo passo n Next
Passo anterior p Prev
Fechar o painel c ou Escape Close

Erro comum deste passo: tratar como aplicada uma edição que você negou ou que falhou

O registro acontece no momento da chamada da ferramenta, então edição negada ou com falha TAMBÉM aparece no replay

Tome cuidado com isso, senão tu revisa uma mudança que nem chegou no arquivo haha

Por que revisar passo a passo reduz surpresa em diff grande

A diff do Git mostra o resultado final, agrupado por arquivo

Ela não conta a ORDEM em que as coisas aconteceram, e muitas vezes é a ordem que explica o porquê de uma mudança

O replay é como assistir o lance em câmera lenta em vez de olhar só o placar 😀

O caso de uso proposto pelo próprio exemplo é exatamente esse: entender o turno de edição antes de revisar a diff final do Git

Quando o turno tocou muitos arquivos

Aqui o paredão de diff assusta mais

Com o replay, tu vê arquivo por arquivo, na sequência em que o Claude mexeu, e chega na diff final já sabendo a história

Isso ajuda ainda mais quando tem dois devs no mesmo repositório, porque entender o que o turno fez antes de juntar trabalho evita bastante susto

Refatoração com MultiEdit

Refatoração costuma espalhar mudança pequena por vários pontos

Como o MultiEdit está entre as ferramentas registradas, o replay deixa você ver cada passo da refatoração separado, em vez de tudo embolado na diff

Edição negada ou que falhou

Lembra que edição negada ou com falha também aparece?

Isso é útil pra conferir se uma recusa sua no meio do turno não deixou o resto das mudanças num estado inesperado

O Replay Theater substitui o code review?

Não

O mod só observa: nunca bloqueia, altera ou atrasa uma edição

Ele te ajuda a ENTENDER o turno, mas a aprovação continua sendo na diff do Git e no code review de sempre

E o /diff nativo do Claude Code?

O recurso nativo /diff agora também é distribuído como mod, só que first-party

O replay não vem pra competir com ele: a proposta é complementar a revisão olhando a ordem dos passos do último turno

Como o Replay Theater funciona por dentro (para adaptar o seu mod)

Se até hoje tu customizava o Claude Code escrevendo instruções, tipo uma skill do Claude Code, o mod é outra pegada

Aqui é código TypeScript reagindo a eventos

Bora fazer uma leitura guiada da implementação, que é um ótimo modelo pra quem quer criar algo parecido

  1. Registrar handlers de evento com on()

Um mod é feito de handlers que o Claude Code chama quando algo acontece: uma chamada de ferramenta, um prompt enviado, uma parte da interface sendo desenhada

O handler pode observar, alterar ou assumir o evento

O registro usa on('evento', matcher_opcional, hook), como neste exemplo da referência:

on('tool.call', { tool: 'Bash' }, async ($, e, next) => next(e))

O { tool: 'Bash' } é o matcher opcional, que filtra pra qual ferramenta o hook vale

  1. Gravar as edições a partir de tool.call

O tool.call dispara quando uma ferramenta vai rodar (inclusive subagentes e MCP)

O hook pode retornar next(e), { deny: reason } ou { result }

O Replay Theater grava a edição e SEMPRE repassa a chamada com next(e), e é por isso que ele não interfere em nada

Erro comum deste passo: esquecer de chamar next(e) no seu mod

Aí ele deixa de ser só observador e passa a mexer no fluxo da ferramenta

  1. Agrupar por turno

O mod usa turn.start e turn.complete pra separar as edições de cada turno

O turn.complete dispara no fim do turno e pode retornar next(e) ou { text }

  1. Registrar e tratar o comando /replay

O comando é registrado em session.start e tratado em command.run

  1. Desenhar a interface

O painel é um Pane com elementos Button e hotkeys, com fallback para a faixa AbovePrompt (aquela dica que aparece acima do prompt)

  1. Calcular a diff de um jeito simples

A diff corta as linhas iguais do início e do fim em vez de rodar um LCS completo

Que LCS? É o algoritmo clássico de maior subsequência comum, que encontra o alinhamento mais preciso entre duas versões de um texto

O trade-off é claro: o código fica bem mais simples, e pra mostrar uma diff curta de cada passo isso resolve

Conclusão: use o replay para entender, o Git para aprovar

O Replay Theater no Claude Code pega um turno grande e transforma em passos legíveis, na ordem em que as edições aconteceram

Isso reduz MUITO a surpresa na hora de abrir a diff final do Git

Só não esquece: ele só observa, então a aprovação continua sendo na diff e no code review

Próximo passo? Abre a pasta claude-code/mods/replay-theater no repositório anthropics/claude-code-playground, lê o código com calma e dá uma olhada nos outros exemplos do mesmo PR, o Blast Radius e o Token Weather

E lembra: mod roda sem sandbox, então só instala de fonte confiável =)

Até o próximo post!

Perguntas frequentes

Onde fica o código do mod Replay Theater?

Ele está publicado no repositório oficial anthropics/claude-code-playground, dentro da pasta claude-code/mods/replay-theater. Foi adicionado no PR #1 do repositório, junto com os exemplos Blast Radius e Token Weather.

O Replay Theater funciona tanto no terminal quanto no app desktop do Claude Code?

Sim. Mods vêm dentro de plugins e são instalados e compartilhados como qualquer plugin, funcionando no CLI e no app desktop do Claude Code. Não há distinção de comportamento entre os dois ambientes descrita no exemplo.

Por que o atalho r do Replay Theater às vezes não faz nada?

Porque o atalho r só funciona quando a faixa acima do prompt está em foco, seja com ctrl+x tab ou clicando nela. Se esse foco não acontecer, nada é ativado, por isso rodar /replay direto é o caminho confiável.

O Replay Theater mostra edições feitas por comando Bash?

Não. O mod registra apenas as edições de arquivo feitas pelas ferramentas Edit, Write e MultiEdit, guardando o arquivo e o texto antes e depois. Uma mudança feita via Bash não entra nesse registro.

O Replay Theater precisa de alguma versão mínima do Claude Code?

Sim, os mods chegaram no Claude Code 2.1.287, então essa é a versão mínima necessária para usar o /replay. Antes dela esse comando e o conceito de mod simplesmente não existiam.

O Replay Theater pode bloquear uma edição do Claude Code?

Não, o mod é somente observação: ele nunca bloqueia, altera ou atrasa uma edição feita durante o turno. Ele só registra o que aconteceu para você revisar depois pelo painel do /replay.



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 30min

Blog | Mais populares