Terminal cmux: Una guía práctica para agentes de codificación con IA en macOS
Aprende qué es cmux, cómo se relaciona con Ghostty y tmux, y por qué su navegador, sus notificaciones y su CLI de automatización lo hacen interesante para los flujos de trabajo con agentes de IA.
11 min de lectura

Si te gusta Ghostty pero siempre acabas con demasiadas sesiones de agentes, demasiadas pestañas y ni idea de cuál te necesita, cmux merece un vistazo.
Es un terminal nativo de macOS construido para un problema muy actual: ejecutar agentes de codificación con IA y seguir sintiendo que controlas el caos. Obtienes un terminal impulsado por Ghostty, espacios de trabajo verticales, paneles divididos, notificaciones que realmente apuntan a la sesión que pide ayuda y un navegador integrado que se puede controlar desde la CLI.
Esa última parte importa más de lo que parece. Muchas herramientas de IA parecen querer reemplazar tu flujo de trabajo. cmux se acerca más a “aquí tienes las primitivas, ahora construye tu propia configuración”.
Qué es cmux, en una frase
cmux es una aplicación de terminal nativa de macOS construida sobre libghostty, con espacios de trabajo, paneles, notificaciones, automatización del navegador y una API de CLI/socket para controlar todo el conjunto.
Qué es realmente cmux

