Cómo saber qué sesión de Claude Code, Codex u OpenCode está atascada (sin revisar 10 terminales)

Un flujo práctico para distinguir "esperando aprobación", "sin conexión" y "en marcha de verdad", empezando por comprobaciones ligeras y con un bucle de control cómodo en el móvil cuando lo tienes.

Basado en
CLI
0.2.17
Ref de preview
a2c45c8

Una situación incómoda habitual:

Hay varias sesiones en marcha (Claude Code, Codex, OpenCode). Dejas el portátil un rato. Vuelves y algo no cuadra.

No es que "se haya caído", sino más bien:

  • nada avanza
  • la salida se cortó a mitad de frase
  • la sesión está "en marcha", pero no está claro si hace algo

Lo pesado es el tiempo que se va: con 5 a 10 sesiones, puedes gastar 20 minutos solo en averiguar cuál necesita atención.

Esta guía es un flujo para responder rápido a una pregunta:

¿Qué sesión está atascada de verdad, y de qué tipo de atasco se trata?

Resumen

  1. No adivines. Primero clasifica el atasco:
    • Esperando aprobación / necesita una respuesta (el caso habitual)
    • Desconectada / sin conexión (la máquina entra en reposo, se corta el Wi-Fi)
    • Ocupada (sigue en marcha, solo va lenta)
    • Rota (se ha caído / se ha quedado colgada)
  2. Empieza por las comprobaciones con menos fricción (lista de sesiones + última actividad + el final de un log).
  3. Si quieres un bucle cómodo en el móvil de "¿qué necesita atención ahora?", Happier es una de las opciones que ayuda porque tiene una Bandeja (Inbox) global y enrutado de notificaciones para las solicitudes.

El problema (en pocas palabras)

La mayoría de las "sesiones atascadas" no están atascadas de verdad.

Están esperando.

  • esperando un aviso de permiso
  • esperando una pregunta que no respondiste
  • esperando porque el portátil entró en reposo y el cliente se desconectó

Lo difícil es que los terminales no te dicen "esto necesita tu atención". Te dicen "este proceso existe".

Y si tienes varias sesiones, lo costoso no es arreglarlo, sino diagnosticarlo.

Enfoques habituales y sus contrapartidas

  • Tener menos sesiones: a veces es realista, pero el trabajo de verdad tiende a hacerse en paralelo.
  • Una ventana de tmux por repo con un esquema de nombres: ayuda, pero sigue siendo una revisión manual.
  • Seguir los logs (log_dir de Codex / logs de OpenCode): útil, pero tienes que abrir el correcto.
  • La reanudación y los nombres de Claude Code y la vista de Agent Teams: útiles, pero no te dan una "lista de pendientes" entre proveedores.

Si quieres esa "lista de pendientes" en el móvil (o en el navegador), Happier es una app de código abierto que te permite ejecutar y orquestar Claude Code, Codex, OpenCode y otros agentes entre dispositivos. Reúne las aprobaciones y solicitudes en un solo lugar.

Si no conoces Happier (qué es y dónde conseguirlo)

Si no conoces Happier: es una app complementaria de código abierto (móvil / web / escritorio) para sesiones de programación como Claude Code, Codex y OpenCode.

El flujo es: las sesiones siguen ejecutándose en una máquina de confianza (portátil / servidor / máquina de desarrollo) y Happier es donde supervisas, apruebas y mantienes todo avanzando desde el móvil.

Para empezar:

Una lista de diagnóstico que funciona

1) Primero: ¿te está esperando a ti?

Si la sesión está "atascada", pregúntate: ¿está bloqueada de verdad esperando una decisión humana?

Señales habituales:

  • la última salida es una pregunta ("¿Qué opción elijo?")
  • la sesión está esperando permisos de herramientas
  • la sesión está en un modo específico del proveedor que requiere una acción del usuario (por ejemplo, salir del modo plan)

Si usas Happier, aquí ayuda la Bandeja global: las solicitudes de aprobación y las de permiso o acción del usuario aparecen ahí, y el enrutado de notificaciones intenta llevarte a la sesión exacta que necesita atención.

2) Segundo: ¿el cliente se desconectó porque la máquina entró en reposo o se cortó el Wi-Fi?

Si cerraste la tapa del portátil, cambiaste de red o el cliente pasó a segundo plano, puede que el proceso esté bien pero tu vista esté desactualizada.

