Retomar y bifurcar sesiones en Claude Code
Hola, bienvenido. En la lección anterior vimos que los checkpoints se guardan con la conversación y que puedes usar /rewind incluso después de retomar una sesión, y en esta lección vamos a ver precisamente eso: cómo se guardan las sesiones y cómo volver a ellas. Veremos dónde vive cada sesión en tu máquina, cómo retomar la última con --continue o elegir otra con --resume, qué recupera Claude Code al retomarla, cómo bifurcarla con /branch o --fork-session para probar otro camino sin perder el original, qué hace /fork y, por último, cuándo compensa más abrir una sesión nueva que seguir con la que tienes.
¿Por qué dedicarle una lección? Porque las tareas reales casi nunca caben en una sentada. Empiezas una feature por la tarde, cierras la terminal y al día siguiente quieres seguir donde lo dejaste sin volver a explicarle a Claude todo el contexto. Pero una sesión también arrastra todo lo que ha pasado en ella, incluidos los caminos que descartaste y las correcciones que tuviste que hacer, y eso pesa en cada petición. Saber cuándo retomar, cuándo bifurcar y cuándo empezar de cero es lo que te permite aprovechar el historial sin que se vuelva en tu contra.
Qué es una sesión y dónde se guarda
Una sesión es una conversación guardada y ligada al directorio del proyecto en el que la abriste. Claude Code la va guardando mientras trabajas, de forma continua, así que puedes volver a ella después de salir de Claude Code o de ejecutar /clear. Cada sesión es un archivo JSONL en ~/.claude/projects/<proyecto>/<id-de-sesion>.jsonl, donde <proyecto> es la ruta de tu directorio de trabajo con los caracteres que no son letras ni números cambiados por guiones. Por ejemplo, si tu proyecto está en /home/tu-usuario/code/claude-tasks, sus sesiones van a ~/.claude/projects/-home-tu-usuario-code-claude-tasks/.
Cada línea de ese archivo es un objeto JSON con un mensaje, una llamada a una herramienta o sus metadatos, y ese historial es lo que permite retomar, bifurcar y rebobinar. Eso sí, el formato es interno y cambia entre versiones, así que si quieres leer una conversación, lo recomendable es exportarla con /export, que te la da como texto plano, en lugar de leer el JSONL directamente.
Las sesiones no se guardan para siempre. Por defecto, Claude Code borra las transcripciones que tienen más de 30 días en una limpieza que lanza al arrancar, y el plazo se cambia con el ajuste cleanupPeriodDays. Si quieres borrar antes las de un proyecto, tienes el comando claude project purge.
Y un punto que conviene tener claro desde el principio: las sesiones son independientes. Cada sesión nueva empieza con la ventana de contexto limpia, sin nada de las conversaciones anteriores. Lo único que pasa de una sesión a otra es lo que guardes en CLAUDE.md y lo que Claude guarda en su auto memory, que veremos en la sección de memoria. Todo lo que vamos a ver en esta lección se refiere a las sesiones de la CLI, que es donde trabajamos en el curso.
- 02Retomar la última sesión con --continue
- 03Elegir una sesión con --resume
- 04Bifurcar una sesión con /branch y --fork-session
- 05Cuándo abrir una sesión nueva