HerdrGUI

A native client for Herdr, written in Rust on Zeron's GPUI shell

Herdr owns the agents.
HerdrGUI gives them a face.

Same session, two faces. Your agents* keep running in Herdr whether you watch them through its TUI or through this window. The GUI never owns a process: it speaks Herdr's own socket protocol, and reads each agent's own on-disk log as a structured conversation.

Built on Zeron, so it keeps its fine design and super-smooth feel: every pane, tab and drag glides. And it is Rust all the way down, so it is genuinely fast.

Download for Windows See the comparison Not official — but worth trying.

Requires Herdr. It is not bundled; HerdrGUI offers Herdr's installer when it can't find it, and starts herdr server when none answers. One exe, no installer, local only.

* Herdr supports more than 20 agent CLIs; HerdrGUI supports only a few of them. It reads the logs of seven: Codex, Pi, opencode and Devin are verified live; Claude, Cursor and Grok are included but unverified. Any other agent still runs in its pane and shows as its terminal.

HerdrGUI on a demo Herdr session: two workspaces in the sidebar, a finished agent transcript on the left, a blocked agent's waiting card in the middle and a terminal pane on the rightHerdrGUI (light theme) on a demo Herdr session: two workspaces in the sidebar, a finished agent transcript on the left, a blocked agent's waiting card in the middle and a terminal pane on the right
Rustnative and fast, no web view
One exeabout 23 MiB, no installer
Local onlyno cloud, no accounts
~1.9 scold start
Windows x64macOS and Linux untested

Not in the exe, on demand: code highlighting for 25 languages is a separate download you pick per language.

One session, two faces

The same session, attached by both clients at once. Herdr shows cells; HerdrGUI renders the same cells natively and, where an agent leaves a log, a conversation next to them.

What you doHerdrHerdrGUI
Read what the agent didA conversation built from the agent's own log: thinking, tool calls and text, followed live.
Herdr TUI: the agent pane as the raw terminal screen of the /healthz task, still workingHerdr TUI: the agent pane as the raw terminal screen of the /healthz task, still working
HerdrGUI: the same pane as a structured conversation: the user's message, a thought-process group with the file edits and commands, the reply, and a Working timerHerdrGUI (light theme): the same pane as a structured conversation — user message, thought process, file edits and the agent's reply
Answer a blocked agentA waiting-for-you card with the agent's question and its choices, and an answer box. The sidebar marks the agent "needs you".
Herdr TUI: the blocked agent's approval prompt as plain terminal textHerdr TUI: the blocked agent's approval prompt as plain terminal text
HerdrGUI: the same blocked agent: the pending command, a Question row and a waiting-for-input card with the prompt's last lines and an answer boxHerdrGUI (light theme): the same blocked agent with a waiting-for-input card, last screen lines and an answer box
Split a paneRight-click a pane, choose Split right or Split down, and one pane is two. The new pane is drawn at once, then evened out; neighbours share one draggable divider.
Herdr TUI: the shell pane split in two, the new empty pane below itHerdr TUI: the shell pane split in two, the new empty pane below it
HerdrGUI: the right-click menu of a pane with Split right and Split down, and the pane split in twoHerdrGUI (light theme): the right-click menu of a pane with Split right and Split down, and the pane split in two
Watch every agentOne list of the agents in all workspaces, each with its CLI, status dot and working timer. Click one to jump to its pane; sort by priority to put the ones that need you first.
Herdr TUI: the agents list in the sidebar, grouped by workspaceHerdr TUI: the agents list in the sidebar, grouped by workspace
HerdrGUI: the agents list of all workspaces with status dots and timersHerdrGUI (light theme): the agents list of all workspaces with status dots and timers
Move things aroundDrag tabs to reorder, drag panes across tabs and workspaces, drop a file to type its path.
Herdr TUI: the tab strip after moving the review tab in front of backendHerdr TUI: the tab strip after moving the review tab in front of backend
HerdrGUI: the same reorder: review first, backend second, in the title bar's tab stripHerdrGUI (light theme): the same reorder — review sits first with its two panes, backend second with three

