herdr: qué es y cómo usar el multiplexor de terminal para agentes de IA, con capturas

herdr es un multiplexor de terminal, como tmux o Zellij, pensado para quien trabaja con varios agentes de programación a la vez: Claude Code, Codex, OpenCode, Copilot CLI y muchos más. Reparte la pantalla en workspaces, pestañas y paneles, mantiene las sesiones vivas aunque cierres la terminal o se corte el SSH, y te dice de un vistazo qué agente está trabajando, cuál ha terminado y cuál te está pidiendo permiso. Es gratuito, de código abierto y está escrito en Rust. Lo hemos probado con la versión 0.9.5, la más reciente, y todas las capturas de esta página, salvo la primera, son nuestras.

herdr con dos workspaces en la barra lateral, un agente pi inactivo y Claude Code trabajando en el panel derecho
Así se ve herdr en el día a día: a la izquierda, los workspaces y la lista de agentes con su estado; a la derecha, Claude Code trabajando. Captura oficial del repositorio herdrdev/herdr (Apache 2.0).

Qué es herdr y qué problema resuelve

Los agentes de programación de terminal se han vuelto tan rápidos que mucha gente ya no lanza uno, sino tres o cuatro: uno revisa código, otro escribe pruebas y otro arregla un fallo en otra rama. El problema es saber en qué está cada uno. Con varias pestañas de terminal o con tmux hay que ir mirando panel por panel para descubrir que el agente lleva diez minutos parado esperando a que le digas «sí». herdr nace para eso: detecta el estado de cada agente y lo muestra en una barra lateral, y además permite que los propios agentes abran paneles, se manden instrucciones y se esperen entre ellos.

  • Quién lo hace: la organización herdrdev de GitHub, con web en herdr.dev. El proyecto empezó en marzo de 2026 y ronda las 47,000 estrellas en GitHub.
  • Licencia: Apache 2.0 desde julio de 2026. Antes fue AGPL, y por eso algunas copias antiguas todavía lo dicen.
  • Cómo está hecho: un único binario en Rust, sin Electron, para Linux, macOS y Windows (este último, todavía en beta).
  • Qué no es: no es un agente ni un modelo de IA. No sustituye a Claude Code o a Codex: los ejecuta dentro de sus terminales y los vigila.

Instalación

La forma oficial en Linux y macOS es su guion de instalación. Como cualquier curl … | sh, descarga y ejecuta código: si prefieres revisarlo antes, bájalo primero a un archivo y léelo.

curl -fsSL https://herdr.dev/install.sh | sh

También está en Homebrew y en mise, y se puede compilar con Cargo:

brew install herdr
mise use -g herdr

# desde el código fuente
git clone https://github.com/herdrdev/herdr && cd herdr && cargo build --release

En Windows, desde PowerShell:

powershell -ExecutionPolicy Bypass -c "irm https://herdr.dev/install.ps1 | iex"

Si el antivirus bloquea esa orden, la documentación ofrece una alternativa que descarga primero un install.cmd. Los binarios de Windows no están firmados, así que SmartScreen avisará la primera vez. Para actualizar basta con herdr update, y con herdr channel set preview se pasa al canal de versiones de prueba. En las versiones de GitHub están los binarios sueltos para Linux (x86_64 y ARM), macOS (Intel y Apple Silicon) y Windows.

herdr --versionherdr 0.9.5

Primer arranque

Se entra al proyecto y se ejecuta herdr. La primera vez aparece una pantalla de bienvenida que resume lo esencial: es una terminal que se puede manejar con el ratón (clic en la barra lateral para cambiar de workspace, arrastrar los bordes para cambiar el tamaño, clic derecho para los menús) y con el teclado, con ctrl+b como prefijo, igual que en tmux.

cd ~/proyectos/tienda-web
herdr
Pantalla de bienvenida de herdr: terminal workspace manager for coding agents, ctrl+b para el modo prefijo
La primera vez que se ejecuta, herdr explica lo básico: se maneja con el ratón y con ctrl+b como prefijo, como tmux. Captura de decodigo.com con herdr 0.9.5.

Justo después ofrece instalar las integraciones con los agentes. No son obligatorias: herdr detecta a los agentes mirando el proceso y la pantalla, pero con la integración el estado es más fiable y puede reanudar la sesión del agente si el servidor se reinicia. Se instalan desde esa ventana o con herdr integration install claude (o codex, opencode…).

Ajustes de herdr, pestaña integrations, con la lista de agentes compatibles marcados como not found
Después ofrece instalar las integraciones con cada agente. En nuestro equipo de pruebas no había ninguno instalado, por eso todos salen como «not found». Captura de decodigo.com.

