Cómo ejecutar varios agentes de IA en paneles divididos de la terminal

Para ejecutar Claude Code y Codex en paralelo en paneles divididos, abre un espacio de trabajo en MXterm Pro con "Aislar funciones en git worktrees" activado y elige Claude Code en un panel y Codex en el otro. Así cada agente trabaja en su propia rama, en lugar de pelear por el mismo checkout. El aislamiento reduce las colisiones entre ramas. No impide que dos agentes editen el mismo archivo.
Por qué dos agentes en un mismo repositorio suelen fallar
El fallo casi siempre es el mismo. Abres Claude Code en una pestaña de terminal y Codex en otra, apuntas las dos a la misma copia de trabajo y les das tareas distintas. Un agente ejecuta git checkout -b feature-a mientras el otro está a mitad de una edición en main. Ahora tienes cambios sin confirmar en la rama equivocada, o un git status que ninguno de los dos esperaba.
Incluso en una sola rama, dos agentes que editan archivos que se solapan al mismo tiempo generan conflictos de merge que tienes que desenredar a mano.
Ejecutarlos uno tras otro evita el choque, pero duplica tu espera. Terminas cuidando a un agente mientras el otro queda parado. La solución no es turnarse con más cuidado. Dale a cada agente su propia copia de trabajo en disco, para que un git checkout en un panel no pueda tocar los archivos del otro.
Paso a paso: configura paneles divididos con aislamiento de agentes
1. Abre un espacio de trabajo nuevo sobre tu repositorio. En la pantalla de bienvenida o de Nuevo espacio de trabajo de MXterm Pro, elige la carpeta del proyecto. O, en macOS, usa la acción rápida "New MXterm Pro Tab Here" de Finder si aparece en tu menú Servicios, o suelta la carpeta sobre el ícono del Dock.
2. Marca "Aislar funciones en git worktrees". La descripción bajo la casilla dice qué hace: "Cada panel de agente inicia en su propio worktree y rama." Viene desactivada por defecto.
Esto solo sirve dentro de un repositorio git. Si la carpeta no lo es, MXterm Pro ya no ejecuta git init por ti (cambio de la 1.0.22). Lo avisa desde el principio: "Esta carpeta no es un repositorio git, por lo que los agentes la compartirán directamente (sin aislamiento de worktree)". Luego abre paneles simples, sin aislamiento, cada uno con un aviso que puedes cerrar. Si quieres aislamiento, ejecuta git init tú antes.
3. Añade paneles divididos. Usa Cmd+D (dividir a la derecha) o Shift+Cmd+D (dividir hacia abajo), o fija el número de paneles en el composer antes de crear el espacio de trabajo. Hay más sobre la división en la documentación de paneles.
Para reordenar los paneles después, arrastra el encabezado de un panel hasta el borde de otro. La superposición muestra Insert Left / Right / Above / Below, y el panel queda a su lado al 50/50. El redimensionado también se ajusta solo: suelta un divisor a unos 3,5 % del centro y se queda en 50/50. Haz doble clic en un divisor cuando quieras para devolverlo a 50/50.
4. Lanza un agente por panel. Como el aislamiento con worktree estaba activado, cada panel de agente que elegiste en el composer (Claude Code en uno, Codex en el otro) ya está en su propia rama, con un nombre como swarm/brave-otter.
La app genera un par corto adjetivo-sustantivo y comprueba que el nombre no esté en uso, en lugar de reutilizar los nombres de los agentes. Si por algún motivo ya existe, la app reintenta con el sufijo -2. Un panel de Terminal simple, o uno que añadas después con una división, se queda en la raíz del repositorio.
5. Dale a cada agente una tarea distinta, acotada a archivos que no se solapen siempre que puedas. Por ejemplo, "refactoriza el middleware de autenticación" en el primer panel y "actualiza la interfaz de configuración" en el segundo. El aislamiento reduce la probabilidad de colisiones entre ramas. No impide que dos agentes editen por su cuenta el mismo archivo compartido, así que divide el trabajo por límites reales del código.
6. Revisa y haz merge desde la raíz del repositorio. Cuando un agente termine, entra con cd a su worktree (<repo>/.worktrees/<slug>) o elígelo en la lista Worktrees del panel de Git. Después haz merge de la rama de la forma habitual: git merge, revisa el diff o abre un PR. MXterm Pro no hace el merge por ti. Solo mantiene separadas las dos copias de trabajo mientras los agentes corren.
Enviar un mismo prompt a todos los paneles
Pulsa Cmd+Shift+B en macOS para activar o desactivar Broadcast Input cuando quieras mandar la misma instrucción a todos los agentes a la vez, como "ejecuta la suite de pruebas" o "haz pull de lo último y rebase". El mapa de teclas asigna Ctrl+Shift+B en Windows.
Mientras está activado, lo que escribes en tu panel activo se replica en tiempo real en todos los demás paneles del grupo de broadcast. Un solo npm test o un solo prompt llega a todos sin reescribirlo en cada pestaña.
Broadcast es directo a propósito. No combina salidas ni espera a que un agente termine antes de que llegue el siguiente comando. Solo reparte las mismas pulsaciones. Desactívalo (Cmd+Shift+B otra vez) antes de escribir algo propio de un panel, como la respuesta a una pregunta de un agente. Si no, esa respuesta llega a todos los paneles del grupo.
La Control Room multiagente y en qué se diferencia de los paneles divididos simples
La Control Room (antes War Room) es una capa aparte sobre los paneles divididos con aislamiento por worktree, que evitan que dos agentes choquen en disco. Vive en el panel auxiliar de la derecha. Alt+Cmd+B muestra u oculta ese panel en macOS, y luego eliges la pestaña Control Room. En Windows el mapa de teclas asigna Ctrl+Alt+B, que no se ha verificado en una máquina Windows real.
Unes paneles de terminal a una sala compartida desde el botón de Control Room de cada panel. La sala guarda una sola transcripción continua de quién se une, quién sale, los cambios de nombre y los mensajes que intercambian el Moderator y los agentes.
Si estás escribiendo en un panel, la entrega de prompts de la Control Room a ese agente se retiene hasta que dejes de escribir o hagas clic en "Enviar ahora". Así no se cuela una instrucción en cola a mitad de una pulsación. La guía de la Control Room explica el resto, y la documentación de agentes y Control Room cubre la parte de la app.
Las cuentas Free tienen hasta 2 miembros por Control Room por defecto. Pro quita ese tope. Nunca hubo un límite de número de salas. Ejecutar Claude Code y Codex lado a lado, que es lo que cubre esta guía, cabe en la sala gratuita de 2 miembros. Solo llegas al techo cuando añades un tercer o cuarto miembro a la misma sala.
Uso de tokens por agente (Token Meter)
El Token Meter de MXterm Pro cubre tanto Claude Code como Codex. Haz clic en el chip de la barra de título y cada agente tiene su fila. Se expande a una sparkline por hora y un desglose de 7 días. Lee las transcripciones de cada agente en tu máquina y no necesita clave de API ni cuenta. No se envía nada a ningún lado, salvo que actives las consultas opcionales de límites del plan en vivo. Cómo se cuenta el uso de tokens tiene el detalle.
Comparación con iTerm2, Warp y tmux
iTerm2 es una terminal de macOS madura y programable, con paneles divididos excelentes y un enorme ecosistema de plugins. Es un buen lugar para ejecutar Claude Code y Codex en dos paneles a mano. Su documentación cubre notificaciones de actividad, silencio y fin de tarea, un plugin de IA opcional y una integración con Claude Code. No menciona ningún aprovisionamiento de worktrees, así que tendrías que gestionar el aislamiento de ramas tú mismo con git worktree add.
Warp ya va más allá de un único asistente de chat. Su sitio describe traer tu propio agente, como Claude Code o Codex, y coordinar flotas de agentes desde un solo plano de control en web, celular, terminal e IDE. MXterm Pro es más acotado: una terminal de escritorio local con un worktree por panel de agente. Mira MXterm Pro vs Warp para la comparación completa.
tmux te da los paneles y la memoria muscular que ya tienen muchos ingenieros, y es el análogo más cercano al modelo de paneles divididos de MXterm Pro. Pero es un multiplexor de terminal, no uno que entienda git.
Enviar teclas a varios paneles a la vez (:setw synchronize-panes on) es un truco clásico de tmux, y el Broadcast Input de MXterm Pro lo replica. El aprovisionamiento de worktrees, el seguimiento del estado de los agentes y la transcripción de la Control Room no se replican con una configuración de tmux sin un esfuerzo real de scripting.
Ninguna de estas es una mala elección. iTerm2, Warp y tmux son terminales capaces. Lo que aporta MXterm Pro para este flujo es la combinación: aislamiento por worktree integrado en la creación del espacio de trabajo, detección del estado de los agentes y broadcast, todo en una app nativa, en vez de tres scripts sueltos y un .tmux.conf pegado a mano.
Límites de Free y Pro para este flujo
Lo esencial de esta guía funciona en el plan Free: divisiones de dos paneles, aislamiento por worktree, broadcast input y una Control Room de 2 miembros. Los números importan cuando pasas de un par de agentes.
Por defecto, Free no tiene límite de paneles de terminal. Permite 5 hosts SSH guardados, 2 miembros de la Control Room por sala y 1 MXterm Host guardado. Pro quita los topes de hosts SSH y miembros de la Control Room.
Así que el plan Free no es una demo recortada de este flujo. Los topes solo aparecen cuando ejecutas más agentes a la vez o administras una flota de hosts SSH junto a tus agentes.
Cuando no funciona: problemas comunes
Los paneles se abrieron sin worktrees. La carpeta no era un repositorio git. MXterm Pro dejó de ejecutar git init por ti en la 1.0.22. Antes eso pasaba solo y podía meter un .env o una clave en un historial nuevo que nadie pidió. Por eso ahora vuelve a paneles compartidos simples y te dice por qué.
Ejecuta git init tú mismo y crea el espacio de trabajo otra vez. Si el repositorio aún no tiene commits, MXterm Pro añade un "Initial commit" que solo contiene un archivo .gitkeep vacío, para poder crear los worktrees. No se confirma nada más de la carpeta.
Los dos agentes siguen cayendo en los mismos archivos. El aislamiento por worktree reduce las colisiones en las ramas y en el estado de checkout. Pero dos agentes aún pueden decidir tocar, por ejemplo, un archivo de configuración compartido desde sus copias. Eso es un problema de acotar tareas, no algo que el aislamiento arregle. Divide el trabajo por límites reales de módulos.
Broadcast mandó una respuesta al panel equivocado. Es el error más común con broadcast. El modo sigue activo hasta que lo desactivas, así que una respuesta pensada para la pregunta de un agente llega a todos. Desactiva Cmd+Shift+B antes de escribir algo propio de un panel.
Hacer merge de la rama del worktree parece un paso de más. Es un paso extra a propósito. El aislamiento mantiene separadas las copias de trabajo durante la ejecución, pero MXterm Pro no hace merge automático. Trata cada rama de worktree como cualquier rama de funcionalidad: revisa el diff y luego haz merge o abre un PR como lo harías normalmente.
SSH con varios paneles, Command Recipes (Cmd+J) y una Control Room (antes War Room) multiagente: gratis para empezar.
¿Ya tienes MXterm Pro? Lee la guía de configuración →
¿Nuevo en MXterm Pro? Mira los precios →
Preguntas frecuentes
Es un área compartida en el panel derecho para ejecutar varios agentes de CLI de IA juntos. Cada miembro muestra un punto de estado (trabajando, bloqueado, inactivo o terminado, para los agentes que MXterm puede leer), la entrega de prompts se retiene mientras escribes y toda la sesión multiagente se exporta como informe en Markdown. Es independiente del aislamiento por worktree de los paneles divididos: puedes usar cualquiera de los dos por separado, o ambos juntos.
No. Puedes ejecutarlos en dos paneles simples sin aislamiento si trabajan en repositorios distintos, o si te sientes cómodo gestionando tú los cambios de rama. El aislamiento por worktree importa cuando los dos agentes trabajan a la vez en el mismo repositorio. Sin él, el git checkout de un agente puede cambiarle la rama al otro mientras trabaja.
Sí. Cualquier herramienta de CLI que corra en un shell (Aider, Ollama o un script propio) funciona en un panel de terminal simple, y Broadcast Input no distingue qué binario lanzas. El aislamiento por worktree se aplica a los paneles de agente que eliges en el composer (Claude Code, Codex, Gemini CLI, OpenCode y los demás agentes integrados). Un panel simple se queda en la raíz del repositorio.
Los paneles divididos no tienen límite en el plan Free. Una Control Room admite 2 miembros por sala en Free (sin límite en Pro). Dos agentes, Claude Code y Codex, caben de sobra en el plan Free.
No. Broadcast Input replica tus pulsaciones en todos los paneles del grupo en tiempo real. No los encadena ni espera la salida de los agentes. Está pensado para instrucciones idénticas y cortas (ejecutar pruebas, hacer pull de lo último), no para una conversación que quieres que cada agente responda por separado.