"Deixei o Claude Code rodar e a mudança foi para onde eu não queria." Exatamente para esse momento, o checkpointing e o /rewind permitem voltar ao "antes de dar errado" com alguns toques de tecla. O Claude Code tira um snapshot do estado automaticamente antes de cada edição, e você pode retornar a um estado anterior com /rewind ou pressionando Esc duas vezes.

Este artigo aborda, com base na documentação oficial, o que é checkpointing, como usá-lo, o que é e o que não é restaurado (o mais importante), como difere do Git, como usá-lo para se recuperar de erros e a disponibilidade. Os pontos-chave logo de início. ① Ele rastreia automaticamente as edições de arquivos, e cada prompt vira um ponto de restauração. ② Abra o menu com /rewind ou Esc duas vezes e escolha restaurar código, conversa ou ambos. ③ Mas só "as edições de arquivos feitas pelo Claude" são restauradasmudanças feitas por comandos bash ou fora do Claude não são. É por isso que ele não substitui o Git.

CHECKPOINTING · /rewind

Reverta mudanças para "antes de dar errado"

— cada prompt é um ponto de restauração; volte com Esc duas vezes

prompt #1
#2
#3 ✓ restaurar aqui
#4
#5 😱 quebrado
Esc Esc (/rewind) → voltar para #3 ⟲
✓ Restaurado
Edições de arquivos pelas ferramentas de edição do Claude (+ conversa)
✗ Não restaurado
Mudanças por comando bash, mudanças externas, BD, etc.

1. O que são checkpointing e /rewind

A definição oficial: "O Claude Code rastreia automaticamente as edições de arquivos do Claude enquanto você trabalha, permitindo desfazer mudanças rapidamente e retroceder para estados anteriores se algo sair do rumo." Um snapshot é tirado automaticamente antes de cada edição, e além disso cada prompt que você envia cria um novo checkpoint (um ponto ao qual você pode retornar). Os checkpoints persistem entre sessões, então você também pode acessá-los em conversas retomadas.

Em outras palavras, este recurso significa "mesmo que você entregue as coisas para a IA e dê errado, você pode voltar a um ponto seguro com alguns toques de tecla." No Claude Code interativo (a CLI), o /rewind é automático e ativado por padrão.

2. Como usar (/rewind e Esc Esc)

Há duas formas de abrir o menu de rewind: digitar /rewind, ou pressionar Esc duas vezes quando o campo de prompt está vazio.

⚠️ Uma observação sobre Esc Esc: se o campo de entrada contém texto, pressionar Esc duas vezes limpa o campo em vez de abrir o menu. O texto apagado é salvo no histórico de entradas, então pressione a seta para cima para recuperá-lo. Para garantir que o menu abra, limpe o campo primeiro.

O menu lista cada prompt que você enviou durante a sessão. Escolha o ponto que deseja e então selecione uma ação.

AçãoO que faz
Restaurar código e conversaReverte ambos para aquele ponto
Restaurar conversaRetrocede até aquela mensagem mas mantém o código atual
Restaurar códigoReverte apenas as mudanças de arquivo, mantém a conversa
Resumir a partir de / até aquiComprime o contexto (não é um rewind; arquivos inalterados)
Deixa pra láSai sem mudanças

Após "Restaurar conversa" (e similares), o prompt original da mensagem selecionada é restaurado no campo de entrada, para que você possa reenviá-lo ou editá-lo. "Restaurar código" mantendo a conversa permite reformular, informado pelo que deu errado—este é o fluxo que você mais usará na prática.

3. O que é e o que não é restaurado (o mais importante)

Esta é a parte mais mal compreendida do recurso. O checkpointing rastreia apenas "as mudanças feitas pelas ferramentas de edição de arquivos do Claude (Write / Edit / NotebookEdit)." Qualquer outro efeito colateral não é desfeito pelo rewind.

⚠️ Não restaurado (declarado na documentação oficial)

  • Mudanças de arquivo por comandos bash: rm file.txt, mv old.txt new.txt, cp source dest, etc. não podem ser desfeitas pelo rewind
  • Mudanças fora da sessão / de outras sessões: edições manuais e edições de sessões concorrentes não são capturadas, a menos que toquem nos mesmos arquivos
  • Criar, mover ou excluir diretórios / arquivos remotos ou de rede

Estado de banco de dados, migrações, instalações de pacotes, chamadas de rede—qualquer "efeito colateral que não seja uma edição de arquivo" tampouco é revertido (a documentação não detalha isso, mas como só as mudanças de arquivo via as ferramentas de edição são rastreadas, segue-se logicamente). Em resumo, lembre-se de que apenas "o conteúdo dos arquivos que o Claude reescreveu com suas ferramentas de edição" pode ser restaurado. E como o Claude também pode alterar arquivos via Bash, a prática segura é não depender demais do rewind e fazer commits no Git nos marcos.

4. Como difere do Git

A documentação enquadra assim: "os checkpoints são um 'desfazer' local, e o Git é 'histórico permanente'" e afirma claramente que "os checkpoints complementam, mas não substituem, um controle de versão adequado."

Checkpoints
= "desfazer" local
  • Automático, instantâneo, sem configuração
  • Ideal para experimentação dentro da sessão
  • Abrange mudanças de arquivo das ferramentas de edição
  • Limpos após 30 dias (configurável)
