Cómo mover una sesión de Claude, Codex u OpenCode a otra máquina (sin empezar de cero)
Mantén la misma conversación, cambia qué máquina es dueña de la sesión y, si quieres, mueve también el espacio de trabajo.
- CLI
- 0.2.17
- Ref de preview
- a2c45c8
Un momento típico al final del día:
- Una sesión empezó en el portátil.
- El portátil tiene que cerrarse (o se va a quedar sin batería, entrar en reposo, perder el Wi-Fi o volver a la mochila).
- La sesión no debería pararse. Debería seguir, pero en otra máquina.
Eso es lo que promete de verdad el traspaso de sesión:
el mismo id de sesión, el mismo hilo… pero otra máquina como dueña.
La mayoría de las herramientas no ofrecen un flujo limpio para "pasar toda la sesión a otra máquina".
Happier sí: se llama Session handoff.
En resumen
- Decide qué quieres hacer:
- Mover la sesión a otra máquina (para poder cerrar el portátil)
- opcionalmente: mover también el espacio de trabajo (si el destino aún no tiene los archivos)
- Configura Happier en los dos ordenadores (o al menos conecta los dos al mismo servidor de Happier).
- Abre la sesión e inicia Session handoff (menú de la cabecera de la sesión o Información de la sesión (Session info)).
- Elige la máquina de destino.
- Decide:
- Workspace transfer: desactivado por defecto (la opción prudente)
- Si es una sesión directa: Keep direct o Convert to synced
El problema
A veces lo que te limita no es "¿puedo usar el móvil?".
Es "¿qué máquina es dueña de esta sesión ahora mismo?".
Si la dueña de la sesión es la máquina equivocada, todo se vuelve incómodo:
- las herramientas que de verdad quieres ejecutar están en otro sitio
- acabas recreando sesiones solo para cambiar dónde se ejecuta el trabajo
- pierdes la continuidad (y empiezas a explicar el contexto otra vez)
Session handoff es el movimiento limpio de "misma sesión, otra máquina".
Enfoques habituales y sus contrapartidas
- Dejar que el portátil entre en reposo y esperar que la sesión aguante: a veces va bien, pero no es algo en lo que confiar.
- Iniciar una sesión nueva en la otra máquina: funciona, pero pierdes el hilo (y vuelves a explicar el contexto).
- Bifurcar la sesión: útil cuando quieres una rama, pero no resuelve "mantener viva la misma sesión en otro sitio".
- Entrar por SSH al portátil desde el móvil: funciona, pero si lo que quieres es apagar ese portátil, es justo al revés.
- Session handoff de Happier: mantiene el mismo id de sesión y mueve la máquina dueña.
Si no conoces Happier (qué es y dónde conseguirlo)
Happier es una app complementaria de código abierto (móvil, web y escritorio) para agentes de programación con IA como Claude Code, Codex y OpenCode.
El flujo aquí es: usar Happier desde el móvil para seguir y guiar las sesiones, mientras el repositorio y el espacio de trabajo se quedan en la máquina que los aloja.
Para empezar:
- Cómo usar Happier desde el móvil
- GitHub: https://github.com/happier-dev/happier
- Instalación y descarga: https://github.com/happier-dev/happier#how-it-works
- Discord (comunidad y soporte): https://discord.gg/W6Pb8KuHfg
Un flujo de trabajo que funciona (paso a paso)
1) Decide si mueves "solo la sesión" o "la sesión y el espacio de trabajo"
Session handoff tiene dos ajustes:
- Propiedad de la sesión: qué máquina es la dueña activa de la sesión (es la función principal).
- Workspace transfer: si Happier copia los archivos del espacio de trabajo a la máquina de destino.
Si tu objetivo es "tengo que apagar este portátil pero quiero mantener viva la sesión", casi siempre empiezas por mover la propiedad.
Transferir el espacio de trabajo es opcional: sirve cuando la máquina de destino aún no tiene los archivos que necesitas, o cuando quieres que el destino pase a ser la nueva casa del repositorio para esta sesión.
2) Inicia Session handoff desde la sesión
Puedes iniciar el traspaso desde:
- el menú de acciones de la cabecera de la sesión
- la pantalla Información de la sesión (Session info)
Elige la máquina de destino y confirma.
3) Elige si transferir el espacio de trabajo (opcional)
Por defecto, la transferencia del espacio de trabajo está desactivada.
Actívala solo si de verdad quieres que Happier copie el espacio de trabajo de la sesión a la máquina de destino.
Si la activas, también eliges:
- qué hacer si la ruta de destino ya existe (copia al lado o reemplazar)
- cómo tratar los archivos ignorados
Happier es estricto aquí: bloquea la transferencia para rutas de origen poco seguras como:
/- tu directorio personal
~
Así no intentas copiar media máquina por accidente.
4) Si es una sesión directa, elige Keep direct o Convert to synced
Session handoff funciona tanto con sesiones sincronizadas (Synced) como directas (Direct).
En las sesiones directas, la interfaz del traspaso añade una elección:
- Keep direct: la sesión sigue guardada en el proveedor.
- Convert to synced: sale del modelo directo ligado a la máquina y deja que Happier sea dueño de la sesión a partir de ahí.
Una regla de decisión sencilla:
- Si quieres seguir con la semántica de "guardada en el proveedor y ligada a la máquina": Keep direct.
- Si quieres que después se comporte como una sesión normal de Happier: Convert to synced.
5) Si el traspaso falla, revisa qué autenticación se espera (servicios conectados frente a autenticación local)
Session handoff no inicia sesión por arte de magia en la CLI del proveedor en la máquina de destino.
Aquí interactúan dos conceptos:
- Servicios conectados (Connected services): las credenciales viven en tu cuenta de Happier y los backends compatibles pueden reutilizarlas en varios ordenadores.
- Autenticación local del proveedor en la máquina: algunos backends siguen dependiendo del estado de inicio de sesión de la CLI nativa del proveedor.
Si la máquina de destino no cumple los requisitos del proveedor o del entorno de ejecución, el traspaso no puede completarse.
Proveedores compatibles (qué esperar)
Depende del proveedor.
Según la documentación actual:
- Claude: compatible
- OpenCode: compatible
- Codex: disponible, pero menos estable que Claude y OpenCode
Si un proveedor no admite el traspaso para la sesión actual, la acción aparece oculta o no disponible.
Por qué funciona (y qué falla)
Session handoff funciona porque Happier trata "id de sesión + transcripción + metadatos de la sesión" como una unidad y cambia qué máquina es la dueña activa.
Falla cuando la máquina de destino no puede ejecutar lo que necesita la sesión:
- la máquina está desconectada
- el backend no está instalado o no está disponible allí
- falta la autenticación del proveedor
Errores habituales
- Activar siempre la transferencia del espacio de trabajo → déjala desactivada salvo que de verdad necesites copiar archivos.
- Esperar que el traspaso arregle el inicio de sesión del proveedor → no lo hace. Prepara antes la máquina de destino y la autenticación.
- Bifurcar cuando lo que querías era mover la propiedad → bifurcar es para ramificar, el traspaso es para "misma sesión, otra máquina".
Preguntas frecuentes
¿Se mantiene el mismo id de sesión?
Sí, esa es la gracia del traspaso.
¿Es lo mismo que "Attach to session"?
No. Attach sirve para volver a abrir una sesión desde una terminal en la misma máquina. El traspaso cambia la máquina dueña.