Both clients attach to the same session at the same time, live both ways. A pane with no readable log still shows its terminal; nothing is made up.

What only the GUI does

Five things a terminal can't draw.

01

Structured transcripts

Each agent's own log, rendered as a conversation: thinking, tool calls and text, followed live as the log is written. Not a screen scrape, so scrolling, searching and copying work like text.

Codex · Pi · opencode · Devin1

Transcript close-up: user message card, thought process, file edits and the agent's reply rendered as a conversationTranscript close-up: user message card, thought process, file edits and the agent's reply rendered as a conversation
02

Waiting for you

When an agent blocks, its question appears once, as a card above the composer with the choices to click and a box for your own answer. The agent turns red in the sidebar and a chime plays. Ctrl+. jumps to the next agent waiting for you.

The waiting-for-you card: the blocked agent's question, its last screen lines, and an answer boxThe waiting-for-you card: the blocked agent's question, its last screen lines, and an answer box
03

A real model picker

A new agent's page lists every CLI you have installed, each with its own models and thinking levels. Your first message starts the CLI you picked, with exactly that model. Once it runs, the session keeps its CLI: the picker then offers only that CLI's models and levels.

A new agent's page with the model picker open: a rail of every CLI, the picked CLI's models, reasoning level and service tierA new agent's page with the model picker open: a rail of every CLI, the picked CLI's models, reasoning level and service tier
04

Files panel

A browsable file tree from disk with a live watch, beside the conversation. Herdr has no file API at all.

The files panel: workspace file tree beside the conversationThe files panel: workspace file tree beside the conversation
05

Conversation or terminal, in place

Switch any pane between its conversation and the real terminal, in the same spot, and back again whenever you like. Nothing restarts; it is the same process.

The same pane twice: conversation view on the left, the real terminal on the rightThe same pane twice: conversation view on the left, the real terminal on the right

Find out more: every GUI-only feature

Same capability, refined

Everything Herdr does with workspaces, tabs, panes and agents, walked from the outside in.

  1. Workspace

    A persistent sidebar in tree or two-line style, status dots per workspace, folder-named workspaces. Repositories group their worktrees; create or open existing ones from the menu.

  2. Tab

    A title-bar strip: drag to reorder, close, pane count pill. Tabs switch instantly, and a new tab draws its placeholder at once instead of a blank while Herdr builds it.

  3. Pane

    A split draws the new pane immediately, then evens out. Neighbours share one draggable divider. Drag a pane across tabs and workspaces, or onto another pane to swap. A right-click menu covers split, zoom, rename, move and close.

  4. Agent

    An agents list with CLI logo, status dot and working timer, across all workspaces. Start one from "+": project, then CLI, then the first message starts it. @pane message chips send text to other panes.

  5. Terminal

    The same cells, rendered natively: selection and copy, mouse forwarding, wheel, IME and CJK input, clickable links.

The status bar at the foot of the sidebar tells you whether Herdr is running, and offers its update and your app's update in one click.

What Herdr does that we don't (yet)

An honest list. It is also why Herdr stays a separate install.

On the roadmap

SSH and multiple machinesMight not happen, and there is no promise on it. Saved machines are listed; connecting isn't built.
Multiple named sessionsOne session per window today.
Herdr's key surfacePrefix key, navigate mode, hjkl. Zeron shortcuts, Ctrl+K and Ctrl+. cover the common cases.
Kitty graphicsNot rendered in panes or transcripts.
Named agentsMessaging by @ chip exists; no UI for stable names.
Transcript depthSubagent nesting, branch trees, token streaming, images and diffs. Readers are message-granular and text-first.

Decided out

  • Plugin system and marketplace.
  • Screen-scraping agent detection. The GUI reads the agents' own logs instead.
  • Popup surfaces, which add little in a GUI.

Be aware

  • HerdrGUI needs Herdr installed.
  • 1 Transcript readers verified live: Codex, Pi, opencode, Devin. Claude, Cursor and Grok readers are included but unverified.

Feedback

Bugs, rough edges and ideas are welcome. The repository link goes here once it is public.