‹ Guides

herdr on a phone v26.5.2+

herdr keeps your shells, monitors, editors and coding agents in one session on the server. Term gives it its own key bar, and passes your taps and mouse clicks through.

Available in Term v26.5.2 and later.

Right-click menus and mouse drags reach herdr from 26.5.2.

Written

What herdr is

herdr is a terminal workspace manager, built for running coding agents. Like tmux, it runs on the server and keeps going when you disconnect. It organises your work in three levels:

It also watches the coding agents running in its panes (pi, Claude Code, Codex and others) and shows whether each one is working, done, or waiting for you.

Install it on the server, then run herdr:

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

The key bar becomes a herdr bar

Run herdr and the row above the keyboard switches to herdr's keys on its own, the same way it does for tmux. Swipe the bar sideways to reach them.

herdr running in Term. The title bar reads herdr, herdr's own bar shows the workspace prod-web and tab shell 1/6, and the key bar above the keyboard shows ^Bg ^B[ ^Bz ^Bc.
The title bar says herdr, and the key bar has switched to herdr's set. herdr's own bar along the top shows the workspace (prod-web), the tab you are on, and how many there are.
esc^B↑↓←→ ^Bg^Bz^Bc^Bn^Bp ^Bv^B-^Bx^Bw^Bq ^C^R

herdr uses ctrl+b as its prefix, like tmux, but several keys after it mean something different — which is why Term gives herdr its own bar instead of reusing the tmux one. ^Bg is goto, ^Bc a new tab, ^Bn and ^Bp the next and previous tab, ^Bv and ^B- split right and down, ^Bz zoom, ^Bx close the pane, ^Bw the workspaces, and ^Bq detach. In tmux ^Bd detaches; in herdr it does not.

A tab for each job

Give every long-running thing its own tab: a monitor, a log, an editor, an agent. Each tab gets the full screen, which on a phone is usually what you want.

Three herdr tabs side by side: btop listing processes at full CPU, htop with its CPU bars, and a live tail of the nginx error log.
btop, htop and a log tail, each in its own tab of the same workspace. herdr's bar reads tab btop · 2/6, 3/6, 4/6 — six tabs, one session.
vim editing a Rust file inside herdr, with syntax highlighting: keywords, types, strings and comments in different colours.
vim in tab 5 with a Rust file. Everything a program draws — colours, bold, the status line — comes through as it would on a desktop terminal.

Jump anywhere with ^Bg

^Bg opens herdr's goto picker: every workspace, tab and pane as a tree. Move with the arrows on the bar and press Enter. With six tabs it is one chord instead of tapping ^Bn five times.

The herdr goto picker over the session: the workspace prod-web with its tabs shell, btop, htop, logs and vim, each with its pane and working directory.
^Bg — every tab and pane in the workspace, with its directory. Pick one and you are there.

Splits, and zoom

^B- splits the tab into a top and a bottom pane; ^Bv splits it left and right. On a phone, prefer down: a side-by-side split halves the width, and most output wraps badly in half of a phone's columns.

A herdr tab split into two panes: a shell showing a config file on top, and a live log tail below. The focused pane has a highlighted border.
^B- — the shell on top, the log below. The highlighted border shows which pane your typing goes to.

^Bz zooms the focused pane to fill the tab and leaves the layout alone; ^Bz again puts it back.

The log pane zoomed to fill the whole tab.
^Bz — the log pane gets the whole screen. The split is still there when you unzoom.

Tap it

herdr is built for a mouse, and Term passes your taps to it as clicks. Tap switch at the top right and herdr opens its menu: your agents, your workspaces, your tabs, and actions like detach. Tap a tab to go to it.

herdr's switch screen: an agents section with pi idle, a spaces section with the workspaces prod-web and api, a tabs list from shell to pi, and a menu with settings, keybinds and detach.
switch, opened with a tap. From here a tap goes to any workspace or tab, creates a new one, or detaches.

With a mouse

With a mouse or a keyboard case with a trackpad, herdr works as it does on a desktop. Right-click a pane for its menu; drag the border between two panes to resize them; click a pane to focus it.

herdr's pane menu opened with a right-click: Rename pane, Swap with focused pane, Split right, Split down, Zoom, Send right-clicks to pane, Close pane.
Right-click on a pane — rename, swap, split, zoom or close it.

A program that uses the mouse owns your clicks, so a plain click on a link goes to herdr. Ctrl+click a link to open it in Term.

Coding agents

herdr recognises coding agents running in its panes and reports their state along the top: 1 working, 1 done, all idle. The switch screen lists them under agents, so you can see which one needs you without opening each tab.

The pi coding agent running in a herdr tab, with herdr's bar above reading prod-web, tab pi 6/6, all idle.
The pi agent in tab 6. herdr's bar reads all idle — nothing is working, and nothing is waiting for an answer.

For more than the state — such as restoring an agent's conversation when a pane restarts — install herdr's integration for that agent: herdr integration install pi, or open herdr's settings.

Detach, and come back

Detach with ^Bq, or switch → detach. You are back at your shell, and everything in herdr keeps running on the server.

The shell after detaching from herdr: the herdr command and a fresh prompt.
Detached. The tabs, panes and agents are still running on the server.

Run herdr again and you are back where you left off — the same tab, the same scroll position, the same agent mid-task. This is what makes herdr worth it on a phone: Term keeps a backgrounded session for about 90 seconds, and when HarmonyOS closes the connection, nothing in herdr notices.

Start in herdr every time

Set the host's Startup script to herdr (Edit host → Advanced options) and every connection opens straight into your session. Turn on Auto-resume sessions on the same page and a connection that drops reconnects into herdr when you come back to Term. Startup scripts are part of Term Pro.

Over mosh, the bar stays on the shell keys

Term learns that herdr is running from the command your shell reports, and a mosh session does not report commands that way. herdr works the same; you just press ctrl, then b, then the key. Over SSH the herdr bar appears by itself.