Contenido
"Dejé que Claude Code se ejecutara y el cambio fue a parar a un lugar que yo no quería." Justo para ese momento, el checkpointing y /rewind te permiten volver a "antes de que saliera mal" con un par de pulsaciones. Claude Code toma automáticamente una instantánea del estado antes de cada edición, y puedes regresar a un estado anterior con /rewind o pulsando Esc dos veces.
Este artículo cubre, basándose en la documentación oficial, qué es el checkpointing, cómo usarlo, qué se restaura y qué no (lo más importante), en qué se diferencia de Git, cómo usarlo para recuperarse de errores y su disponibilidad. Los puntos clave por adelantado. ① Rastrea automáticamente las ediciones de archivos, y cada prompt se convierte en un punto de restauración. ② Abre el menú con /rewind o pulsando Esc dos veces y elige restaurar el código, la conversación o ambos. ③ Pero solo se restauran "las ediciones de archivos hechas por Claude"—los cambios hechos por comandos bash o fuera de Claude no se restauran. Por eso no sustituye a Git.
Revierte los cambios a "antes de que saliera mal"
— cada prompt es un punto de restauración; regresa con Esc dos veces
1. Qué son el checkpointing y /rewind
La definición oficial: "Claude Code rastrea automáticamente las ediciones de archivos de Claude mientras trabajas, lo que te permite deshacer cambios rápidamente y volver a estados anteriores si algo se descarrila." Se toma una instantánea automáticamente antes de cada edición, y además cada prompt que envías crea un nuevo checkpoint (un punto al que puedes regresar). Los checkpoints persisten entre sesiones, por lo que también puedes acceder a ellos en conversaciones reanudadas.
En otras palabras, esta función significa que "aunque le pases las cosas a la IA y salga mal, puedes regresar a un punto seguro con unas pocas pulsaciones." En Claude Code interactivo (la CLI), /rewind es automático y está activado por defecto.
2. Cómo usarlo (/rewind y Esc Esc)
Hay dos maneras de abrir el menú de rewind: escribir /rewind, o pulsar Esc dos veces cuando el campo de entrada del prompt está vacío.
⚠️ Una nota sobre Esc Esc: si el campo de entrada contiene texto, pulsar Esc dos veces borra la entrada en lugar de abrir el menú. El texto borrado se guarda en tu historial de entradas, así que pulsa la flecha hacia arriba para recuperarlo. Para asegurarte de que el menú se abra, borra primero la entrada.
El menú lista cada prompt que enviaste durante la sesión. Elige el punto que quieras y luego selecciona una acción.
| Acción | Qué hace |
|---|---|
| Restaurar código y conversación | Revierte ambos a ese punto |
| Restaurar conversación | Vuelve a ese mensaje pero mantiene el código actual |
| Restaurar código | Revierte solo los cambios de archivos, mantiene la conversación |
| Resumir desde / hasta aquí | Comprime el contexto (no es un rewind; los archivos no cambian) |
| Olvídalo | Sal sin cambios |
Después de "Restaurar conversación" (y similares), el prompt original del mensaje seleccionado se restaura en el campo de entrada, para que puedas reenviarlo o editarlo. "Restaurar código" manteniendo la conversación te permite reformular, sabiendo qué salió mal—este es el flujo que usarás más en la práctica.
3. Qué se restaura y qué no (lo más importante)
Esta es la parte más malentendida de la función. El checkpointing rastrea solo "los cambios hechos por las herramientas de edición de archivos de Claude (Write / Edit / NotebookEdit)." Cualquier otro efecto secundario no se deshace al hacer rewind.
⚠️ No se restaura (indicado en la documentación oficial)
- Cambios de archivos por comandos bash:
rm file.txt,mv old.txt new.txt,cp source dest, etc. no se pueden deshacer mediante rewind - Cambios fuera de la sesión / de otras sesiones: las ediciones manuales y las ediciones de sesiones concurrentes no se capturan a menos que afecten a los mismos archivos
- Crear, mover o eliminar directorios / archivos remotos o de red
El estado de la base de datos, las migraciones, las instalaciones de paquetes, las llamadas de red—cualquier "efecto secundario que no sea una edición de archivo tampoco se revierte" (la documentación no lo detalla, pero como solo se rastrean los cambios de archivos hechos con las herramientas de edición, se deduce lógicamente). En resumen, recuerda que solo se puede restaurar "el contenido de los archivos que Claude reescribió con sus herramientas de edición". Y como Claude también puede cambiar archivos mediante Bash, la práctica segura es no depender demasiado de rewind y hacer commit en Git en los hitos.
4. En qué se diferencia de Git
La documentación lo enmarca como "los checkpoints son un 'deshacer' local, y Git es el 'historial permanente'" y afirma claramente que "los checkpoints complementan pero no sustituyen un control de versiones adecuado."
- Automático, instantáneo, sin configuración
- Ideal para experimentar dentro de la sesión
- Cubre los cambios de archivos de las herramientas de edición
- Se limpian después de 30 días (configurable)
- Commits, ramas, almacenamiento a largo plazo
- Registra también los cambios de bash
- Compartible y revisable en equipo
- No desaparece (hasta que lo elimines)
La división del trabajo es sencilla: los checkpoints para deshacer rápido dentro de la sesión, los commits de Git para un historial duradero. Haz commit en los hitos de una tarea más grande, y podrás regresar con seguridad incluso a través de lo que rewind no puede cubrir (como los cambios de bash).
5. Recuperarse de errores
/rewind es también una herramienta de recuperación cuando la conversación se rompe y no puede continuar. La referencia oficial de errores de Claude Code, para el error 400 relacionado con la concurrencia de tool-use y los bloques de pensamiento, hace que el propio producto diga: "API Error: 400 ... Run /rewind to recover the conversation." Pulsa Esc dos veces para retroceder a un checkpoint anterior al turno corrupto y continuar desde ahí. Esta es también la recuperación principal para el error de fuga de etiquetas court / invoke (concurrencia de tool_use).
⚠️ Nota sobre la versión: si estás en Opus 4.7 / 4.8, ejecuta claude update primero. Según la documentación, las versiones anteriores a v2.1.156 pueden provocar este error durante el uso normal de herramientas, y /rewind no lo elimina. Actualizar va primero.
Si rewind no puede llegar a la causa (p. ej., corrupción por compactación de contexto), también puedes empezar de cero con /clear. Para gestionar errores en general, consulta el resumen de errores de Claude Code.
6. Disponibilidad y retención
En Claude Code interactivo (la CLI), es automático y está activado por defecto—sin configuración especial. En el Agent SDK, en cambio, es una opción explícita que hay que activar (p. ej. enableFileCheckpointing); mantén ambos casos diferenciados.
En cuanto a la retención, los checkpoints se limpian junto con las sesiones después de 30 días (configurable). La documentación no detalla la ubicación de almacenamiento en disco, un interruptor de encendido/apagado ni la clave de configuración específica para el periodo de retención, por lo que este artículo no los afirma (consulta la documentación oficial para lo más reciente). La función se lanzó en Claude Code v2.0.0 (septiembre de 2025) y en su momento se informó como "la función más solicitada" (la fecha de lanzamiento y el contexto provienen de fuentes secundarias).
Resumen
El checkpointing y /rewind son una red de seguridad que rastrea automáticamente las ediciones de archivos de Claude y te permite revertir a "antes de que saliera mal" con unas pocas pulsaciones. Cada prompt se convierte en un punto de restauración, y abres el menú con /rewind o Esc dos veces para revertir el código, la conversación o ambos. En la práctica, el flujo central es "Restaurar código manteniendo la conversación" y luego reformular.
La advertencia clave: "solo se restauran las ediciones de archivos de Claude"—los cambios de comandos bash, los cambios externos, las operaciones con directorios, las bases de datos y similares no. Por eso no sustituye a Git; haz commit en los hitos como regla. Y /rewind también recupera una conversación rota, como el error 400 (en versiones antiguas, claude update primero). Relacionados: el error court/invoke, errores de Claude Code, hooks.
Preguntas frecuentes
Q. ¿Para qué sirve el checkpointing?
A. Es una red de seguridad para revertir rápidamente los cambios a "antes de que saliera mal." Claude Code toma una instantánea automáticamente antes de cada edición, y cada prompt que envías se convierte en un punto de restauración. Aunque le pases las cosas a la IA y salga mal, puedes regresar a un estado anterior con /rewind o pulsando Esc dos veces. En la CLI interactiva está activado por defecto.
Q. ¿Cómo lo uso?
A. Escribe /rewind, o pulsa Esc dos veces cuando la entrada está vacía, para abrir el menú. De la lista de prompts que enviaste, elige el punto al que regresar y selecciona "Restaurar código y conversación", "Restaurar conversación" o "Restaurar código." Lo más común es "Restaurar código (mantener la conversación)" y luego reformular tu instrucción, sabiendo qué salió mal. Ten en cuenta que si la entrada contiene texto, Esc dos veces la borra en su lugar.
Q. ¿Se restauran también los archivos creados o eliminados por bash?
A. No. Solo se restauran los cambios de archivos hechos por las herramientas de edición de Claude (Write / Edit / NotebookEdit). Los cambios por comandos bash (rm, mv, cp, etc.), los cambios fuera de la sesión o de otras sesiones, la creación/movimiento/eliminación de directorios y los archivos remotos no se deshacen con rewind. Lo mismo ocurre con los "efectos secundarios que no son ediciones de archivos", como el estado de la base de datos. Por eso precisamente deberías hacer commit en Git en los hitos.
Q. ¿Sustituye a Git?
A. No. La documentación lo enmarca como "checkpoints = deshacer local, Git = historial permanente," indicando que complementa pero no sustituye el control de versiones. Los checkpoints son ideales para deshacer rápido dentro de la sesión y se limpian después de 30 días (configurable). Sigue usando Git para commits, ramas, almacenamiento a largo plazo y compartir en equipo.
Q. ¿Puedo usarlo cuando un error bloquea la conversación?
A. Sí. Para el error 400 relacionado con la concurrencia de tool-use o los bloques de pensamiento, el propio producto dice "Run /rewind to recover the conversation." Pulsa Esc dos veces para retroceder a antes del turno corrupto y continuar. Pero las versiones anteriores a v2.1.156 pueden no eliminarlo mediante /rewind, así que en Opus 4.7 / 4.8 ejecuta claude update primero. Consulta también el artículo sobre el error court/invoke.