Deshacer y recuperar una modificación
Para deshacer la última acción de Claude Code en la sesión en curso, el menú de puntos de reanudación abierto por /rewind precede ahora a Git, que sigue siendo necesario para todo lo que este sistema no sigue: una modificación hecha por un comando bash, la edición de un subagente en segundo plano, o un archivo enlazado por un enlace simbólico o físico.
Deshacer la última modificación de Claude Code en la sesión en curso ya no pasa, en primer lugar, por Git. El menú de puntos de reanudación, abierto por /rewind o una doble pulsación de Escape cuando la línea de entrada está vacía, propone tres opciones distintas: restaurar el código y la conversación, solo la conversación, o solo el código, hasta un instante anterior de la misma sesión. Pedirle en lenguaje natural a Claude Code que deshaga su última modificación activa este mismo mecanismo. Este camino cuesta menos que un rodeo por Git para una acción todavía reciente: sin commit que buscar, sin rama que recrear, solo un retorno inmediato en la misma sesión.
Lo que el sistema de puntos de reanudación no sigue
La documentación oficial acota ella misma su alcance: este sistema no es un reemplazo del control de versiones, y para un historial permanente o el trabajo en equipo, recomienda seguir usando Git, para los commits, las ramas y el historial a largo plazo. Se añaden tres límites concretos, cada uno correspondiente a un trabajo que Claude Code no hizo él mismo con sus propias herramientas de edición. Las modificaciones hechas por un comando bash, rm, mv o cp, no se siguen: solo las ediciones pasadas por las herramientas de edición de archivos de Claude lo son. Las ediciones hechas por un subagente en segundo plano también escapan a la restauración. Un archivo enlazado por un enlace simbólico o un enlace físico se ignora durante una restauración.
Git sigue siendo la herramienta para lo que los puntos de reanudación ignoran
git restore retira una modificación no confirmada del directorio de trabajo. git reflog encuentra cualquier posición anterior de HEAD, incluido un commit que parece perdido después de un reset mal hecho.
git reflog
# muestra cada posición de HEAD, la más reciente primero
git branch securite <hachage-retrouve>
# recrea una rama desde un estado encontrado, sin tocar la rama en curso
Recrear una rama desde un hash encontrado en el reflog sigue siendo preferible a un git reset --hard: el reset sobrescribe el estado actual, la rama de seguridad lo conserva aparte sin perder nada. Verificar el reflog cuesta un comando, un reset mal dirigido puede costar toda una tarde de trabajo para recuperarlo a mano. Esta misma distinción entre un retroceso y un borrado definitivo se encuentra, aplicada a una conversación entera en lugar de a un archivo, en bucles, contexto contaminado y reinicio.
De la modificación indeseada a la rama de seguridad
Un desarrollador constata que una modificación aplicada por Claude Code cinco minutos antes rompe un test. Abre el menú de puntos de reanudación con una doble pulsación de Escape y selecciona la opción que restaura solo el código, hasta el instante anterior a esa modificación.
Escriba en una frase lo que esta situación establece, y en una frase lo que no establece.
Lo que esto establece: El desarrollador usó el menú de puntos de reanudación para restaurar el código a un instante anterior a la modificación sospechosa, sin pasar por un comando Git.
Lo que esto no establece: Esto no establece que la modificación deshecha fuera la causa real del fallo del test, ni que ese mismo retroceso hubiera funcionado si la modificación se hubiera hecho con un comando bash en lugar de con una herramienta de edición de Claude.
Los tres calibrados falsos más frecuentes
- Demasiado amplio El menú de puntos de reanudación ahora restaura cualquier modificación hecha durante la sesión, sea cual sea su origen.
- Demasiado estrecho Esta restauración no prueba nada, ya que solo afectó al código y no a la conversación.
- Fuera de tema Esta situación muestra que el test roto había sido escrito antes de la modificación aplicada por Claude Code.
- El menú de puntos de reanudación, abierto por /rewind o un doble Escape, restaura el código y la conversación, solo la conversación, o solo el código, hasta un instante anterior de la misma sesión.
- La documentación oficial presenta este sistema como un complemento a Git, no un reemplazo, para el historial permanente y el trabajo en equipo.
- Las modificaciones hechas por un comando bash como rm, mv o cp, las ediciones de un subagente en segundo plano, y los archivos enlazados por un enlace simbólico o físico escapan todos a una restauración por puntos de reanudación.
- git restore retira una modificación no confirmada del directorio de trabajo, git reflog encuentra cualquier posición anterior de HEAD, incluido un commit aparentemente perdido.
- Recrear una rama desde un hash encontrado en el reflog conserva el estado actual aparte, mientras que un git reset --hard lo sobrescribe.
Antes de cualquier git reset --hard en su repositorio, lance git reflog, localice el hash del estado que quiere conservar, y cree una rama de seguridad desde ese hash antes de continuar.
Cada afirmación datable de esta lección remite aquí al texto público que la respalda. Una fuente que no se abre no prueba nada.
- Claude Code, puntos de reanudación, rewind, alcance y límites frente a Git consultée le 2026-09-02
- Git, documentación oficial del comando restore consultée le 2026-09-02
- Git, documentación oficial del comando reflog consultée le 2026-09-02