Para deshacer los cambios de Claude Code, usa /rewind para las ediciones de la sesión actual, git para todo lo que hayas confirmado o puedas restaurar desde el repositorio, y los checkpoints de AgentVera cuando quieras devolver toda la carpeta de trabajo al inicio de un turno concreto de un agente. Cada uno cubre un hueco distinto. Saber cuál usar te evita perder trabajo mientras deshaces el del agente.
Esta guía compara los tres, muestra los pasos exactos de cada uno y lista lo que a cada uno se le escapa. Esa última parte suele ser la que muerde.
La respuesta corta
| Quieres deshacer | Usa | Ojo con |
|---|---|---|
| Las últimas ediciones de esta sesión de Claude Code | /rewind o Esc dos veces | Los cambios de comandos de shell no se registran |
| Cambios en un archivo con seguimiento | git restore <file> | Las ediciones sin confirmar de ese archivo se pierden |
| Todo desde el último commit | git stash -u o git reset --hard + git clean | clean borra los archivos sin seguimiento para siempre |
| Un cambio confirmado | git revert <commit> | Crea un commit nuevo que lo invierte |
| Un turno del agente, incluidos los archivos que creó con comandos de shell | Checkpoints de AgentVera | También revierte a otros agentes en la misma carpeta |
Opción 1: /rewind dentro de Claude Code
Claude Code guarda checkpoints mientras edita archivos. Para volver atrás, pulsa Esc dos veces o ejecuta /rewind. Eliges un mensaje de la sesión y luego qué restaurar:
- Solo el código: los archivos vuelven a como estaban en ese mensaje, y la conversación se queda.
- Solo la conversación: la conversación vuelve atrás, y los archivos se quedan como están.
- Ambos: un paso atrás limpio hasta ese punto.
Es el deshacer más rápido mientras sigues en la sesión, y es el primer movimiento correcto cuando el agente acaba de hacer una mala edición.
Lo que se le escapa: los checkpoints de Claude Code registran las ediciones que hacen sus propias herramientas de archivos. Los cambios hechos por comandos de shell, como rm, mv, un generador de código o un script de migración, no se registran. Tampoco los cambios de otras sesiones u otras herramientas en la misma carpeta. /rewind es una comodidad, no un sustituto del control de versiones.
Opción 2: git
Git es el deshacer que funciona con cualquier herramienta, siempre que el trabajo que quieres conservar o descartar sea algo que git pueda ver.
# See what changed
git status
git diff
# Throw away changes to one tracked file
git restore src/api/user.ts
# Park everything, including new files, and keep it in case you need it
git stash -u
# Drop all uncommitted changes to tracked files
git reset --hard
# Delete untracked files and folders (check first with -n)
git clean -n -d
git clean -f -d
# Reverse a commit the agent already made
git revert <commit>
Dos hábitos hacen de git un deshacer mucho mejor para el trabajo de los agentes:
- Haz commit antes de poner a un agente con una tarea. Así
git diffmuestra exactamente lo que hizo el agente, ygit stash -uogit reset --hardte devuelve atrás. - Dale a cada agente su propio worktree. Así deshacer a un agente nunca toca el trabajo de otro. Consulta git worktrees para agentes en paralelo.
Lo que se le escapa: todo lo que haya entre commits. Si hiciste tus propias ediciones en los mismos archivos mientras trabajaba el agente, git reset --hard también se lleva las tuyas. git clean borra los archivos sin seguimiento para siempre, así que ejecútalo siempre antes con -n.
Opción 3: checkpoints de AgentVera
AgentVera añade un deshacer por turno que queda entre los dos. Funciona con cualquier CLI de agente que se ejecute en una carpeta local, no solo con Claude Code.
Cómo funcionan las instantáneas
Al inicio de cada turno, AgentVera toma una instantánea de la carpeta de trabajo del agente (su worktree, o la carpeta del proyecto). La instantánea cubre los archivos con y sin seguimiento y respeta .gitignore. Se guarda como un commit bajo una ref oculta, refs/agentvera/checkpoints/…. Tus ramas, el índice, el stash y HEAD no cambian, y nada aparece en git log ni en git status.
Se guardan los últimos 60 turnos por agente. Al borrar el agente se descartan sus instantáneas. El proyecto tiene que ser un repositorio Git. La primera instantánea se toma cuando le envías un mensaje al agente (o escribes a Claude en la terminal).
Revertir un turno
- En la cabecera del panel del agente, pulsa Turns («Turns and rollback»). En un panel estrecho está en Options.
- La lista muestra los turnos del más reciente al más antiguo, cada uno con su número, su prompt y la hora. Un turno escrito directamente en la terminal aparece como «Turn typed in the terminal».
- Expande un turno para ver los archivos que cambió, marcados como added, modified o deleted, con el recuento de líneas.
- Pulsa Roll back this turn y confirma con Roll back turn.
La carpeta de trabajo vuelve al inicio de ese turno. Los archivos añadidos después se borran, y los archivos cambiados o borrados se restauran. Luego AgentVera informa de cuántos archivos restauró. Si el agente sigue trabajando, el diálogo recomienda detenerlo antes, para que no siga editando mientras la carpeta cambia bajo sus pies.
Deshacer la reversión
Antes de revertir, AgentVera guarda aparte el estado actual. Aparece arriba de la lista como State before the rollback. Pulsa Return to this state para recuperar exactamente lo que tenías. Así que probar una reversión es seguro. Si resulta que el cambio del agente estaba bien, puedes volver a él.
Desde el móvil
Si controlas los agentes desde Telegram, los botones del agente incluyen ↩️ Undo last turn. Muestra la lista de archivos y te pide confirmar. Después todavía puedes deshacerlo desde la lista de checkpoints en el escritorio. Consulta control por Telegram.
Lo que se le escapa
- Otros agentes en la misma carpeta. Una reversión restaura la carpeta, así que los cambios posteriores de otros agentes que trabajen en esa carpeta también se revierten. La confirmación lo dice. Los worktrees lo evitan.
- Archivos ignorados. Los archivos que coinciden con
.gitignore, comonode_moduleso un.envlocal, no forman parte de la instantánea. - Cosas fuera de la carpeta. Una base de datos que el agente migró, un paquete que publicó o un push que hizo no son archivos de la carpeta, así que ninguna instantánea de carpeta puede deshacerlos.
- Agentes por SSH y terminales simples. No se toma checkpoint para los agentes de un servidor remoto, porque sus carpetas no están en este ordenador.
Cuál usar y cuándo
- El agente acaba de hacer una mala edición y sigues en la sesión:
/rewind. - El agente ejecutó un script que borró o generó archivos: checkpoints de AgentVera o git, no
/rewind. - Varios turnos fueron por mal camino: revierte al inicio del primer turno malo en Turns. Puedes volver al estado actual si cambias de opinión.
- El trabajo está confirmado:
git revert. - Quieres empezar de cero toda la tarea:
git stash -uogit reset --hard, si hiciste commit antes de empezar.
Menos deshacer desde el principio
Deshacer es la red de seguridad, no el plan. Unos cuantos hábitos hacen que la necesites menos:
- Prompts pequeños y acotados. Un turno que cambia tres archivos es fácil de revisar y fácil de revertir.
- Planifica primero el trabajo arriesgado. Pide al agente que describa el cambio antes de hacerlo.
- Revisa cada turno. La revisión de código de AgentVera puede revisar el código de un agente al final de cada turno. Revisión de código con IA explica qué buscar.
- Deja los comandos destructivos tras una aprobación. Seguridad de los agentes de código con IA cubre permisos, aislamiento con Docker y aprobaciones.
Para terminar
No hay un único deshacer para un agente de código con IA. /rewind es rápido para las ediciones de la sesión actual. Git cubre todo lo que puede ver, mejor si haces commit antes de cada tarea. Los checkpoints de AgentVera llenan el hueco entre ambos con una instantánea de toda la carpeta de trabajo en cada turno, una reversión que a su vez se puede deshacer y el mismo botón en tu móvil. La página de checkpoints y replay también cubre la reproducción de sesiones, que repite una sesión de Claude o Codex paso a paso para que veas dónde se torció.