Volver a las novedades

¿Se pueden ejecutar varios agentes de IA de programación en tmux?

Respuesta corta: se puede, y es el punto de partida más común: una ventana o un pane de tmux por agente de IA, costo cero, todo en la terminal. Funciona bien con dos o tres agentes y empieza a salir caro después, por un motivo que compruebas con un comando: tmux vigila el silencio por ventana, no por pane. Pon tres agentes en tres panes de la misma ventana, que es el arreglo que casi todos montan primero, y tmux no puede decirte cuál de ellos se detuvo.

¿Por qué tmux es el primer arreglo que todos prueban?

tmux ya está instalado o a un comando de distancia, divide la pantalla en panes con nombre, y la sesión sobrevive a la desconexión: puedes cerrar la laptop y volver con tus agentes de IA vivos. Para quien ejecuta Claude Code o Codex por SSH en un servidor, es la única opción razonable. Nada de lo que sigue argumenta contra empezar ahí. Lo que sigue es lo que encuentras después, y qué hacer al respecto dentro del propio tmux.

¿Cómo montar una ventana por agente en tmux?

El arreglo que sobrevive a más de dos agentes es una ventana por agente, con el nombre del trabajo, en lugar de panes dentro de una sola ventana. La ventana con nombre es lo que tmux puede vigilar individualmente:

tmux new-session -d -s agents -n api
tmux new-window  -t agents -n web
tmux new-window  -t agents -n docs

for w in api web docs; do
  tmux set-window-option -t "agents:$w" monitor-silence 60
done

tmux list-windows -t agents \
  -F '#{window_name}  #{?window_silence_flag,IDLE,working}  #{t:window_activity}'

El último comando es lo más cercano a un tablero de estado que tmux entrega. Imprime una línea por agente, la palabra IDLE cuando esa ventana pasó 60 segundos sin producir salida, y la hora de su última actividad. Inicia el agente dentro de cada ventana (tmux send-keys -t agents:api 'claude' C-m) y tienes una lista para releer de una mirada, en vez de cambiar de pane en pane. Ejecútalo en un bucle con watch, o amárralo a una tecla, y se convierte en un tablero de pobre.

¿Por qué tmux no avisa qué agente se detuvo?

Porque la unidad que vigila es la ventana. monitor-silence es opción de ventana y window_silence_flag es formato de ventana; no existe equivalente por pane. La consecuencia es fácil de reproducir: divide una ventana en dos panes, deja uno ocupado y el otro en silencio completo, y pregúntale a tmux cómo va todo.

tmux new-session -d -s mixed
tmux split-window -h -t mixed
tmux set-window-option -t mixed monitor-silence 5
tmux send-keys -t mixed.0 'while true; do echo tick; sleep 1; done' C-m
sleep 9
tmux list-windows -t mixed -F 'silence_flag=#{window_silence_flag}'
tmux kill-session -t mixed

La salida es silence_flag=0. Un agente está detenido y tmux reporta la ventana como sana, porque el otro pane sigue escribiendo. Es la limitación entera en un número, y por eso la rejilla de panes, tan bonita en una captura, es justo el arreglo que mejor esconde a un agente trabado. Un agente por ventana cuesta la rejilla y compra la alarma.

Lo que tmux sigue sin hacer

Silencio no es lo mismo que estar trabado. Un agente esperando que apruebes una escritura de archivo está en silencio, un agente pensando dos minutos está en silencio, y un agente que se cayó queda en silencio para siempre. tmux mide bytes en una terminal, así que no separa los tres casos, y ninguna de sus alertas integradas sabe la diferencia entre "te hizo una pregunta" y "terminó el trabajo". La alerta visual además exige un cliente conectado a la sesión; en una sesión desconectada la bandera sigue siendo legible con el comando de arriba, pero nada aparece solo.

Claude Squad: tmux llevado al límite

Claude Squad es la respuesta más conocida dentro de la terminal: una TUI que administra varias sesiones de Claude Code, Codex, OpenCode y Amp, usando tmux por debajo y aislando cada instancia en su propia worktree de git. El repositorio en github.com/smtg-ai/claude-squad muestra 8.304 estrellas y su último push el 30 de julio de 2026, leído el 13 de agosto de 2026. Exige tmux y la CLI de GitHub. Resuelve crear y cambiar de sesión, y mueve la unidad de aislamiento a la worktree, que es el movimiento correcto. La observación sigue siendo textual: la lista dice qué sesiones existen, no cuál te necesita ahora.

¿Cuándo sigue siendo tmux la elección correcta?

En un servidor remoto sin interfaz gráfica, tmux sigue siendo imbatible, y la receta de una ventana por agente de arriba es lo mejor que puedes hacer ahí. También gana cuando el presupuesto es cero, cuando el flujo es cien por ciento teclado, o cuando la política de la empresa impide instalar aplicaciones. Con uno o dos agentes de IA, cualquier arreglo funciona: el problema que resuelven las apps de paneles solo aparece cuando un tercer agente empieza a trabajar mientras tu atención está en el primero.

Qué usar cuando tmux deja de alcanzar

La categoría que creció en 2026 es la de las apps de paneles: cada agente de IA en su propio panel, con una terminal de verdad adentro, estado visible de lejos y notificación cuando un agente pide ayuda. CanvasCode, para macOS, lee el estado por hooks de la propia CLI (trabajando, esperándote, terminó, se cayó), que es justamente la distinción que tmux estructuralmente no hace, y avisa incluso cuando el agente que te necesita está en otro proyecto. Seis agentes en una pantalla es uso normal. La limitación a pesar: es una app de escritorio para Mac y no corre en un servidor remoto vía SSH como tmux.

¿Se puede mezclar tmux con una app de paneles?

Se puede, y es un arreglo común: la terminal dentro de cada panel es una terminal de verdad, así que nada impide abrir una sesión SSH con tmux remoto adentro. El agente corre en el servidor, y la capa local se encarga de lo que tmux no hace: estado que separa esperar de trabajar, notificaciones y organización por proyecto. La elección no es binaria; es sobre dónde trabaja mejor cada capa.

En qué se probó esto

Todos los comandos de arriba se ejecutaron en tmux 3.6a en macOS el 13 de agosto de 2026, y las salidas citadas son las que imprimió. El comportamiento de monitor-silence ha sido estable a lo largo de tmux 3.x, pero si estás en una versión más antigua, revisa tmux -V y confirma que window_silence_flag exista antes de depender de él. El umbral de 60 segundos es arbitrario: elige el tuyo según cuánto tiempo suelen quedarse callados tus agentes mientras piensan, porque demasiado bajo convierte cada pausa en falsa alarma.