El agente de IA borró archivos o datos: ¿qué hago ahora?
Qué hacer si un agente de IA borra archivos o datos, cómo recuperarlos con git, checkpoints y respaldos, y qué ajustes evitan que vuelva a pasar.
Read in English →
Si un agente de IA borró archivos o datos, detenlo de inmediato y no ejecutes nada más que escriba en el disco o en la base de datos. Después recupera desde la copia más cercana: git para los archivos que seguía, el checkpoint de la herramienta para lo que editó el propio agente, el historial local del editor o los respaldos de tu computadora para lo que nunca se guardó en git, y los respaldos de tu proveedor para los datos. Lo que se borra con un comando de terminal como rm no pasa por la papelera, así que lo que vale es la copia que tenías antes.
En esta guía verás qué hacer en los primeros diez minutos, cómo recuperar archivos en cada caso, qué pasa cuando lo borrado son datos de la base y qué ajustes de Cursor y Claude Code hacen mucho menos probable que se repita.
¿Qué hago en los primeros diez minutos?
- Detén al agente. Usa el botón de detener en Cursor o presiona
Escen Claude Code. No apruebes ningún comando pendiente. - No intentes "arreglarlo" todavía. Nada de mensajes nuevos, reinstalar paquetes ni restaurar un respaldo viejo encima. Cada escritura puede complicar la recuperación.
- Guarda la evidencia. Busca en el chat los comandos exactos que ejecutó el agente y cópialos con la hora. Eso te dice qué se borró y dónde.
- Define el alcance. ¿Fueron archivos del proyecto, archivos fuera de él, filas de una base de datos o algo en una cuenta en la nube, como un bucket de almacenamiento?
- Si hay datos reales de clientes en juego, piensa en pausar la app o desactivar registros y escrituras mientras recuperas, para que los datos nuevos no se mezclen con lo que vas a restaurar.
¿Cómo recupero los archivos borrados?
Recorre esta lista en orden. La mayoría de los casos se resuelve en el primer o el segundo paso.
Los archivos estaban en git
Ejecuta git status. Los archivos borrados aparecen como deleted:. Para traerlos de vuelta:
git restore ruta/al/archivo.ts # un archivo
git restore . # todo lo borrado o cambiado desde el último commit
Si el borrado ya quedó en un commit, busca el commit que eliminó el archivo y restáuralo desde el anterior:
git log --diff-filter=D --summary -- ruta/al/archivo.ts
git checkout <commit>~1 -- ruta/al/archivo.ts
Desapareció la carpeta completa, incluida .git
Si subiste el código a GitHub u otro remoto, vuelve a clonarlo. Solo pierdes lo que nunca subiste. Si nunca lo subiste, sigue con los pasos siguientes.
Los archivos nunca pasaron por git
- El deshacer de la herramienta. Restore Checkpoint en Cursor devuelve los archivos que editó el agente durante la sesión.
/rewinden Claude Code hace lo mismo con sus ediciones, pero su documentación de checkpointing aclara que no registra los archivos borrados o movidos con comandos de shell. - El historial local del editor. Los editores basados en VS Code guardan copias de los archivos que guardaste, en la vista Timeline. Crea un archivo con el mismo nombre y revisa su línea de tiempo.
- Los respaldos de tu computadora. Time Machine, el Historial de archivos de Windows o el historial de versiones de la carpeta en la nube, si el proyecto estaba en una.
- La sincronización de tu herramienta. Si la app viene de Lovable, Bolt o similar con sincronización a GitHub, ese repositorio quizá todavía tenga el archivo.
¿Y si el agente borró datos de la base de datos?
El código y los datos se recuperan por separado. Restaurar el código no devuelve una tabla eliminada.
Primero confirma qué pasó de verdad. A veces el agente borró filas solo en una base local o de pruebas, o una migración falló a medias. Revisa el SQL que ejecutó y mira las tablas de producción antes de suponer lo peor.
Si los datos de producción de verdad se perdieron, todo depende de los respaldos. En Supabase, según su documentación de respaldos:
| Plan | Respaldos diarios que se conservan | Recuperación a un punto en el tiempo |
|---|---|---|
| Free | No incluidos; Supabase recomienda exportar con regularidad con supabase db dump | No disponible |
| Pro | Últimos 7 días | Complemento pago |
| Team | Últimos 14 días | Complemento pago |
| Enterprise | Hasta 30 días | Complemento pago |
Dos trampas. Los respaldos de la base no incluyen los archivos guardados con Supabase Storage, solo sus metadatos. Y restaurar un respaldo devuelve toda la base a ese momento, así que pierdes lo escrito después si no lo exportas antes. Nuestra guía de respaldos de Supabase explica las opciones con más detalle.
No es un riesgo teórico. En julio de 2025 se difundió mucho el caso de una empresa cuya base de datos de producción borró el agente de Replit en plena congelación de código declarada. Lo que se repite en estas historias es un agente con credenciales reales y permiso para ejecutar comandos destructivos.
¿Cómo evito que vuelva a pasar?
Las reglas en un mensaje o en un archivo de instrucciones ayudan, pero son consejos para el modelo. Lo que de verdad bloquea son los ajustes.
En Cursor
Los modos de ejecución, en Settings > Agents > Approvals & Execution, deciden qué corre sin preguntarte. Evita Run Everything, que ejecuta todo sin controles. Deja activas File-Deletion Protection, que impide que el agente borre archivos por su cuenta, incluidos los comandos rm, y External-File Protection, que le impide cambiar archivos fuera del proyecto. No tomes .cursorignore como protección: la documentación de Cursor dice que la terminal y las herramientas MCP siguen pudiendo llegar a esos archivos.
En Claude Code
Trabaja en modo Manual o auto, y usa el modo que salta los permisos solo dentro de un contenedor o una máquina virtual aislada. Agrega reglas de bloqueo para los comandos que nunca quieres que se ejecuten. Estas reglas funcionan en todos los modos:
{
"permissions": {
"deny": [
"Bash(rm -rf *)",
"Bash(git push --force *)",
"Read(./.env)"
]
}
}
Guárdalas en .claude/settings.json para que valgan para todas las personas del proyecto.
En cualquier herramienta
- Deja las claves de producción fuera de la máquina donde trabaja el agente. Conecta el desarrollo local a una base de pruebas aparte. Un agente no puede borrar una tabla a la que no llega.
- Haz commit y sube el código seguido. Cada push es una copia fuera de tu equipo.
- Ten un respaldo propio. Aunque pagues un plan, una exportación programada que guardes en otro lado te protege de errores del agente y de problemas con la cuenta.
- Usa un entorno de pruebas para las migraciones, así corren primero donde no hacen daño. Mira si necesitas un entorno de staging.
Respuestas rápidas
¿Puedo recuperar archivos borrados con rm? No desde la papelera. Busca una copia en git, una entrada en el historial del editor o un respaldo del sistema. A veces las herramientas de recuperación de disco funcionan, pero primero deja de escribir en ese disco.
¿El checkpoint de Cursor restaura archivos borrados? Restaura los archivos que el agente modificó en la sesión. Para lo que se borró con comandos de terminal, recurre a git o a los respaldos.
¿Es seguro dejar que el agente ejecute migraciones? Contra una base de pruebas, sí. Contra producción, solo después de leer el SQL y con un respaldo reciente.
¿Tengo que avisar a mis usuarios? Si se perdieron o se expusieron datos personales, puede que la ley te obligue a notificar. Depende de dónde estás tú y dónde están tus usuarios, así que consúltalo con un abogado.
¿Necesitas ayuda para recuperarte?
Si recuperaste parte de los datos o del código pero la app ya no coincide con ellos, la guía sobre cómo deshacer los cambios del agente cubre el lado del código. Si quieres ayuda directa, mira nuestra página de ayuda con proyectos de Cursor o la de mantenimiento de software para respaldos y monitoreo continuos, o escríbenos y una persona te responde en un día hábil.


