A medida que los agentes de codificación con IA se integran más en los flujos de trabajo de desarrollo, presentan un desafío operativo único: son procesos de larga duración que requieren una interfaz de terminal persistente. Debido a que estos agentes pueden tardar un tiempo considerable en completar tareas, los desarrolladores necesitan una forma de asegurar que el proceso continúe incluso si se cierra una ventana de terminal o se cae una conexión SSH. Tmux, un multiplexor de terminal, aborda esto al poseer el pseudo-terminal (pty) de forma independiente a la ventana local del usuario. Esto permite que un agente continúe su trabajo en una sesión desprendida (detached), a la cual un desarrollador puede volver a conectarse en cualquier momento.

Más allá de la simple persistencia, tmux proporciona una forma estructurada de organizar múltiples agentes concurrentes. En lugar de lidiar con múltiples ventanas de terminal, los desarrolladores pueden asignar cada agente a una sesión de tmux con nombre, idealmente organizada por proyecto en lugar de por tarea individual. Esta configuración permite diseños sofisticados donde diferentes agentes se asignan a ventanas o paneles separados. Por ejemplo, un desarrollador podría usar un diseño 'tiled' para ver varios agentes simultáneamente o un diseño 'main-vertical' para centrarse en un agente principal mientras mantiene otros visibles en paneles laterales. Esta organización se ve potenciada por la capacidad de scripting de tmux; dado que cualquier shell puede enviar teclas a una sesión en ejecución, los desarrolladores pueden automatizar interacciones, como enviar un prompt a un agente desde un script o usar 'capture-pane' para leer programáticamente la salida de un agente.

Una interfaz de terminal que muestra una sesión de tmux ejecutando un agente de codificación con IA.
Un multiplexor de terminal como tmux permite a los desarrolladores gestionar y persistir sesiones de agentes de codificación con IA de larga duración.crystl.dev

La imagen ilustra el concepto de usar tmux para gestionar sesiones y enviar teclas a un agente de IA como Claude Code.

Sin embargo, el uso de tmux para la orquestación de agentes tiene limitaciones prácticas y matices de configuración. Si bien tmux maneja la multiplexación, no entiende de forma nativa el estado de un agente de IA. Por ejemplo, un panel de tmux que muestra a un agente esperando la entrada del usuario se ve idéntico a uno donde el agente está procesando activamente un comando. Para resolver esto, los desarrolladores a menudo construyen monitores de línea de estado personalizados que extraen el texto renderizado de cada panel para mostrar indicadores visuales (como un icono de 'parked' o 'working'). Además, aunque herramientas como Claude Code ofrecen flags integrados para crear worktrees y sesiones de tmux automáticamente, estas suelen limitarse a escenarios de un solo agente. Para una orquestación multi-agente compleja, la configuración manual de tmux —incluyendo ajustes específicos como 'aggressive-resize' y 'escape-time'— sigue siendo necesaria para asegurar que la interfaz de usuario de terminal (TUI) del agente se renderice correctamente y siga respondiendo a la entrada del teclado.

Aunque tmux proporciona una base sólida para la persistencia de agentes y la entrada mediante scripts, sigue siendo un multiplexor 'tonto'. No puede proporcionar información de alto nivel sobre la lógica del agente, como qué subtarea específica está bloqueada actualmente o el razonamiento interno del modelo. Para estas necesidades de mayor nivel, los desarrolladores pueden complementar tmux con scripts personalizados o migrar hacia plataformas de orquestación de agentes especializadas que ofrezcan gestión de sesiones nativa y visibilidad consciente del proyecto más allá de lo que un multiplexor de terminal estándar puede proporcionar.