Por qué un rebobinado devuelve menos de lo que esperas
El checkpointing tiene un desencadenante preciso. Anthropic escribe: "A medida que trabajas con Claude, el checkpointing captura automáticamente el estado de tu código antes de cada prompt que envías y que inicia un turno", y el mecanismo es por prompt: "Cada prompt que envías y que inicia un turno crea un nuevo checkpoint".
La frase clave aquí es "que inicia un turno". Si escribes algo mientras Claude está a mitad de una tarea, la documentación es explícita sobre lo que sucede: "Cuando un mensaje que pones en cola mientras Claude trabaja llega a Claude dentro del turno en ejecución, se une a ese turno en lugar de iniciar uno nuevo. El mensaje aparece en la conversación, pero Claude Code no crea un checkpoint para él, y el menú de rebobinado no lo enumera". Anthropic también ofrece la solución de recuperación: "Para eliminar dicho mensaje, o deshacer las ediciones que Claude hizo después de él, rebobina al prompt que inició el turno. Eso rebobina todo el turno, incluido el trabajo que Claude hizo antes de que llegara tu mensaje".
El alcance del rastreo es igualmente específico. "El checkpointing no rastrea los archivos modificados por comandos de Bash", escribe Anthropic, y continúa con el límite: "Solo se rastrean las ediciones directas de archivos realizadas a través de las herramientas de edición de archivos de Claude". Un archivo que un script movió queda fuera de la instantánea.
Los subagentes se dividen según cómo se ejecutan. Anthropic señala que un subagente "realiza ediciones con las herramientas de edición de archivos de Claude, pero Claude Code generalmente no captura esas ediciones en los checkpoints de tu sesión", y separa los casos: una habilidad (skill) bifurcada al primer plano "edita tu árbol de trabajo durante tu propio turno, por lo que rebobinar restaura sus ediciones como de costumbre", mientras que para "Cualquier otro subagente: rebobinar no restaura las ediciones. Usa git para revertirlas".
El trabajo realizado en paralelo también queda fuera del encuadre: "El checkpointing solo rastrea los archivos que se han editado dentro de la sesión actual. Los cambios manuales que realices en los archivos fuera de Claude Code y las ediciones de otras sesiones concurrentes normalmente no se capturan, a menos que coincida que modifiquen los mismos archivos que la sesión actual". Si tenías dos terminales abiertas, solo una de ellas estaba guardando las instantáneas que estás a punto de restaurar.
Y hay una categoría que sí te advierte, silenciosamente. Anthropic afirma que "El checkpointing no rebobina archivos con enlaces simbólicos o duros", que Claude Code "omite cualquier ruta rastreada que sea un enlace simbólico o duro y muestra una advertencia Restored the code, but skipped N files", y que "Los archivos omitidos conservan su contenido actual". Los gestores de dotfiles y algunos gestores de paquetes colocan archivos exactamente en esta categoría.
Finalmente, el detalle del tiempo. Las instantáneas no viven para siempre: "Claude Code conserva las instantáneas de archivos para los 100 checkpoints más recientes de una sesión", y por separado, "Claude Code elimina las instantáneas de archivos de una sesión en el barrido de retención, por defecto unos 30 días después de que la sesión guardó la última". La consecuencia tiene nombre: "Rebobinar a un checkpoint cuyas instantáneas han desaparecido puede fallar con No files were restored". El control documentado es una configuración: "Para conservar las instantáneas por más tiempo, configura cleanupPeriodDays".
Lo que la gente intenta en su lugar
Pedirle a Claude que deshaga su último cambio. Funciona lo suficientemente a menudo como para convertirse en un hábito, y es una reedición en lugar de una restauración. Obtienes un nuevo estado que se parece al anterior, lo cual no es lo mismo que el anterior.
Recurrir a /clear cuando una sesión sale mal. Esto limpia la conversación, pero no es una reversión de tus archivos. Anthropic documenta un puente de regreso: si ejecutaste /clear anteriormente en el mismo proceso de Claude Code, "el menú de rebobinado muestra una entrada adicional en la parte superior de la lista etiquetada como /resume <session-id> (previous session)", lo que requiere una versión reciente.
Rebobinar cuando lo que realmente quieres es más espacio de contexto. Dos necesidades diferentes comparten un mismo menú. Las opciones de resumen comprimen la conversación; las opciones de restauración cambian el estado. Anthropic las separa claramente: "Resumir no cambia los archivos en el disco, y los mensajes originales permanecen en la transcripción de la sesión, por lo que Claude aún puede hacer referencia a los detalles". Elegir qué sobrevive a la compresión es un ejercicio en sí mismo, y lo analizamos en dirigir el auto-compactado hacia lo que necesitas conservar.
Tratar la transcripción de la sesión como el registro. Las transcripciones son excelentes para rastrear lo que sucedió y malas como un lugar para buscar cosas más tarde, una distinción que señalamos en registros de sesión indexados frente a memoria.
Usar checkpoints como control de versiones. Anthropic aborda esto directamente: "Los checkpoints están diseñados para una recuperación rápida a nivel de sesión. Para un historial de versiones permanente y colaboración, continúa usando el control de versiones, como Git, para commits, ramas e historial a largo plazo".
Rebobinar para explorar un enfoque alternativo. Existe un mecanismo dedicado para eso, y la documentación lo señala: para ramificar y probar un enfoque diferente mientras mantienes intacta la sesión original, usa /branch. Rebobinar para explorar significa sobrescribir aquello que quizás quieras recuperar.
La solución: Leer el menú como dos operaciones y saber qué ediciones están dentro del alcance
Todo se vuelve más fácil una vez que dejas de pensar en /rewind como un solo botón.
Step 1: Abre el menú y observa qué opciones se ofrecen
Anthropic ofrece dos formas de entrar: "Ejecuta /rewind, o presiona Esc dos veces cuando la entrada del prompt esté vacía, para abrir el menú de rebobinado". Hay una advertencia que vale la pena conocer antes de hacerlo: si la entrada tiene texto, un doble Esc la borra en su lugar, aunque el texto borrado se guarda en tu historial de entrada.
El menú enumera cada prompt que enviaste y ofrece hasta seis acciones: "Restore code and conversation (Restaurar código y conversación): revierte tanto el código como la conversación a ese punto", "Restore conversation (Restaurar conversación): rebobina a ese mensaje mientras mantiene el código actual", "Restore code (Restaurar código): revierte los cambios de archivos mientras mantiene la conversación", "Summarize from here (Resumir desde aquí)", "Summarize up to here (Resumir hasta aquí)" y "Never mind (No importa)".
Qué opciones ves es, en sí mismo, información. Anthropic explica: "Las dos opciones de restauración de código aparecen solo cuando el checkpoint seleccionado tiene cambios de archivos rastreados para revertir. Si no se capturaron ediciones de archivos después de ese punto, el menú ofrece solo Restore conversation, las opciones de resumen y Never mind". Así que si las opciones de código están ausentes en un punto donde estás seguro de que Claude cambió archivos, esa es tu señal de que los cambios provinieron de algún lugar fuera del conjunto rastreado: un comando de Bash, un subagente en segundo plano u otra sesión.
Una comodidad que puedes esperar: "Después de restaurar la conversación o elegir Summarize from here, el prompt original del mensaje seleccionado se restaura en el campo de entrada para que puedas volver a enviarlo o editarlo".
Step 2: Verifica las cuatro categorías fuera de alcance antes de confiar en la restauración
Repasa la lista, en el orden en que es más probable que te afecte:
¿Pasó algo a través de un comando de Bash? Esas modificaciones de archivos, en palabras de Anthropic, "no se pueden deshacer mediante el rebobinado".
¿Un subagente en segundo plano hizo el trabajo? Para cualquier subagente que no sea una habilidad bifurcada en primer plano, "rebobinar no restaura las ediciones. Usa git para revertirlas".
¿Había una segunda sesión abierta en el mismo repositorio? Las ediciones de otras sesiones concurrentes "normalmente no se capturan, a menos que coincida que modifiquen los mismos archivos".
¿Alguna de las rutas tiene enlaces simbólicos o duros? Esas se omiten con una advertencia que indica una cantidad en lugar de los nombres de los archivos. Para ver cuáles fueron, Anthropic documenta un diagnóstico: "activa el registro de depuración con /debug antes de restaurar: el registro de depuración en ~/.claude/debug/<session-id>.txt nombra cada ruta omitida".
Step 3: Escribe la conclusión antes de borrar la evidencia al rebobinar
Un rebobinado suele ser el final de un intento que te enseñó algo: esta biblioteca no hace lo que sugieren los documentos, este cambio de esquema rompe ese trabajo, este enfoque se abandonó por una razón. Restaurar el código y la conversación elimina la transcripción que contenía el hallazgo junto con el código.
Tómate treinta segundos primero. Una frase sobre lo que no funcionó y por qué vale más que la rama que estás descartando, y es lo que de otro modo volverás a descubrir el próximo mes. El mismo razonamiento se aplica a los comandos e invocaciones que descifraste en el camino, que es la brecha descrita en cuando Claude Code olvida tu historial de comandos.
Configuración de esto en MemoryLake
Un checkpoint está diseñado para la recuperación a nivel de sesión en un horizonte de aproximadamente un mes. Las conclusiones a las que llegas dentro de una sesión necesitan un lugar con un horizonte más largo. MemoryLake es un almacén en el que escribes esas conclusiones a propósito, fuera de las instantáneas de cualquier sesión individual, y legible desde cada asistente que conectes. Tú mismo escribes las entradas, con tus propias palabras. No se lee, escribe ni elimina nada de los sistemas de Anthropic ni del almacén de ningún otro proveedor; tus checkpoints, transcripciones y archivos locales permanecen completamente bajo sus propios controles.
Step 1: Crea una clave API
Genera una clave desde el panel de control. Es lo que permite que una sesión de terminal, un editor y un asistente de chat accedan al mismo conjunto de hechos sin que cada uno de ellos tenga que volver a aprenderlos a partir de una transcripción.

