Retomar una sesión de Claude Code: --resume, --continue y arreglos
Cómo reabrir una conversación pasada de Claude Code con claude --continue, el selector claude --resume o un ID de sesión — más dónde se guardan las sesiones, cómo funcionan los nombres y qué hacer cuando resume no encuentra nada.
En corto
- claude --continue (claude -c) reabre la conversación más reciente de la carpeta actual sin preguntar nada. claude --resume (claude -r) abre un selector interactivo de sesiones pasadas, o salta directo a una por ID de sesión o nombre.
- Cada sesión vive en disco como un transcript .jsonl en texto plano bajo ~/.claude/projects/<carpeta-proyecto>/<session-id>.jsonl, y se conserva 30 días por defecto (ajuste cleanupPeriodDays).
- Ponle nombre a la sesión mientras está abierta con /rename (o --name al arrancar) y retómala con claude --resume <nombre> — el nombre debe coincidir exactamente, carácter por carácter.
- "No sessions match" casi siempre significa carpeta equivocada o nombre mal escrito: las sesiones quedan atadas al directorio donde empezaron. Actualiza también Claude Code — solo la versión 2.1.288 arregló cuatro bugs de resume.
How to Resume an Old Session in Claude Code
Canal: Prompt & Flow2:37
Resume Claude Code Conversations FAST with One Simple Command
Canal: Vinod Sharma1:33
Save and Resume Any Claude Code Session | Next Session Prompt Skill
Canal: Kyle Chalmers | Data + AI4:27
CLI reference — official documentation
Documentación oficial: code.claude.com/docs
Cada flag, ruta y estado del selector de esta página está verificado contra la referencia CLI oficial y la documentación de data-usage. La grabación de terminal es la fuente visual — incluido el flujo completo de recuperación tras olvidar el nombre de una sesión; los dos vídeos con cámara aportan solo hechos: el repaso del flujo de resume y el flujo de trabajo de traspaso en markdown para mover sesiones entre máquinas.
Las capturas pertenecen a sus creadores y enlazan al instante exacto; no se usan fotogramas con cara.
Retomar una sesión de Claude Code, paso a paso
Parte 1 — Retomar con claude --resume
- 1
Ponle nombre a la sesión antes de cerrarla
Una sesión se retoma mejor cuando es fácil de identificar. En la grabación, el creador le pide a Claude Code que nombre la conversación abierta, ejecuta /rename [open session 1] y recibe la confirmación "Session renamed to: [open session 1]" — la insignia del nombre aparece junto a la caja de entrada. Después /exit cierra la sesión. No se borra nada: el transcript queda en el disco.

/rename [open session 1] confirmado con "Session renamed to: [open session 1]", luego /exit — el transcript sobrevive al cierre.Ver desde 0:27 - 2
Ejecuta claude --resume desde tu carpeta de proyecto
En una terminal nueva, escribe claude --resume (forma corta claude -r). Sin argumento abre un selector de sesiones pasadas; con argumento va directo a la sesión cuyo ID o nombre coincida — aquí claude --resume [session 1]. La trampa que la grabación está a punto de mostrar: ejecútalo en la carpeta donde empezó la sesión original. Aquí se lanzó desde C:\Users\Z, el directorio personal.

claude --resume [session 1] tecleado en PowerShell — desde el directorio personal, y eso está a punto de importar.Ver desde 1:04 - 3
Aprueba el aviso de confianza de la carpeta
La primera vez que Claude Code abre una carpeta hace una comprobación rápida de seguridad: "Is this a project you created or one you trust?" Elige "1. Yes, I trust this folder" y pulsa Enter. Este aviso va del acceso a archivos, no de sesiones — aparece porque la carpeta aún no es de confianza, y siempre precede al flujo de resume.

