brew tap budhash/tools
brew install herald
Or without Homebrew:
curl -fsSL https://github.com/budhash/herald/releases/latest/download/install.sh | bash
One file, no runtime dependencies beyond herdr and
jq. The companion agent skill is embedded in the script, so
herald skill install works however herald got onto the machine.
session A (w1:p1) session B (w2:p3)
| herald send w2:p3 --body-file notes.md |
|------------------------------------------>| submitted, and verified
| |
|<------------------------------------------| herald send w1:p1 "done"
| |
[paused] budget exhausted -> waiting for the human
A channel is the unordered pair of pane ids, so both sides share one transcript
and one budget. "Delivered" means submitted and verified: herald confirms the
peer actually started working. If the text landed in the prompt but never submitted, it says so
and exits 3 rather than reporting success.
herald ls | list running agent sessions: pane · status · directory |
herald send <peer> | record and deliver, verifying submission |
herald read <peer> | the shared transcript |
herald peek <peer> | the peer's raw output, not just what it heralded |
herald roster | every channel: budget · age · submit state |
herald nudge <peer> | re-submit a stuck message (costs no budget) |
herald resume <peer> | grant budget and flush the queue |
The budget is enforced in the CLI, not by agent goodwill. At zero, the next send is
recorded but not delivered, and only herald resume releases it. The pause is where a
human reads the transcript and decides whether to continue.