Demo
Terminal previewherdr
Overview
Herdr is a terminal multiplexer for managing workspaces, tabs, and split panes from the keyboard.
A Ctrl + B prefix drives layout changes, pane focus, sidebar access, and session detach without leaving the terminal.
the runtime your coding agents live on
Keyboard Shortcuts
Open a new tabCtrl + B, C
Split the current pane verticallyCtrl + B, V
Split the current pane horizontallyCtrl + B, -
Open the workspace pickerCtrl + B, W
Toggle the sidebarCtrl + B, B
Move focus between panesCtrl + B, H / J / K / L
Detach from the sessionCtrl + B, Q
Latest Release
v0.9.0
Released: Sep 7, 2026Added
- Manage Local and saved SSH machines from one Herdr window, with a combined agent list, machine-scoped navigation, notifications, and automatic reconnects. Add and manage connections with
herdr machine; a disconnected machine does not interrupt the others. (#3670) - Multiple clients can now view different workspaces and tabs independently. Different tabs fit their viewing clients; when clients share a tab, the last one to interact with it controls its size. (#3526)
- Added Muse agent detection for idle, working, approval, and question states. (#2489, thanks @ohk)
- Sidebar text and metadata tokens can now change color, boldness, and dimming based on their values, using ordered text or numeric rules. (#3693)
- Custom themes can now define separate light and dark color overrides when automatic theme switching is enabled. (#2324, thanks @aneym)
ui.pane_borders = "always"can now frame a single pane when outer borders are enabled."auto"keeps split-only borders,"off"hides them, and existing boolean values keep working. (#3234, thanks @rsmdt)
Changed
- Client updates can now leave compatible servers and their running agents untouched. Missing server features disable only the affected action instead of preventing connection. Servers older than endpoint generation 1 need a one-time upgrade. Replacing a remote server asks before stopping its pane processes, with No as the default answer; experimental handoff remains opt-in. (#3509)
- The terminal UI now runs in each client, reducing redraw work in busy multi-client sessions and keeping themes, menus, copy mode, and other presentation settings local to the viewing machine. (#3487)
- Idle terminal scrollback now uses less memory without reducing retained history or changing reads and resizing. (#3556)
- Pane images and the graphics API are now enabled by default in compatible terminals. Set
terminal.kitty_graphics = falseto disable them; the oldexperimental.kitty_graphicssetting remains accepted. - Closing a primary workspace with open worktree workspaces now requires explicit group intent:
workspace close --grouporworkspace.closewithclose_group: true. Otherwise the whole group stays open. (#2874) - New lifecycle event subscriptions now start with live events rather than replaying retained history. API clients should subscribe before taking their initial snapshot to avoid missing changes. (#1270)
Fixed
- Mouse selections now stay visible and copyable while terminal output continues, including with automatic copying disabled. Ctrl+C and Cmd+C copy a selection even before a delayed mouse release, and a failed copy no longer interrupts the agent. Selection highlights also remain visible when host colors are unavailable. (#3100, #2708, #3684, thanks @moret and @Pimpmuckl)
- Wayland clipboard copies no longer freeze Herdr while
wl-copyserves the selection. (#3014) - Live handoff now preserves mouse forwarding for running pane applications. (#3000, thanks @xkrogen)
- Interrupted pane exits during host shutdown no longer replace the saved session with an empty session or a new default workspace. (#3415)
- SSH clients whose terminal disappears now detach instead of resizing running panes to a fallback size and triggering expensive history reflow. (#3519)
- Focusing a workspace now scrolls the sidebar to keep it visible. (#3554)
- Removing a background worktree workspace no longer changes focus to its parent. Windows worktrees can also be removed while their agent panes are running, without a replacement shell locking the checkout again. (#3098, #3532)
- Worktree commands can now trust a verified repository for one request with
--trust-repository, including accessible Windows repositories owned by another SID, without changing global Git configuration. (#3044) - Oversized Kitty images no longer prevent smaller images from appearing, and image replacements no longer redraw or disappear one row at a time. Direct graphics stay bound to the client that owns them. (#3033, #3166, #3549, thanks @kataokatsuki)
- Pixel mouse coordinates remain correct when pane applications reassert SGR mouse reporting. (#3295)
- Prefix bindings such as
prefix+|now recognize characters produced by macOS Option and custom keyboard layouts, while exact chords keep priority. Arrow navigation also works when terminals such as Alacritty attach text to special-key reports. (#3079, #3328, thanks @vlcinsky) - Direct terminal attaches now honor
ui.mouse_captureand preserve multiline pastes as one paste instead of submitting each line separately. (#2992, #3054) agent promptnow reliably sends the prompt and Enter before reporting successful submission. With--wait, prompts sent to a non-working agent require observed working or blocked activity, so unrelated state changes cannot complete the wait. Pending submissions fail cleanly if the terminal exits. (#3506, #3685)- Long Codex prompts on Windows now wait long enough for the text to arrive be
Discussions