"Quick safety check" — 1. Yes, I trust this folder / 2. No, exit — antes de que Claude Code abra la carpeta.Ver desde 1:12 - 4
Busca en el selector Resume session
Sin coincidencia exacta, claude --resume abre el selector interactivo titulado "Resume session": una caja de búsqueda sobre las sesiones del proyecto actual. Escribe para filtrar, Enter para elegir, Esc para limpiar o cancelar. Si pasas un nombre, la búsqueda viene rellena — aquí [session — y la lista se actualiza mientras tecleas.

El selector "Resume session" filtra mientras tecleas — Enter selecciona, Esc limpia la búsqueda.Ver desde 1:16
Parte 2 — Cuando el selector no encuentra nada
- 5
"No sessions match" — estás en el directorio equivocado
La lección central de la grabación: el selector responde "No sessions match "[session 1]"." aunque la sesión existe, porque las sesiones pertenecen a la carpeta donde empezaron y el selector mira primero el proyecto actual. La línea de ayuda da la salida — "Ctrl+A to show all projects" — y desde la v2.1.223, --resume también busca en tus otros proyectos automáticamente; el build v2.1.220 del vídeo es anterior a eso.

"No sessions match "[session 1]"." — la sesión existe, pero el selector solo mira el directorio personal.Ver desde 1:22 - 6
Abre una sesión claude normal para investigar
Para recuperar la conversación por su contenido en vez de adivinar nombres, abre una sesión claude normal. La pancarta de bienvenida de la grabación hasta señala el error anterior — "Note: You have launched claude in your home directory" — confirmando que el selector vacío era un problema de directorio, no una sesión perdida.

Pancarta de bienvenida de Claude Code v2.1.220 en C:\Users\Z — la nota del home directory explica el selector vacío.Ver desde 1:33 - 7
Pídele a Claude que encuentre tu última sesión
Dentro de la sesión fresca, describe lo que quieres en lenguaje natural: "I forgot the name of my last session. Name it so I can resume it." Claude Code puede leer su propio historial de transcripts en disco, así que esto funciona incluso donde el selector no pudo ayudar.

"i forgot the name of my last session name it so i can resume it" enviado — Claude empieza a excavar.Ver desde 1:50 - 8
Claude lista ~/.claude/projects por fecha
Claude responde ejecutando un comando de shell sobre su propio almacenamiento: Get-ChildItem "C:\Users\Z\.claude\projects" -Recurse -Filter *.jsonl | Sort-Object LastWriteTime -Descending. Ese es exactamente el diseño documentado — cada conversación es un transcript .jsonl bajo ~/.claude/projects, agrupado en una subcarpeta por proyecto, conservado 30 días por defecto.

Get-ChildItem sobre C:\Users\Z\.claude\projects, solo *.jsonl, del más nuevo al más viejo — donde viven de verdad las sesiones.Ver desde 1:54
Parte 3 — Recuperarla por ID de sesión
- 9
Claude identifica cada transcript por su primer mensaje
El transcript más reciente es la sesión actual, así que Claude saca el primer mensaje de usuario de cada uno de los recientes — archivos como C:\Users\Z\.claude\projects\C--Users-Z\<session-id>.jsonl — para nombrarlos: un proyecto de investigación de señal WiFi, un run de "lets go to phase 2", un montaje de proyecto WhatsApp. Los primeros mensajes son una forma fiable de distinguir sesiones del mismo proyecto.

Extrayendo el primer mensaje de usuario de cada .jsonl bajo projects\C--Users-Z para distinguir las sesiones.Ver desde 2:07 - 10
Claude responde: retómala con claude --resume <id>
La respuesta nombra a la ganadora e imprime el comando exacto — "Resume it with: claude --resume 7d824e2f-2592-4625-b863-43d5f24670ab" — y después una tabla de las otras sesiones recientes con las columnas Session ID, Last active y Opened with, más una nota de que un ID era un inicio vacío y abortado, sin mérito para retomarlo.

"Resume it with: claude --resume 7d824e2f-…" más una tabla de Session ID, Last active, Opened with.Ver desde 2:18 - 11
Retoma la sesión por su ID
El ID de sesión es el asa. Cierra esta sesión de ayuda, cd a la carpeta del proyecto y ejecuta claude --resume <session-id> — o pasa la ruta absoluta del transcript .jsonl. Añade --fork-session para crear un nuevo ID de sesión en vez de continuar el original. La conversación se reabre con todo su contexto.

El ID de sesión tecleado en el prompt — claude --resume <id> reabre exactamente esa conversación.Ver desde 2:32
--resume vs --continue vs el selector de sesiones
Claude Code trae varios caminos que se solapan para volver a una conversación. Se diferencian en cuánto te hacen decidir:
- 1claude --continue (claude -c) — cero decisiones. Reabre la conversación más reciente del directorio actual, incluida una sesión en segundo plano terminada desde la v2.1.257. Para "acabo de cerrar la ventana equivocada".
- 2claude --resume (claude -r) sin argumento — el selector interactivo. Lista las sesiones de este proyecto (las vivas en segundo plano marcadas bg); Ctrl+A amplia a todos los proyectos, Esc cancela. Lo mejor cuando una carpeta guarda varias sesiones.
- 3claude --resume <id | nombre | ruta> — directo. Acepta un ID de sesión, un nombre exacto puesto con /rename o --name, o la ruta absoluta de un transcript .jsonl. Desde la v2.1.223 también busca en tus otros proyectos si el ID no está en este.
- 4/resume y /rename dentro de una sesión — cambia de conversación sin salir del REPL, y etiqueta la actual para que el claude --resume <nombre> de mañana dé en el blanco. Los nombres son únicos; un choque recibe un sufijo variante.
- 5claude --resume <id> --fork-session — rama en vez de continuación. Reutiliza el transcript pero acuña un nuevo ID de sesión, dejando la historia de la sesión original congelada como checkpoint.
- 6claude attach <id> — para sesiones que siguen corriendo en segundo plano. El selector marca bg a las vivas; tras el attach, tu siguiente prompt se convierte en el siguiente turno de esa sesión.
La grabación solo ejercita --resume, y --continue no aparece en ni un fotograma — ese es el alcance del vídeo, no el del conjunto de funciones. La referencia CLI oficial documenta ambos flags lado a lado; donde el vídeo calla, la comparación de arriba sigue la documentación.
Retomar una sesión de Claude Code no funciona — arreglos que sí sirven
La mayoría de los "resume no hace nada" se reducen a uno de estos casos. Recorre la lista:
- 1Directorio equivocado. El selector solo ve las sesiones del proyecto actual — la grabación falla exactamente así desde C:\Users\Z. cd a la carpeta donde empezó la sesión; desde la v2.1.223, --resume también busca en otros proyectos, pero la carpeta correcta sigue siendo el camino más rápido.
- 2Versión vieja. Solo la 2.1.288 arregló cuatro cosas: --resume perdía archivos que una compaction acababa de restaurar; una sesión retomada no guardaba la última respuesta del turno (el siguiente resume mostraba el prompt como sin responder); transcripts que cargaban cortados; y se perdía el thinking al retomar sesiones de la 2.1.286 o anterior. La 2.1.290 arregló --resume <session-id>; la 2.1.292, el modo plan en el selector.
- 3La sesión expiró. Los transcripts se conservan 30 días por defecto — el ajuste cleanupPeriodDays cambia la ventana — y las ejecuciones headless con -p no persisten sesiones para nada. claude rm solo quita una sesión de la lista; un transcript limpiado no lo retoma nadie.
- 4El nombre no coincide. --resume exige coincidencia exacta en los nombres. El claude --resume [session 1] de la grabación falla dos veces: el nombre real era "open session 1", y los corchetes pasaron a formar parte de la búsqueda. Quita los corchetes y entrecomilla los nombres con espacios.
- 5--continue agarra lo que no es. Se salta las sesiones de modo print (-p)/SDK y de /loop, y solo mira el directorio actual — si otra sesión tocó la carpeta desde entonces, déjalo y retoma por ID.
- 6Otro ordenador. ~/.claude/projects es local — una sesión creada en tu portátil no existe en tu sobremesa. Copia la carpeta del proyecto a la otra máquina conservando la estructura, o adopta el traspaso en markdown: pide a Claude que escriba el estado de la sesión, las decisiones y los siguientes pasos en un archivo, sincroniza y continúa en la otra máquina.
¿Nada de lo anterior ayuda? Abre ~/.claude/projects y mira la fecha del archivo .jsonl. Si está, claude --resume con su ruta absoluta es la entrada por la fuerza bruta; si no está, esa conversación nunca llegó al disco.
