Los checkpoints de Claude Code te permiten deshacer el trabajo de un agente en segundos. Claude Code crea automáticamente instantáneas de tus archivos antes de cada prompt que inicia un turno, y /rewind (o pulsar Esc dos veces con el prompt vacío) te lleva de vuelta a cualquier punto anterior para restaurar el código, la conversación o ambos. La función llegó con Claude Code 2.0 el 29 September 2025 y es ahora la forma más rápida de recuperarte cuando un agente toma el camino equivocado.
Merece la pena saber una cosa antes de confiar en ellos: los checkpoints registran las ediciones de archivos propias de Claude, no todo lo que ocurre en tu repositorio. Eso los convierte en una red de seguridad a nivel de sesión que complementa a Git, no en un sustituto. Usamos Claude Code para construir y gestionar este sitio, y los checkpoints han cambiado con qué agresividad le dejamos refactorizar, precisamente porque volver a un estado conocido y funcional ya no significa escarbar en git reflog.
¿Qué son los checkpoints de Claude Code?
Un checkpoint es una instantánea automática de tus archivos de trabajo que se toma antes de que empiece un turno. Según la documentación oficial sobre checkpointing, cada prompt que envías e inicia un turno crea una, sin necesidad de ninguna acción manual. Claude Code conserva las instantáneas de archivos de los 100 checkpoints más recientes de una sesión y las guarda junto a la conversación, de modo que /rewind sigue funcionando después de cerrar y reanudar esa sesión.
Las instantáneas no se conservan para siempre. Claude Code elimina las instantáneas de archivos de una sesión en su barrido de retención, por defecto unos 30 días después de que la sesión guardara una por última vez, así que rebobinar a un checkpoint muy antiguo puede fallar con un error No files were restored. Si necesitas que duren más, aumenta el ajuste cleanupPeriodDays. Para el trabajo del día a día los valores por defecto son generosos; la ventana de 30 días importa sobre todo si vuelves a un experimento abandonado semanas después.
¿Cómo se rebobina con /rewind?
Ejecuta /rewind, o pulsa Esc dos veces mientras el campo de entrada del prompt esté vacío, para abrir el menú de rebobinado. (Si el campo tiene texto, el doble Esc lo borra en su lugar; el texto borrado pasa a tu historial de entrada, así que Up lo recupera.) El menú muestra los prompts que enviaste durante la sesión. Elige el punto sobre el que quieres actuar y luego elige una acción:
- Restaurar código y conversación: revierte ambos a ese punto.
- Restaurar conversación: rebobina el chat conservando tu código actual.
- Restaurar código: revierte los cambios de archivos conservando la conversación.
- Resumir desde aquí / Resumir hasta aquí: comprime parte de la conversación para liberar contexto (más sobre esto abajo).
- Déjalo: sal sin cambios.
Las dos opciones de restaurar código solo aparecen cuando ese checkpoint capturó realmente cambios de archivos. Tras restaurar una conversación, el prompt original vuelve al campo de entrada para que puedas editarlo y reenviarlo. Un hábito práctico: cuando una edición sale mal, rebobina al prompt que inició el turno defectuoso en lugar de a un mensaje a mitad de turno, para revertir el cambio completo de forma limpia.
Qué registran los checkpoints (y qué, discretamente, no)
Esta es la parte que la mayoría de los tutoriales se salta, y es donde la gente se quema. El checkpointing vigila los archivos que Claude editó con sus herramientas de edición de archivos en la sesión actual. Todo lo que quede fuera de ese carril solo está cubierto parcialmente o no lo está en absoluto. La tabla siguiente lo detalla, tomada de la sección de limitaciones de la documentación.
| Cambio | ¿Lo revierte /rewind? | Notas |
|---|---|---|
| Ediciones de Claude con sus herramientas de archivos | Sí | El caso central; es para lo que existen los checkpoints. |
| Ediciones de Bash a un archivo que Claude ya editó | Sí | Una vez que Claude ha tocado un archivo, los cambios posteriores de la shell sobre él también se deshacen. |
| Un archivo que solo cambió Bash | No | Nunca se registra; usa Git para revertirlo. |
Ediciones de subagentes (skill en segundo plano, /code-review --fix) | Normalmente no | Solo se restauran las ediciones de una skill bifurcada en primer plano; las de otros subagentes permanecen. |
| Ediciones manuales que haces en tu editor | No | Los cambios externos no se capturan a menos que afecten a los mismos archivos. |
| Ediciones de otra sesión concurrente | No | Por la misma razón; trata a Git como la fuente de verdad. |
| Rutas con enlaces simbólicos o duros | No | Se omiten al restaurar con una advertencia skipped N files. |
La conclusión principal: /rewind es excelente para deshacer una tanda de ediciones de Claude, e inútil para deshacer lo que un comando de shell o un subagente en segundo plano le hizo a archivos no registrados. Haz commit antes de operaciones grandes y cubres ambos casos.
Libera contexto con las opciones de resumen
El menú de rebobinado funciona también como herramienta de gestión de contexto, algo fácil de pasar por alto. Resumir desde aquí comprime la conversación desde un punto elegido en adelante en un resumen; Resumir hasta aquí comprime todo lo anterior a ese punto conservando intactos los mensajes posteriores. Cualquiera de las dos deja un marcador Summarized conversation en la transcripción y funciona como un /compact dirigido: libera espacio en la ventana de contexto sin tocar ningún archivo del disco.
Esto resulta de verdad útil en sesiones largas de depuración. Puedes conservar tus instrucciones originales y el estado final funcional mientras colapsas un tramo intermedio prolijo de prueba y error. También puedes resaltar una opción de resumen y escribir indicaciones en la fila add context (optional) para dirigir qué conserva el resumen. Si, en cambio, quieres bifurcar y probar un enfoque diferente preservando el hilo original intacto, usa /branch o claude --continue --fork-session en lugar de resumir. Cuando planifiques un cambio grande, combinar esto con el modo de planificación mantiene la sesión ligera desde el principio.
Checkpoints frente a Git: ¿en cuál deberías confiar?
Resuelven problemas distintos, así que la respuesta honesta es en ambos. Los checkpoints te dan un deshacer instantáneo a nivel de sesión sin staging, sin mensajes de commit y sin requerir conocimientos de Git, ideal para el ciclo rápido de "pruébalo, no me gusta, revértelo" dentro de una sola sesión. Git te da un historial permanente, ramas, colaboración y un registro que sobrevive al barrido de 30 días y alcanza cada archivo del repositorio sin importar qué lo haya cambiado.
Un flujo de trabajo que aguanta: haz commit de una base limpia antes de encomendarle a Claude una tarea grande, usa /rewind con libertad para iterar dentro de la sesión y luego vuelve a hacer commit cuando estés satisfecho. Así el checkpoint se encarga de la recuperación minuto a minuto y Git se encarga de todo lo que los checkpoints deliberadamente no cubren: efectos secundarios de bash, ediciones de subagentes y cualquier cosa que tocaras a mano. Si ejecutas varios agentes a la vez, nuestra guía sobre git worktrees para agentes de codificación con IA en paralelo cubre el aislamiento que los checkpoints por sí solos no pueden darte.
Preguntas frecuentes
¿Los checkpoints de Claude Code sustituyen a Git?
No. Los checkpoints están pensados para recuperar rápidamente, a nivel de sesión, las propias ediciones de Claude y operan de forma independiente de Git. No te dan historial permanente, ramas ni colaboración, y sus instantáneas se barren tras unos 30 días. Sigue usando Git para los commits y el control de versiones a largo plazo.
¿/rewind deshace los cambios hechos por comandos de bash?
En parte. Si Claude ya había editado un archivo con sus herramientas de edición de archivos, los cambios posteriores de bash sobre ese mismo archivo se deshacen al rebobinar. Un archivo que solo cambió un comando de bash no se registra en absoluto, así que necesitarás Git para revertirlo.
¿Cuántos checkpoints se conservan, y durante cuánto tiempo?
Claude Code conserva las instantáneas de archivos de los 100 checkpoints más recientes de una sesión. Las instantáneas se eliminan en el barrido de retención aproximadamente 30 días después de que la sesión guardara una por última vez, a menos que amplíes cleanupPeriodDays en los ajustes.
¿Puedo rebobinar tras reanudar una sesión o tras ejecutar /clear?
Sí. Los checkpoints se guardan con la conversación, así que /rewind funciona después de reanudar una sesión. Si ejecutaste /clear antes en el mismo proceso, el menú muestra una entrada /resume <session-id> (previous session) en la parte superior para que puedas volver a la conversación anterior al borrado.
¿Rebobinar restaura las ediciones hechas por un subagente?
Normalmente no. Solo las ediciones de una skill bifurcada en primer plano se capturan en los checkpoints de tu sesión. Las ediciones de subagentes en segundo plano, de skills bifurcadas o de una ejecución de /code-review --fix permanecen, así que revierte esas con Git.
Sources
- Checkpointing — Claude Code Docs: cómo se crean los checkpoints, el menú
/rewindy las opciones de restauración, la retención (100 instantáneas, ~30 días,cleanupPeriodDays) y la lista completa de limitaciones. - Enabling Claude Code to work more autonomously — Anthropic: el anuncio de Claude Code 2.0 que introdujo los checkpoints el 29 September 2025.
- Settings reference — Claude Code Docs: el ajuste
cleanupPeriodDaysque controla cuánto tiempo se retienen las instantáneas.
Waqas Ahmed Waseer
Waqas Ahmed Waseer es desarrollador y creador de automatizaciones con más de 8 años construyendo sistemas en producción que usan más de 100.000 personas. Crea SaaS multiinquilino a medida, automatización con IA (n8n, flujos LLM, bots de WhatsApp) e infraestructura de hosting (WHM/cPanel, CloudLinux), y es el creador de WaSphere, FlowMaticX y la marca de hosting WaseerHost. Más de 100 proyectos entregados para pymes, agencias y startups financiadas.
