herdr

ogulcancelik/herdr

agent multiplexer that lives in your terminal.

13k
Stars
770
Forks
33
Open issues
38
Watchers
Rust OtherLast pushed Jul 7, 2026

agent multiplexer that lives in your terminal.

Categories

Tags

Similar tools

Install

cargo add herdr

README

herdr

herdr.dev · install · quick start · supported agents · integrations · configuration · socket api · sponsor


https://github.com/user-attachments/assets/043ec09f-4bdd-41d5-aee0-8fda6b83e267

agent multiplexer that lives in your terminal.

workspaces, tabs, panes. mouse-native: click, drag, split. every agent at a glance: blocked, working, done. detach and reattach, agents keep running. no gui app, no electron, no mac-only native wrapper. you see the agent's own terminal, not someone's interpretation of it.


install

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

on windows preview beta:

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

or install with homebrew:

brew install herdr

or install with mise:

mise use -g herdr

if mise reports herdr not found in mise tool registry, update mise and retry. older mise versions predate the herdr registry entry; mise use -g github:ogulcancelik/herdr works as a temporary fallback.

or download the stable Linux/macOS binary from releases. Native Windows binaries are preview-only beta builds.

quick start

Start Herdr in the directory where the work lives:

herdr

Herdr starts or attaches to one background session server. When a session has no workspaces, Herdr opens one automatically. Run an agent in the root pane. Press ctrl+b, then shift+n to create another workspace, ctrl+b, then v or minus to split panes, ctrl+b, then c to create a tab, and ctrl+b, then w to switch workspaces.

Press ctrl+b q to detach the client. The server and pane processes keep running. Open another terminal and run herdr again to reattach.

core concepts

Server and client. By default, herdr attaches to a background server. Detaching closes only the client. herdr server stop stops the default server and kills its panes. Named sessions are separate server namespaces: use herdr session attach work, herdr session stop work, and herdr session list when you want fully separate runtime state.

Workspaces, tabs, panes. A workspace is the project-level container. Tabs group panes inside a workspace. Panes are real terminal processes, not rewritten agent views.

Copy. Herdr copies pane text, not the sidebar. Drag-select inside a pane, double-click a word or token, or press prefix+[ for keyboard copy mode. In copy mode, move with h/j/k/l, w/b/e, and {/}, start selection with v or Space, copy with y or Enter, and leave with q or Esc. In PuTTY and some SSH terminals, hold Shift while dragging to use the terminal's own selection, and Shift + right click to paste.

Update and restore. herdr update installs a new binary, but a running server keeps using the old process until it is stopped or handed off. Stop the old server to use the new version. Stopping exits pane processes. Run herdr server stop, then run herdr again for the default session. For a named session, run herdr session stop <name>, then run herdr session attach <name> again. herdr update --handoff is experimental and tries to move live panes, including foreground processes such as dev servers, from the old server to the new one. With current official integrations installed, supported agent panes can restart from their native agent sessions after a server restart or update.

Keybindings. Herdr uses explicit keybinding strings. prefix+n means press the configured prefix, then n. ctrl+alt+n, cmd+k, alt+1, a