Con integración están Claude Code, Codex, GitHub Copilot CLI, Cursor Agent CLI, OpenCode, Pi, OMP, Droid, Devin CLI, Kimi Code, Kilo Code, Hermes, Qoder, Qwen Code, Letta, MastraCode, Grok CLI y Antigravity CLI. Amp, Kiro, Maki, Gemini CLI y Cline se detectan sin integración, aunque la documentación avisa de que los dos últimos están menos probados.

Workspaces, pestañas y paneles

herdr organiza el trabajo en tres niveles. Un workspace es normalmente un proyecto, y toma el nombre de su carpeta y su rama de Git; dentro hay pestañas, y cada pestaña se divide en paneles, cada uno con su propia terminal. En la captura, el workspace tienda-web tiene tres paneles: uno con la shell, otro ejecutando las pruebas y otro con watch.

herdr con un workspace dividido en tres paneles: git log, una lista de pruebas y watch date
Un workspace dividido en tres paneles con prefix+v (a la derecha) y prefix+minus (abajo). Captura de decodigo.com.

Los atajos que más se usan, todos después de ctrl+b (el prefijo):

  • prefix+v divide el panel a la derecha y prefix+minus, hacia abajo.
  • prefix+h, j, k y l (o las flechas) mueven el foco entre paneles.
  • prefix+z amplía el panel actual a toda la pantalla y prefix+x lo cierra.
  • prefix+c crea una pestaña y prefix+shift+n, un workspace nuevo.
  • prefix+w salta a la lista de workspaces y prefix+b oculta o muestra la barra lateral.
  • prefix+[ entra en el modo copia, para desplazarse por la salida y copiar texto.
  • prefix+g abre el selector «Go to» y prefix+?, la lista completa de atajos.
  • prefix+q desengancha herdr y lo deja trabajando en segundo plano.
Ventana de atajos de teclado de herdr con las secciones global y navigation
prefix+? abre la lista de atajos, con buscador. Captura de decodigo.com.

El estado de cada agente

Es la función que justifica herdr. Cada panel con un agente lleva uno de estos estados, que suben en cascada a la pestaña y al workspace para que se vean desde la barra lateral:

  • working: el agente está trabajando.
  • blocked: está esperando algo de ti, normalmente permiso para ejecutar una orden o una respuesta a una pregunta.
  • idle y done: está parado o ha terminado su tarea.
  • unknown: herdr no sabe qué hay en el panel, como en una shell normal.

En la siguiente captura hay tres agentes en el workspace api-pagos: uno trabajando, otro bloqueado pidiendo permiso y otro inactivo. Para hacerla no instalamos agentes reales, sino un pequeño guion que informa de su estado a herdr con la misma orden que usan las integraciones, así que el texto de los paneles es nuestro; la barra lateral es exactamente la de herdr.

Workspace api-pagos con tres agentes simulados y la barra lateral marcando working, blocked e idle
La lista de agentes de la barra lateral con tres estados: trabajando (amarillo), esperando permiso (rojo) e inactivo (círculo vacío). Son agentes simulados con un guion nuestro que informa de su estado con herdr pane report-agent, no Claude Code ni Codex reales. Captura de decodigo.com.

Con muchos agentes abiertos, el selector Go to (prefix+g) es la forma más rápida de moverse: lista todas las terminales y agentes de todos los workspaces con su estado y permite buscar por nombre.

Selector Go to de herdr con los dos workspaces, sus terminales y el estado de cada agente
prefix+g abre «Go to»: todas las terminales y agentes de todos los workspaces, con su estado, en un buscador. Captura de decodigo.com.

Un aviso de la propia documentación: el estado es una ayuda, no una garantía. Un agente que acaba de hacer una pregunta puede aparecer un momento como «idle», y que un agente esté inactivo no significa que haya que aprobar lo que propone.

Sesiones que no se pierden

herdr funciona con un servidor en segundo plano. Si cierras la ventana, te desenganchas con prefix+q o se corta la conexión SSH, los paneles y los agentes siguen funcionando. Al volver a ejecutar herdr, todo aparece donde estaba.

herdr session list          # sesiones en marcha
herdr session attach work   # engancharse a una sesión con nombre
herdr --session work        # crear o usar la sesión «work»
herdr server stop           # terminar la sesión de verdad
Salida de herdr session list con la sesión default en estado running
Tras desengancharse con prefix+q, la sesión sigue en marcha en segundo plano. Captura de decodigo.com.
herdr tras volver a engancharse, con los dos workspaces y los tres agentes tal como estaban
Al volver a ejecutar herdr, todo sigue donde estaba: paneles, workspaces y agentes. Captura de decodigo.com.

Hay un matiz importante: si lo que se reinicia es el servidor de herdr o el propio ordenador, los procesos no sobreviven. herdr guarda y restaura la distribución de paneles y workspaces y, en los agentes con integración, puede reanudar su sesión, pero los programas en marcha se pierden. Desde la 0.9.4 guarda la sesión antes de que el Mac se reinicie o Windows se apague.

Varias máquinas en una ventana

Desde la versión 0.9.0, herdr puede mostrar en la misma barra lateral la máquina local y servidores a los que se conecta por SSH, con una lista común de agentes. También puede engancharse directamente a un herdr remoto:

herdr --remote workbox
herdr --remote ssh://you@server:2222

Es útil cuando los agentes trabajan en un servidor potente o en una máquina de desarrollo remota y quieres vigilarlos desde el portátil.

Una API para que los agentes se coordinen

Casi todo lo que se hace con el teclado se puede hacer desde la línea de órdenes, y las respuestas son JSON. Eso permite que un agente abra paneles, lance a otro agente, le mande una tarea y espere a que termine. Algunas órdenes:

herdr workspace list                      # workspaces abiertos
herdr pane split --direction right        # dividir el panel actual
herdr pane run w1:p2 "npm test"           # ejecutar una orden en otro panel
herdr agent list                          # agentes y su estado
herdr agent prompt reviewer "Revisa el diff de pagos.py"
herdr agent wait reviewer --until idle --until blocked --timeout 600000
herdr agent rename w1:p1 reviewer

Cada panel recibe variables de entorno como HERDR_PANE_ID, HERDR_WORKSPACE_ID y HERDR_SOCKET_PATH, para que lo que se ejecute dentro sepa dónde está. Con herdr worktree create se puede además abrir un worktree de Git como workspace nuevo, para que dos agentes trabajen en ramas distintas del mismo repositorio sin pisarse.

Configuración

La configuración está en ~/.config/herdr/config.toml (en Windows, %APPDATA%\herdr\config.toml). Lo más cómodo es partir de la configuración por defecto y recargarla sin reiniciar:

herdr --default-config > ~/.config/herdr/config.toml
herdr server reload-config
[ui]
mouse_capture = false

[terminal]
default_shell = "nu"

[worktrees]
directory = "~/.herdr/worktrees"

Desde la 0.9.2 se pueden tener varios prefijos a la vez, por ejemplo prefix = ["ctrl+space", "ctrl+s"], algo útil si ya usas tmux con ctrl+b.

Limitaciones y cosas a tener en cuenta

  • No metas tmux dentro de herdr: la detección de agentes deja de funcionar dentro de un tmux lanzado en un panel.
  • Historial con secretos: el historial de pantalla de los paneles viene desactivado porque, como recuerda la documentación, puede contener tokens, prompts y salidas con datos sensibles. Se activa con pane_history = true en la sección [experimental].
  • Descarga reglas de detección: herdr baja de herdr.dev, de forma automática, las reglas con las que reconoce a cada agente. Se puede desactivar con manifest_check = false en [update].
  • Windows, en beta: no permite herdr terminal attach ni el traspaso en vivo al actualizar, el cursor puede parpadear y el método de entrada de idiomas asiáticos puede aparecer descolocado.
  • El socket es tu cuenta: cualquiera que pueda usar el socket de herdr puede ejecutar órdenes como tú. No lo compartas ni ejecutes herdr como root.

herdr, herdr-core y la app de escritorio

En octubre de 2026 el proyecto se ha ampliado. Además del herdr de terminal que describe esta página, herdrdev publica herdr-core (la orden hc), un motor de terminales para agentes sin interfaz, y la Herdr app, una aplicación de escritorio nativa construida sobre él, que es lo que hoy muestra la portada de herdr.dev. La versión de terminal sigue desarrollándose y su documentación se ha movido a herdr.dev/tui. La app tiene telemetría activada por defecto (un informe diario sin el contenido de las terminales, que se desactiva en sus ajustes) y sus extensiones son JavaScript sin aislamiento, así que conviene instalar solo las de confianza. Si prefieres una ventana en lugar de la terminal, la explicamos en nuestra guía de la Herdr app, con la instalación, los estados de los agentes y cómo crear temas propios.

¿Merece la pena frente a tmux?

Si solo necesitas terminales que sobrevivan a un corte de SSH, tmux o Zellij siguen siendo suficientes, y herdr lo reconoce en su propia documentación, con una guía para quien viene de ellos. herdr gana cuando trabajas con varios agentes a la vez: la barra lateral con el estado de cada uno evita revisar los paneles a mano, el selector «Go to» encuentra cualquier agente en un segundo y la API permite montar flujos en los que un agente coordina a los demás. Si usas Claude Code, aquí tienes cómo encajan sus comandos, y si trabajas con Codex, cómo dirigirlo.

Fuentes: el repositorio herdrdev/herdr (README, licencia y notas de las versiones 0.9.0 a 0.9.5); la documentación oficial: instalación, primeros pasos, teclado, agentes, configuración y persistencia y acceso remoto; herdr-core y Herdr app. Las capturas son de decodigo.com con herdr 0.9.5 en un contenedor de pruebas, salvo la primera, del repositorio oficial (Apache 2.0).