Git
= "histórico" permanente
  • Commits, branches, armazenamento de longo prazo
  • Registra também mudanças do bash
  • Compartilhável e revisável em equipe
  • Não desaparece (até você excluí-lo)

A divisão de trabalho é simples: checkpoints para desfazer rápido dentro da sessão, commits do Git para histórico durável. Faça commit nos marcos de uma tarefa maior, e você poderá retornar com segurança mesmo além do que o rewind não cobre (como mudanças do bash).

5. Recuperar-se de erros

O /rewind também é uma ferramenta de recuperação quando a conversa quebra e não consegue continuar. A referência oficial de erros do Claude Code, para o erro 400 relacionado à concorrência de uso de ferramentas e blocos de raciocínio, faz o próprio produto dizer: "API Error: 400 ... Run /rewind to recover the conversation." Pressione Esc duas vezes para voltar a um checkpoint anterior ao turno corrompido e continuar a partir daí. Esta também é a principal recuperação para o erro de vazamento de tag court / invoke (concorrência de tool_use).

⚠️ Nota de versão: se você está no Opus 4.7 / 4.8, rode claude update primeiro. Segundo a documentação, versões anteriores à v2.1.156 podem disparar este erro durante o uso normal de ferramentas, e o /rewind não o elimina. Atualizar vem primeiro.

Se o rewind não conseguir alcançar a causa (por exemplo, corrupção decorrente da compactação de contexto), você também pode começar do zero com /clear. Para lidar com erros em geral, veja o resumo de erros do Claude Code.

6. Disponibilidade e retenção

No Claude Code interativo (a CLI), é automático e ativado por padrão—sem configuração especial. No Agent SDK, em contraste, é um opt-in explícito (por exemplo, enableFileCheckpointing); mantenha os dois distintos.

Quanto à retenção, os checkpoints são limpos junto com as sessões após 30 dias (configurável). A documentação não detalha o local de armazenamento em disco, um botão de liga/desliga ou a chave de configuração específica do período de retenção, então este artigo não os afirma (consulte a documentação oficial para o mais recente). O recurso chegou no Claude Code v2.0.0 (setembro de 2025) e foi noticiado na época como "o recurso mais solicitado" (data de lançamento e contexto vêm de fontes secundárias).

Resumo

O checkpointing e o /rewind são uma rede de segurança que rastreia automaticamente as edições de arquivos do Claude e permite reverter para "antes de dar errado" com alguns toques de tecla. Cada prompt vira um ponto de restauração, e você abre o menu com /rewind ou Esc duas vezes para reverter código, conversa ou ambos. Na prática, o fluxo central é "Restaurar código mantendo a conversa", e então reformular.

A ressalva principal: "apenas as edições de arquivos do Claude são restauradas"mudanças por comando bash, mudanças externas, operações de diretório, bancos de dados e afins não são. Então ele não substitui o Git; faça commit nos marcos como regra. E o /rewind também recupera uma conversa quebrada, como o erro 400 (em versões antigas, claude update primeiro). Relacionados: o erro court/invoke, erros do Claude Code, hooks.

FAQ

Q. Para que serve o checkpointing?
A. É uma rede de segurança para reverter mudanças rapidamente para "antes de dar errado." O Claude Code tira um snapshot automaticamente antes de cada edição, e cada prompt que você envia vira um ponto de restauração. Mesmo que você entregue as coisas para a IA e dê errado, você pode voltar a um estado anterior com /rewind ou Esc duas vezes. Na CLI interativa, está ativado por padrão.

Q. Como eu uso?
A. Digite /rewind, ou pressione Esc duas vezes quando o campo está vazio, para abrir o menu. Na lista de prompts que você enviou, escolha o ponto para retornar e selecione "Restaurar código e conversa", "Restaurar conversa" ou "Restaurar código." O mais comum é "Restaurar código (manter a conversa)", e então reformular sua instrução, informado pelo que deu errado. Note que se o campo contém texto, Esc duas vezes o limpa em vez disso.

Q. Arquivos criados ou excluídos pelo bash também são restaurados?
A. Não. Apenas mudanças de arquivo feitas pelas ferramentas de edição do Claude (Write / Edit / NotebookEdit) são restauradas. Mudanças por comandos bash (rm, mv, cp, etc.), mudanças fora da sessão ou de outras sessões, criar/mover/excluir diretórios e arquivos remotos não são desfeitas pelo rewind. O mesmo vale para "efeitos colaterais que não são edições de arquivo", como o estado do banco de dados. É exatamente por isso que você deve fazer commit no Git nos marcos.

Q. Ele substitui o Git?
A. Não. A documentação enquadra assim: "checkpoints = desfazer local, Git = histórico permanente," afirmando que ele complementa, mas não substitui o controle de versão. Os checkpoints são ideais para desfazer rápido dentro da sessão e são limpos após 30 dias (configurável). Continue usando o Git para commits, branches, armazenamento de longo prazo e compartilhamento em equipe.

Q. Posso usá-lo quando um erro bloqueia a conversa?
A. Sim. Para o erro 400 relacionado à concorrência de uso de ferramentas ou blocos de raciocínio, o próprio produto diz "Run /rewind to recover the conversation." Pressione Esc duas vezes para voltar para antes do turno corrompido e continuar. Mas versões anteriores à v2.1.156 podem não eliminá-lo via /rewind, então no Opus 4.7 / 4.8 rode claude update primeiro. Veja também o artigo sobre o erro court/invoke.