cmux no es un fork de Ghostty. Según el sitio oficial, usa libghostty para el renderizado del terminal, del mismo modo que una app puede usar WebKit para el contenido web. Así que sigues obteniendo el renderizado al estilo Ghostty y la compatibilidad de configuración, pero la app en sí hace algo diferente.
La idea es simple:
- Abrir varios agentes de codificación en paralelo
- Mantenerlos separados por espacio de trabajo, panel o superficie de navegador
- Recibir una señal visual clara cuando uno necesita entrada
- Automatizar el terminal y el navegador desde scripts o hooks
Si suena a nicho, en cierto modo lo es. Pero es un nicho muy real ahora.
Por qué cmux está atrayendo atención
El argumento de venta no es “otro terminal más”. Lo interesante es cómo maneja el trabajo multiagente sin obligarte a usar un producto cerrado de orquestación.
Según el README oficial y la documentación, cmux actualmente te ofrece:
- Una app nativa de macOS construida con Swift y AppKit
- Un terminal impulsado por Ghostty que lee tu configuración existente de Ghostty para temas, fuentes y colores
- Pestañas verticales y paneles divididos para manejar múltiples espacios de trabajo
- Anillos de notificación, insignias de no leídos y un panel de notificaciones
- Un navegador integrado con una superficie de comandos que se puede controlar con scripts
- Una CLI y API de socket para enviar texto, leer pantallas, abrir paneles, mover superficies y más
- Comandos de compatibilidad con tmux para quienes aún quieren un comportamiento estilo tmux en partes de su flujo de trabajo
Además es gratuito y de código abierto, con el repositorio bajo licencia AGPL-3.0-or-later.
La versión corta: qué puede hacer cmux
Aquí está la lista práctica.
1. Ejecutar múltiples agentes sin perderlos de vista
Este es el punto clave. cmux usa ventanas, espacios de trabajo, paneles y superficies para que puedas dividir el trabajo de una forma que tenga sentido.
A grandes rasgos:
- Window: la ventana de la app
- Workspace: la pestaña vertical principal en la barra lateral
- Pane: un área dividida dentro de un espacio de trabajo
- Surface: la pestaña de terminal o navegador real dentro de un panel
Ese modelo suena más complejo que un terminal normal al principio. En la práctica, es lo que permite a cmux mostrar múltiples agentes, múltiples divisiones e incluso pestañas de navegador sin que todo colapse en una pila de pestañas.
2. Decirte qué agente necesita atención
Aquí es donde cmux se siente genuinamente bien pensado.
En lugar de una alerta genérica de escritorio, cmux puede mostrar:
- un anillo de notificación alrededor del panel
- una insignia de no leídos en el espacio de trabajo
- un panel de notificaciones con elementos pendientes
- una notificación de escritorio en macOS
Soporta las secuencias de escape de notificación estándar del terminal como OSC 9, OSC 99 y OSC 777, y también expone cmux notify para scripts y hooks.
Eso significa que puedes conectar Claude Code, Codex, OpenCode o tus propios scripts de shell al mismo flujo de notificaciones.
3. Abrir un navegador junto al terminal y automatizarlo
Esta es la característica que hace que cmux se sienta diferente de Ghostty y tmux.
Puedes abrir una superficie de navegador junto a un terminal y luego controlarla con comandos como:
cmux browser open https://localhost:4321
cmux browser snapshot --interactive
cmux browser click "button[type='submit']"
cmux browser fill "input[name='email']" "[email protected]"Si estás construyendo aplicaciones web con un agente, eso es bastante convincente. El navegador deja de ser algo separado al que saltas con alt-tab. Pasa a formar parte del mismo espacio de trabajo que la sesión de terminal que hace el trabajo.
4. Controlar el espacio de trabajo desde la CLI
La CLI es una parte importante de cmux, y la salida de cmux help lo deja claro.
Puedes:
- crear espacios de trabajo y ventanas
- dividir paneles en todas las direcciones
- crear superficies de terminal o navegador
- enviar texto o teclas a un terminal
- leer la pantalla visible o el scrollback
- mover o reordenar pestañas y superficies
- establecer el estado, el progreso y los registros de la barra lateral
- programar hooks de Claude Code
Eso hace que cmux sea más que un terminal con GUI. Está más cerca de un plano de control local programable para flujos de trabajo con agentes.
Comandos útiles de cmux para conocer primero
La ayuda completa es amplia, pero estos son los comandos que yo aprendería primero.
| Tarea | Comando |
|---|---|
| Abrir un nuevo espacio de trabajo | cmux new-workspace |
| Dividir el diseño actual | cmux new-split right o cmux new-split down |
| Añadir una nueva superficie de terminal/navegador | cmux new-surface --type terminal o cmux new-surface --type browser |
| Inspeccionar el diseño actual | cmux tree --all |
| Enviar entrada a un terminal | cmux send "npm run dev" |
| Leer la salida del terminal | cmux read-screen --scrollback --lines 200 |
| Lanzar una notificación | cmux notify --title "Build Complete" --body "All tests passed" |
| Abrir una página en el navegador | cmux browser open https://localhost:4321 |
| Capturar el estado del navegador | cmux browser snapshot --interactive |
Si ya te manejas bien con el scripting en terminal, comandos como send, send-key, read-screen, notify y browser snapshot son donde cmux se pone interesante rápido.
Cómo se compara cmux con Ghostty y tmux
Esta es la pregunta que la mayoría de los usuarios de terminal se harán primero.
| Herramienta | Ideal para | Qué hace bien | Qué tener en cuenta |
|---|---|---|---|
| Ghostty | Uso diario rápido del terminal | Sensación nativa, renderizado por GPU, configuración simple, multiplexación integrada | Menos prescriptivo en cuanto a flujos de trabajo con agentes |
| tmux | Sesiones portables y trabajo remoto | Detach/attach, amigable con SSH, enorme ecosistema | Más configuración, más atajos de teclado, sin navegador integrado ni notificaciones GUI |
| cmux | Desarrollo local multiagente en macOS | Espacios de trabajo, notificaciones en paneles, automatización del navegador, control por CLI | Solo macOS, y reiniciar la app aún no restaura el estado de los procesos en vivo |
Mi opinión: si sobre todo quieres un terminal mejor, empieza con Ghostty. Si vives en servidores remotos, tmux sigue justificando su lugar. Si tu día se está convirtiendo en “tres sesiones de Claude, una sesión de Codex, un servidor de desarrollo y un navegador que quieres programar”, cmux empieza a tener mucho sentido.
Primeros pasos con cmux
Instálalo con Homebrew:
brew tap manaflow-ai/cmux
brew install --cask cmuxO descarga el DMG desde cmux.dev y arrástralo a Aplicaciones.
cmux es solo para macOS por ahora, y la documentación lista estos requisitos:
- macOS 14 o posterior
- Mac con Apple Silicon o Intel
Opcional: exponer la CLI fuera de cmux
Dentro de los terminales de cmux, la CLI funciona automáticamente porque cmux establece variables de entorno como CMUX_WORKSPACE_ID y CMUX_SURFACE_ID.
Si quieres llamar a cmux desde fuera de la app, la documentación sugiere crear un enlace simbólico:
sudo ln -sf "/Applications/cmux.app/Contents/Resources/bin/cmux" /usr/local/bin/cmuxDespués de eso, comandos como estos quedan disponibles desde cualquier shell:
cmux list-workspaces
cmux current-workspace
cmux notify --title "Build Complete" --body "Your build finished"Una configuración práctica que tiene sentido
Si yo configurara cmux para trabajo real, lo mantendría simple:
- Un espacio de trabajo para el agente de codificación principal
- Una división para registros o pruebas
- Una superficie de navegador para la app que estás construyendo
- Notificaciones conectadas a los hooks del agente
Eso ya te da algo útil sin inventarte todo un “sistema operativo de IA” para ti mismo.
Si ya usas Ghostty como tu terminal diario, lee primero mi guía de configuración de Ghostty para las fuentes, la configuración básica y el flujo de trabajo general del terminal. Si quieres un prompt más limpio dentro de Ghostty o cmux, la guía de Starship + Ghostty es una buena compañera.
Flujo de trabajo de ejemplo: Claude Code + navegador + notificaciones
Este es el tipo de configuración para la que cmux parece diseñado:
# Create a new workspace
cmux new-workspace --cwd ~/projects/my-app
# Split the workspace
cmux new-split right
# Open the app in a browser surface
cmux browser open https://localhost:4321
# Notify yourself when a task is done
cmux notify --title "Claude Code" --body "Agent finished the refactor"La documentación oficial también muestra un script de hook simple de Claude Code que dispara cmux notify en eventos de parada o después de ejecuciones de herramientas que coincidan. Es un detalle pequeño, pero es exactamente el tipo de cosa que convierte la app de “demo interesante” en “realmente útil un martes cualquiera”.
Lo que me gusta de cmux
Tres cosas destacan.
Primero, no intenta esconder el terminal. Muchas herramientas de agentes se apresuran a construir un entorno completamente nuevo alrededor del LLM. cmux sigue sintiéndose como hecho por alguien de terminales.
Segundo, que el navegador forme parte del mismo espacio de trabajo es más importante de lo que parece sobre el papel. Cuando el terminal, el navegador y las notificaciones viven juntos, el flujo de trabajo se siente más cohesionado.
Tercero, el proyecto es honesto sobre ser un conjunto de primitivas. La entrada de blog “Zen of cmux” dice lo mismo directamente: cmux no es prescriptivo, y el flujo de trabajo es tuyo para darle forma. Me gusta ese enfoque.
Qué tener en cuenta antes de cambiar
cmux es prometedor, pero no es magia.
- Es solo para macOS por ahora
- Restaura el diseño y los metadatos, no el estado en vivo de los procesos del terminal
- Si trabajas principalmente por SSH, tmux sigue siendo la opción más segura por defecto
- Si no necesitas automatización de navegador ni notificaciones de agentes, Ghostty por sí solo puede ser suficiente
Eso no es una crítica a cmux. Solo significa que deberías usarlo para el trabajo que claramente intenta resolver.
Preguntas frecuentes
¿Es cmux simplemente Ghostty con pestañas?
No. cmux usa libghostty para el renderizado, pero es una app nativa de macOS independiente centrada en espacios de trabajo, notificaciones, superficies de navegador y automatización para flujos de trabajo con agentes.
¿Sigues necesitando tmux si usas cmux?
A veces sí. Si necesitas sesiones detach/attach en máquinas remotas, tmux sigue resolviendo un problema diferente. cmux es más fuerte para flujos de trabajo locales en macOS donde quieres espacios de trabajo con GUI, automatización de navegador y notificaciones visibles.
¿Puede cmux funcionar con agentes distintos de Claude Code?
Sí. El FAQ oficial dice que cualquier agente que se ejecute en un terminal debería funcionar, incluyendo Claude Code, Codex, OpenCode, Gemini CLI, Aider, Goose, Cline y otros.
Reflexiones finales
cmux se siente como una herramienta construida por alguien que se cansó de hacer malabares con agentes de IA en terminales genéricos y decidió arreglar el problema como corresponde.
No lo recomendaría a todos los usuarios de terminal. Pero si tu flujo de trabajo local ya incluye múltiples sesiones de agentes, vistas previas de apps y cambios de contexto constantes, cmux es una de las cosas más interesantes que están pasando en los terminales ahora mismo.
Esa es probablemente la mejor forma de pensar en él: no como un reemplazo para todos los terminales, sino como una herramienta más afilada para un tipo muy específico de desarrollo moderno.


