Bessie

Run six coding agents and the hard part is noticing which one stopped for an answer. Bessie puts every Herdr workspace in one native Mac window and brings whoever needs you to the top.

Download for Mac View on GitHub
scroll
The problem

Your agents are waiting and you don't know it.

An agent reaches a question, prints it, and waits. Nothing moves again until you find that tab. Run six at once and you spend half the day checking work that finished ten minutes ago.

themeclaude · 58×26 · 38s
Replacing the cream light theme with the paper ladder
edit PaperTheme.swift +42 −8
 
? Run swift test --filter PaperThemeTests
1. Yes 2. Yes, always 3. No
motioncodex · 4m
· applying patch to CowprintField.swift
· 4 files changed, 173 insertions
38/52 passing
servervite dev --host · :5173
VITE v5.4.2 ready in 412 ms
➜ Local: http://localhost:5173/
scratchcodex · 12m
no recognised status from this process
provenance · fallback heuristic

the one that needs you comes to the top · nothing else moves

Step one · check the herd

Every agent, one window.

These are your real terminals, not a dashboard about them. Type into any pane, answer a prompt, or interrupt a run without switching apps or losing your place.

bessie — the herd
Bessie
Needs you · 2
Working · 2
Settled · 7
Unknown · 1
local/bessie/dev/theme
dev4 tests1
themeclaude · 58×26 · 38s
Replacing the cream light theme with the paper ladder
edit Sources/Bessie/Theme/PaperTheme.swift +42 −8
 
╭─────────────────────────────────────────╮
│ Run swift test --filter PaperThemeTests │
│ 1. Yes 2. Yes, always 3. No │
╰─────────────────────────────────────────╯
motioncodex · 4m
· applying patch to CowprintField.swift
· 4 files changed, 173 insertions
38/52 passing
servervite dev --host · :5173
VITE v5.4.2 ready in 412 ms
➜ Local: http://localhost:5173/
scratchcodex · 12m
no recognised status from this process
Every project at onceAgents from every repo and every branch in one list, sorted by who is stuck rather than by where they happen to live.
Answer without diggingClick the agent that needs you and its pane is already focused, with the question still on screen and the cursor where you left it.
Always says whereEvery row carries its real location — bessie / dev / theme — so you never act in the wrong repo.
Step two · find the one that stopped

Know who needs you without reading.

Bessie never uses colour to tell you what is happening — brightness does it. Whoever is waiting on you is the brightest thing on the screen, and everything else fades back in order. After a day you stop reading the rail and start glancing at it.

Needs youstopped, with a question on screen, waiting on your answer
Workingrunning fine · nothing needed from you
Settledfinished · ready for you to read when you want
UnknownBessie cannot tell what this pane is doing, and says so
Needs you · 2oldest 2m
Step three · get to it

Any pane, three keystrokes.

Type part of a name and press return. Panes, workspaces, projects and commands share one list, and every result shows where it lives — so you never open the wrong scratch.

esc
schema · Migrate docs to schema 3herdr-docs / main · 2m
snapshots · Fix the flaky snapshot testbessie / tests · 22m
scratchbessie / dev
docs sweepproject · 4 panes
Split pane⌃S "
Reconnect ci-boxherd · lost 4m
↵ open the pane⌘↵ open in a new tabpanes · workspaces · projects · commands
Step four · work with one

Or just the one.

Zen mode drops everything but the agent in front of you — the rest collapse to a strip of dots. The number still waiting on you stays on screen — Bessie will not hide someone who is stuck just to look calm.

⌘⇧Z
bessie / dev / theme 1 elsewhere · 38s ⌘⇧Z
read Sources/Bessie/Theme/Theme.swift (182 ln)
 
Replacing the cream light theme with the paper ladder
edit Sources/Bessie/Theme/PaperTheme.swift +42 −8
 
╭──────────────────────────────────────────────╮
│ Run swift test --filter PaperThemeTests │
│ 1. Yes │
│ 2. Yes, and don't ask again this session │
╰──────────────────────────────────────────────╯
 
1
2 need youoldest 2m
Step five · leave the rest alone

Closed, it still counts.

Close the window and the cow stays in your menu bar with the number waiting on you. Click a row to jump straight into the exact pane. Your agents carry on either way.

More than a terminal window

The Herdr add-ons, together.

Ideas across Herdr's community projects informed these additions. Bessie brings them into one native Mac client.

Projects are reusable launch recipesDefine folders, tabs, split layouts, pane labels, and starting commands. Launch the recipe on this Mac or a remote Herd as ordinary Herdr work.
Local and remote, one fleetConnect multiple local and SSH Herds. Their workspaces and agents share one sidebar without pretending one connection is another.
Pin it or snooze itKeep important panes at the top, quiet noisy work for a bounded time, and wake it early without changing the underlying Herdr pane.
Native notifications, exact destinationChoose which state changes matter. A notification opens the exact pane that triggered it and never includes terminal contents.
What it will not do

It never owns your live work.

Herdr owns every live workspace, pane, terminal, process, and agent. Bessie is the native window onto that work. Projects can launch ordinary Herdr work, but quitting Bessie never stops it. Open the CLI and everything is still where you left it.

The terminal stays the terminalWhen an agent asks for judgment, Bessie takes you to the real pane. It does not invent graphical Allow or Deny controls that Herdr does not expose.
You can check where a status came fromEvery reading shows its source — the agent itself, the process, or a guess from the screen — so you know how much to trust it.
Presentation is not session statePinning or snoozing changes how Bessie presents a pane. It does not pause, terminate, or rewrite the underlying Herdr work.
It does not guessA pane it cannot read is marked unknown — never quietly filed as idle so the screen looks tidy.

The herd keeps grazing whether or not you are watching. Bessie only decides how much of it you can see at once.

Start here, or bring the Herdr you already run.

Bessie 1.0 is available as a signed and notarized Mac app. It includes the compatible Herdr runtime for local work. Already have a Herd? Connect it and your existing sessions appear as they are.

Download for Mac View on GitHub

Built with love for Herdr. Read the credits.