TL;DR
claude purge <ruta> --dry-runte enseña todo lo que Claude Code guarda de ese proyecto. Quita--dry-runy lo borra de una vez, después de pedirte confirmación. Antes se llamabaclaude project purge.
claude purge borra todo lo que Claude Code guarda en tu disco sobre un proyecto, y eso no es solo la carpeta de conversaciones. Son las transcripciones y la memoria de ~/.claude/projects/, las tareas, los logs de depuración y el historial de ediciones de cada sesión, tus prompts en history.jsonl y la entrada del proyecto en ~/.claude.json. A mano son cinco sitios distintos. Con purge, un comando.
Si solo quieres quitar una conversación, no te hace falta: borra su .jsonl en la carpeta donde vive en texto plano. purge va por proyectos.
Esto es lo que salió en mi proyecto de wmedia.es (recortado):
$ claude purge ~/Herd/wmedia --dry-run
Purge plan for /Users/juan.nunez/Herd/wmedia:
dir: /Users/juan.nunez/.claude/file-history/1c13ffa7-eacf-4291-8c94-5b73e6369307
file edit history for session 1c13ffa7-eacf-4291-8c94-5b73e6369307
... (6 sesiones más con su file-history)
dir: /Users/juan.nunez/.claude/projects/-Users-juan-nunez-Herd-wmedia
project transcripts (.jsonl) and memory/
dir: /Users/juan.nunez/.claude/projects/-Users-juan-nunez-Herd-wmedia--claude-worktrees-ia-empresa-coste-legalidad-etica-6e2400
project transcripts (.jsonl) and memory/
config: projects["/Users/juan.nunez/Herd/wmedia"]
project entry in ~/.claude.json (trust, history, MCP servers)
shell-snapshots/ are not project-scoped and will not be touched
backups/ may still contain this project entry in old .claude.json snapshots (/Users/juan.nunez/.claude/backups); at most 5 are kept and they rotate out automatically
Dry run: 10 item(s) would be deleted.
Diez elementos, y solo la carpeta de transcripciones ocupaba 606 MB. Fíjate en la segunda carpeta de projects/: las sesiones de un worktree también caen.
Cuándo usarlo
- Pegaste un secreto en una sesión. Un token que se coló en un prompt o en la salida de un comando se queda escrito en la transcripción.
- Cierras o entregas un proyecto. No dejas en tu máquina conversaciones de un repo que ya no es tuyo.
- Recuperas espacio. Proyecto a proyecto, sabiendo antes qué se va.
Cómo se usa
1. Mira el plan primero
claude purge ~/work/mi-repo --dry-run
No borra nada. Sin ruta, te deja elegir el proyecto de una lista.
2. Bórralo
claude purge ~/work/mi-repo
Según la documentación, imprime el mismo plan y pregunta Delete N item(s) for ...? This cannot be undone. [y/N]. Solo borra si respondes y.
| Opción | Qué hace |
|---|---|
--dry-run |
Enseña el plan sin borrar |
-i |
Te pide confirmación elemento a elemento |
-y |
Se salta la confirmación, para scripts |
--all |
Todos los proyectos; borra history.jsonl entero en vez de filtrarlo |
Lo que te llevas por delante
La entrada de ~/.claude.json guarda la confianza en la carpeta y los MCP servers que añadiste con claude mcp add en el scope local, el de por defecto. Después de purge, la próxima sesión en esa carpeta te vuelve a preguntar si confías en ella, y esos MCP ya no están. Si los quieres conservar, pásalos antes a .mcp.json con --scope project.
Y la memoria va en el mismo lote que las transcripciones: es un único elemento del plan. Para limpiar solo la memoria, purge no te sirve.
Lo que no borra
backups/: hasta cinco copias antiguas de~/.claude.jsonque pueden seguir llevando la entrada del proyecto. Rotan solas, pero si lo que se filtró está ahí, bórralas a mano.shell-snapshots/: no son de ningún proyecto.- Las imágenes que pegaste y el scratchpad de cada sesión: viven en el directorio temporal. Las imágenes se van con
cleanupPeriodDays. - Los
.heapsnapshotde/heapdump: llevan la conversación completa y nadie los limpia.
Un aviso: en un proyecto con mucho historial, el --dry-run puede tardar. En el repo donde escribo estos tips, con cientos de sesiones, no había terminado a los tres minutos. Y la documentación no dice qué pasa si borras un proyecto con una sesión abierta en él: ciérrala antes.
Para el otro extremo, llevarte todo esto a otra máquina en vez de borrarlo, está qué copiar de ~/.claude al migrar.
Documentación oficial: Clear local data · CLI reference
Requisitos
- Claude Code v2.1.288 o posterior, que es cuando
claude project purgepasó aclaude purge. Probado en v2.1.293. - Con el nombre viejo, la CLI te avisa:
`claude project purge` is now `claude purge`.