Las soluciones típicas dependen de la herramienta:

  • Si usas SSH, Mosh es una mejora poco costosa para este tipo de problema de "cambio de red + reposo".
  • Si la herramienta es una interfaz cliente/servidor en streaming, puede que tengas que reconectar o recargar el flujo.

(Hay casos reales de problemas de "estado de sesión desactualizado tras el reposo" en herramientas cliente/servidor. En esos casos, la solución suele ser "reconectar y actualizar".)

3) Tercero: ¿está ocupada, solo que va lenta?

Una sesión puede parecer atascada cuando está:

  • procesando un diff grande
  • ejecutando tests
  • esperando una llamada de red lenta

En este caso, lo que quieres son señales de progreso:

  • la hora de la última llamada a herramientas
  • la última edición de archivo
  • la última salida de tokens

Si no consigues ninguna señal de progreso, trátala como rota y pasa al siguiente paso.

4) Por último: trátala como colgada (y elige una intervención segura)

Si estás convencido de que está colgada de verdad:

  • prefiere una interrupción de bajo riesgo ("para y resume dónde estás")
  • después reinicia o reanuda

Evita matar procesos a ciegas si te importa conservar la identidad de la sesión. Si tienes un modelo reanudable, usa las rutas de resume / attach en lugar de "empezar de nuevo y pegar el contexto".

Un flujo de "lista de pendientes" centrado en el móvil (Happier)

Si ejecutas muchas sesiones y sigues perdiendo tiempo en el diagnóstico, lo que aporta Happier no es sobre todo "más potencia".

Es buscar menos:

  • la Bandeja responde: "¿qué necesita mi atención ahora?"

  • las notificaciones te llevan directamente a la sesión correcta (y al perfil de servidor correcto)

  • Requiere atención (Needs attention) agrupa las sesiones bloqueadas esperándote, así el resto puede seguir sin que tengas que revisarlas una por una

Aparca una sesión con un recordatorio

Algunas sesiones no están atascadas. Simplemente no son asunto tuyo durante las próximas dos horas. Desde la 0.2.13 puedes apartarlas a propósito:

  1. Abre el menú de la fila de la sesión y elige Recordarme (Remind me).
  2. Elige una hora sugerida, Elegir fecha y hora… (Choose date and time…) o un preajuste guardado.

Poner un recordatorio marca la sesión como leída y la saca de Requiere atención hasta que llega la hora. Entonces vuelve ahí, aunque no haya pasado nada nuevo. Desde la 0.2.16, abrir la sesión borra un recordatorio vencido (desactiva Configuración → Sesión → Borrar recordatorios al abrir (Settings → Session → Clear reminders on open) si prefieres borrarlos a mano). Los recordatorios cambian el estado de atención dentro de la app de Happier. No envían notificaciones push. Los detalles están en la documentación del estado de lectura de sesiones.

Corrige el rumbo de una sesión ocupada sin pararla

Si una sesión está ocupada pero va en la dirección equivocada, Insertar ahora (Steer now, 0.2.16) entrega tu mensaje en cola al agente sin interrumpir el turno, cuando el agente admite redirección. Enviar ahora (Send now) sigue interrumpiendo. Consulta redirección.

Mantén el móvil en silencio mientras estás en el ordenador

También nuevo en la 0.2.16: un ajuste opcional de notificaciones silencia las notificaciones push en el móvil mientras Happier tiene el foco en un ordenador. Si no se puede determinar el foco del ordenador, las notificaciones siguen llegando al móvil.

La contrapartida, sin rodeos: depende de que la máquina siga siendo accesible.

Solución de problemas

No sé si está atascada o esperando

Fuerza una respuesta:

  • envía un mensaje corto: "¿Estás esperando mi respuesta o sigues en marcha?"
  • si la herramienta lo admite, pide una actualización de estado de una línea

Pierdo la pista de las sesiones constantemente

Usa uno de estos patrones:

  • un worktree / una sesión por tarea
  • nombres coherentes para sesiones y repos
  • una única "lista de pendientes" (Bandeja, Requiere atención, notificaciones)
  • una hora de Recordarme para las sesiones que has leído pero quieres retomar más tarde

Guías relacionadas

mobilesessionsclaudecodexopencodetroubleshooting
Última actualización: 2026-10-26