Step 2: Sube tus primeras memorias
Comienza con los resultados de los intentos abandonados: el enfoque del que te alejaste al rebobinar, la razón por la que falló, la restricción que surgió. Agrega también los detalles operativos que un rebobinado borra: la invocación que finalmente funcionó, la bandera que importaba, el orden en que debían ejecutarse los pasos.

Step 3: Conecta tu AI & agentes
Apunta tus herramientas a la capa de memoria para que esos hechos se carguen al inicio de una sesión en lugar de reconstruirse a partir de lo último en el historial. Luego pruébalo correctamente: pídele a un asistente diferente que te diga por qué abandonaste el enfoque. Si responde, el hallazgo sobrevivió a la sesión que lo produjo.

Qué cambia esto en la práctica
El primer cambio es que una restauración parcial deja de ser confusa. Cuando los archivos que esperabas revertir siguen ahí, las cuatro categorías fuera de alcance lo explican, y las opciones de código atenuadas en el menú a menudo te lo advirtieron de antemano.
El segundo es que separas "volver atrás" de "hacer espacio". Restaurar cambia el estado; resumir comprime la conversación y no toca los archivos, dejando los mensajes originales en la transcripción. Una vez que esa división está clara, dejas de usar uno cuando necesitabas el otro. Es la misma división que aparece en cada agente con un paso de compactación, razón por la cual decidir qué sobrevive a la compactación es un ejercicio recurrente en lugar de algo único.
El tercero es que el barrido de retención de aproximadamente 30 días se convierte en algo que planificas en lugar de algo que descubres. Una sesión antigua que pretendías rebobinar eventualmente ya no se puede, y cleanupPeriodDays es la respuesta documentada si necesitas más tiempo.
El cuarto es que el trabajo abandonado comienza a producir algo. Si cada rebobinado deja atrás una frase escrita, los fallos se acumulan en conocimiento en lugar de desvanecerse con la instantánea.
Mejores prácticas para rebobinar una sesión de Claude Code
Envía tus correcciones como su propio turno. Un mensaje que se une a un turno en ejecución no obtiene checkpoint y no aparece en el menú de rebobinado. Esperar a que termine el turno te asegura un punto de restauración.
Haz un commit antes de dar rienda suelta a un agente. Los checkpoints son para la recuperación a nivel de sesión; Git es el historial permanente, por recomendación de la propia Anthropic.
Prefiere Restaurar código cuando quieras conservar el razonamiento. Revertir los archivos mientras mantienes la conversación te permite intentarlo de nuevo con todo lo que aprendiste aún en pantalla.
Activa el registro de depuración antes de una restauración que te importe. Es la forma documentada de averiguar qué rutas con enlaces simbólicos o duros se omitieron, en lugar de leer solo una cantidad.
No asumas nada sobre las sesiones paralelas. Solo la sesión que realizó una edición conserva la instantánea de la misma.
Escribe el hallazgo antes de Restaurar código y conversación. Esa opción es la única que elimina tanto el estado como el registro de por qué lo cambiaste. El hábito de mantener las partes reutilizables en un lugar permanente se trata en hacer que Claude Code recuerde tu historial de comandos.
Conclusión
/rewind hace lo que Anthropic dice que hace: restaura el código, la conversación o ambos, al estado anterior a un prompt que elijas de la lista. El menú en sí está bien diseñado, incluido el detalle de que las opciones de restauración de código solo aparecen cuando hay cambios de archivos rastreados para revertir.
Lo que hace que rebobinar parezca poco confiable es el conjunto de cambios fuera de su alcance, y Anthropic publica ese conjunto en su totalidad: archivos modificados por comandos de Bash, ediciones de la mayoría de los subagentes, cambios manuales y de sesiones concurrentes, rutas con enlaces simbólicos y duros, y mensajes que se unieron a un turno que ya estaba en progreso. Cada uno de ellos está documentado y ninguno se anuncia en el momento.
Agrega el detalle de la retención (instantáneas para los 100 checkpoints más recientes, eliminadas por defecto unos 30 días después de que una sesión guardó la última, con cleanupPeriodDays disponible si necesitas más tiempo) y tendrás la forma real de la función: una excelente recuperación a corto plazo, deliberadamente no un historial de versiones.
Usa Git para la permanencia, /branch para explorar alternativas, las opciones de resumen para la presión del contexto y /rewind para aquello para lo que fue diseñado. Luego, escribe lo que te enseñó cada intento abandonado, porque eso es lo único que ninguna instantánea guardará jamás.