Claude Code hace un snapshot automático de tu código antes de cada edición. Cada vez que envías un prompt, se crea un checkpoint. Si Claude toma un camino equivocado — rompe una feature, se desvía, o sobreingeniería una solución — puedes rebobinar a cualquier estado anterior en segundos. Los checkpoints persisten entre sesiones y se limpian automáticamente tras 30 días.
Resultado:
> Esc Esc (pulsa Escape dos veces)
┌─ Rebobinar a ────────────────────────┐
│ ● Mensaje 5: "Añadir auth middleware"│
│ ○ Mensaje 4: "Crear modelo usuario" │
│ ○ Mensaje 3: "Configurar base datos" │
│ │
│ Restaurar: ◉ Ambos ○ Código ○ Chat│
└──────────────────────────────────────┘
Setup
No requiere configuración. Checkpointing está activado por defecto.
1. Trabaja normalmente con Claude
Cada prompt que envías crea un checkpoint automáticamente.
2. Rebobina cuando lo necesites
Pulsa Esc dos veces con el input vacío, o escribe /rewind:
Esc + Esc → Abre el menú de rewind (solo si no has escrito nada)
/rewind → Lo mismo, por comando
Si tenías texto a medias, el doble Esc te lo borra en lugar de abrir el menú. No lo pierdes: queda en el historial del input, así que lo recuperas con Up cuando salgas del menú. Y si prefieres no pasar por el historial, Ctrl+S lo aparca antes y te devuelve además el cursor donde lo tenías.
3. Elige qué hacer con ese punto
| Opción | Qué hace |
|---|---|
| Restaurar código y conversación | Revierte los archivos y rebobina el chat a ese punto |
| Restaurar conversación | Rebobina el chat y deja los archivos como están ahora |
| Restaurar código | Revierte los cambios en archivos y mantiene la conversación |
| Summarize from here | Comprime la conversación de ese punto en adelante y libera contexto |
| Summarize up to here | Comprime lo anterior a ese punto y deja intacto lo reciente |
| Never mind | Vuelve a la lista sin tocar nada |
Las dos opciones de código solo aparecen si ese checkpoint tiene cambios de archivos que revertir. Si no capturó ninguna edición, el menú te deja restaurar la conversación, resumir o salir.
Y si habías corrido /clear antes en el mismo proceso, arriba de la lista aparece una entrada extra para volver a la conversación anterior a ese /clear (desde la v2.1.191).
Referencia
| Característica | Detalles |
|---|---|
| Activación | Esc • Esc con el input vacío, o /rewind |
| Creación de checkpoints | Automática en cada prompt del usuario |
| Snapshots guardados | Los 100 checkpoints más recientes de la sesión |
| Persistencia | Sobrevive a reinicios de sesión y /resume |
| Retención | 30 días, en texto plano en tu disco (configurable con cleanupPeriodDays) |
| Rastrea | Ediciones de archivos hechas por las herramientas de Claude |
| NO rastrea | Comandos bash (rm, mv, cp), ediciones externas |
Limitaciones
- Los archivos modificados por comandos bash (ej.
rm file.txt) no se rastrean - Las ediciones manuales que hagas fuera de Claude Code no se capturan
- Lo que edita un subagente normalmente no se restaura al rebobinar. La única excepción es una skill con
context: forkque corra en primer plano, porque edita durante tu propio turno. Y ojo, que eso dejó de ser lo habitual: desde julio de 2026 las skills concontext: forkse van al fondo por defecto, y hay que ponerbackground: falseen su frontmatter para que esperen el resultado en tu turno. Todo lo demás, incluido cualquier subagente de fondo, se revierte con git y no con rewind. Dónde corre un subagente cambia más cosas de las que parece: también le recorta las herramientas - Los symlinks y los hard links no se rebobinan. Al restaurar código verás
Restored the code, but skipped N filesy esos archivos se quedan como estaban - Los checkpoints son recuperación a nivel de sesión, no sustituyen a Git
Documentación oficial: Checkpointing
EscEscrebobina, pero un soloEsces otra cosa: parar y reconducir a Claude a media tarea sin perder lo que ya hizo.
El mismo menú de Rewind también comprime contexto sin deshacer nada: libera contexto sin perder lo reciente con Summarize up to here.
Y rewind es para tus ficheros y tu conversación, no para la caja de texto: para deshacer lo que acabas de teclear está
Ctrl+_, un paso atrás cada vez, y para aparcarlo entero,Ctrl+S.