← All posts

Herdr · Multiplexers

Better Herdr support is coming to TermRover

TermRover's Herdr support will keep improving as I move my coding-agent workflow from tmux, with better touch interaction and mobile controls.

Herdr · MultiplexersWorkflows

Better Herdr support is coming to TermRover. I am slowly moving my coding-agent workflow from tmux to Herdr, so I am finding more of the small interactions that matter on a phone and improving them through daily use. The reasons for my move are practical: enough of my tmux muscle memory carries over that I can be productive immediately, scrolling and copying text feel natural, and herdr --remote solves a remote image-upload problem that once made me consider building TermRover for desktop.

This is not a “tmux is dead” post. tmux is dependable, available almost everywhere and still the default multiplexer in TermRover. Herdr simply fits the way I work with coding agents better, and every week I find myself reaching for it more often.

My tmux muscle memory carries over

The first pleasant surprise was how little I had to relearn. Herdr uses the same prefix model as tmux, with Ctrl+B as the default, and many everyday bindings feel familiar:

  • prefix+c creates a new tab.
  • prefix+z zooms the focused pane.
  • prefix+x closes a pane.
  • prefix+[ enters copy mode.

Herdr is not a byte-for-byte copy of tmux’s complete keymap. It has its own concepts, including workspaces, tabs and an agent sidebar. But it speaks enough tmux that my hands already know how to begin. The Herdr keyboard guide is refreshingly direct about this: if you come from tmux or Zellij, you already know the model.

That matters more than a long feature comparison. A tool can be better on paper and still lose if adopting it means rebuilding years of terminal habits. With Herdr, the transition feels gradual rather than disruptive.

Scrolling and copying text just work

Herdr is mouse-native. I can scroll through pane history, drag across text to copy it, double-click a token and interact with panes without first negotiating a copy-mode ritual. Keyboard copy mode is still there when I want it, but it is no longer the price of doing something as ordinary as copying an error message.

That sounds like a small quality-of-life detail. In an agent workflow it happens constantly: read older output, grab a path, copy an error, switch panes, resize something, check another agent. When all of those tiny interactions are frictionless, the whole multiplexer feels calmer.

It also maps naturally to TermRover. A multiplexer that expects real pointer input gives a mobile SSH terminal something useful to send when I tap or swipe, instead of treating touch as a clumsy imitation of keyboard shortcuts.

herdr --remote is the killer feature for me

Most of my code and agents run on another machine. From my Mac, I can now attach to that remote Herdr session directly from my beloved iTerm2:

herdr --remote workbox

The local Herdr process acts as a thin client. It connects over SSH, starts or attaches to Herdr on the remote host, then streams the interface back into my local terminal. That alone is convenient, but the important part is where the client runs: on my Mac, where it can access my local clipboard.

With an image in the macOS clipboard, Herdr can transfer it to the remote host and put the remote path into the focused pane. I can take a screenshot, copy it, press Ctrl+V in iTerm2 and hand it to a coding agent running somewhere else. The official remote workflow guide explains why this works: the local client bridges desktop features such as image clipboard paste into the remote session.

This removes a surprisingly large problem from my own roadmap. I originally intended to bring TermRover to desktop partly because pasting an image from a desktop terminal into an agent on a remote host was awkward. herdr --remote solves that cleanly while letting me keep using iTerm2. There is no need to build a desktop TermRover just to replace a terminal I already love.

TermRover will keep getting better with Herdr

My own workflow shapes TermRover. As more of that workflow moves to Herdr, its touch support in TermRover will keep getting better too.

You can already choose Herdr from the multiplexer picker and set Herdr as the default multiplexer for a host. Once selected, the session list, attach and detach actions, and Quick Row follow Herdr instead of tmux. New tabs for that host can open with the right multiplexer selected from the start.

Choose Herdr once, then make it the default multiplexer for that host.

TermRover 1.0.8 was one step in this direction. It added an optional double-tap gesture for opening the software keyboard. With that enabled, a single tap remains available to the terminal application, while a double-tap toggles the keyboard. That is especially useful with Herdr’s clickable interface: tapping a control should activate the control, not cover half the screen with a keyboard I did not ask for.

There is plenty more to learn from using Herdr on a phone. I would rather improve the integration from real daily friction than build a checklist of features that looks complete but does not feel right.

Except for agent notifications

There is one part of Herdr’s agent workflow that I do not plan to carry into TermRover: agent notifications.

I know, I know. Herdr can play a sound when an agent changes state in a background workspace, and on a computer that is enough for me. I am already there, the ding is local, and I can decide whether to look.

When I am outside with only my phone, I want the opposite. I want to get on with my day and check on the agents when I choose. I do not want every completed task, question or error to become a push notification with a claim on my attention.

That decision predates Herdr, and the reasoning has not changed. I wrote it out in why TermRover does not notify you: coding agents should wait for me, not train me to wait for them.

The workflow I want

On my Mac, Herdr gives me a richer home for coding agents without asking me to abandon the terminal or the tmux habits I already have. herdr --remote lets iTerm2 reach those agents on another machine and send them an image straight from my clipboard.

On my phone, TermRover gives me the touch interaction, session switching and mobile input needed to check the same remote work when I want to. Then I put the phone away again.

That division feels right. Herdr can become the multiplexer where more of my agents live, and TermRover can become a better way to reach it from anywhere, without turning either one into another source of distraction.

If you have a specific Herdr workflow that you want to see supported better in TermRover, open an issue in the GitHub feedback tracker or join the TermRover Discord. The most useful requests describe what you are trying to do, where the current interaction gets in the way, and what would make it feel natural on a phone.