Several agents. One office.
The whole setup for running coding agents side by side. You see which one needs you, and you never reach for the mouse.
git clone https://github.com/ZyxWorks/agent-office ~/agent-office && ~/agent-office/bin/office setupmacOS or Linux. MIT licence. It asks before it installs anything or changes a file of yours.
spaces
○ api
main
· website
main
───────────────────────────
agents
○ api
firstmate · 88k · 3m · idle
89% · main
× api
claude · 412k▲ · blocked
89% · #109 · fix/login
The sidebar. Each agent's state, how full its context is, how long it has been quiet, the quota left, its pull request and its branch.
○Idle: your turn◐Working✓Done×Blocked: it waits for you·Nothing known yet
How it works
herdr runs the terminal, Firstmate supervises the agents, treehouse gives each one its own git worktree. Agent Office is the wiring between them, packaged and tested. It rewrites none of them.
Paste the line
office setupasks four questions, installs the tools you lack, clones Firstmate and checks the result. Run it again any time.Open the office
office onopens the office and its Firstmate.office offcloses it when you go home.Say what you want done
Firstmate starts the workers, each in its own worktree, and reports back. You watch the sidebar.
Which one needs you
Every agent has one line in the sidebar. herdr knows whether it is working, idle, done or blocked. The meter adds how full its context is and how long it has been quiet.
claude · 412k▲ · 47m · idle| You see | It means |
|---|---|
412k | Tokens in this agent's context right now |
▲, white and bold | Past 200k, or past half of a smaller window |
▲▲, red | Past 600k, or past three quarters |
47m | Time since it last wrote to its transcript |
× blocked, white and bold | It waits for you. A push to your phone too, if you turn that on |
The numbers come from the agent's own transcript: Claude Code, Codex, and Claude Code on a local Ollama model. An agent the meter cannot identify stays blank; it never guesses. Both limits are yours to set. The theme is greys: white and bold when an agent needs you, red only for a fault (context past the alarm, quota out). Every state also has its mark and its word, so nothing rests on colour alone.
No mouse
Shift+arrow walks the whole office: to the pane on that side, then to the next tab or space. It stops at the ends, so you can hold it. Everything else is Ctrl+Space, then one letter: small for the space, with Shift for the tab.
| You want to | After Ctrl+Space |
|---|---|
| Make a new space, or a new tab | nN |
| Close one | cC |
| Rename one | rR |
| Split the pane to the right, or below | v- |
| Go to any agent by name | g |
| Go to the agent that asked for you | o |
| Leave, with everything still running | d |
office keys prints every key on one screen. A probe checks that sheet against herdr itself on every push, so it cannot drift from what the keys do.
The day
| You want to | You type |
|---|---|
| Install, or check the install again | office setup |
| Open the office and its Firstmate | office on |
| Talk to Firstmate | fm |
| Walk away and leave it all running | office break |
| See what is running | office status |
| See what is installed, and whether it is a tested version | office doctor |
| Move every tool to the version this release names | office update |
| Go home | office off |
What it does not do
No rewrite
herdr, Firstmate, treehouse and the tools around them stay with their own makers and keep their own updates. Agent Office owns the install, the one config, the tested versions and the daily commands.
No blind install
A release is downloaded at a pinned version and checked against a pinned SHA-256 before it is unpacked. npm packages install with their scripts off. Nothing is piped into a shell, nothing uses sudo.
No overwriting your files
Every change is shown first, what it replaces is backed up, and it asks. Your own herdr config file is never touched.
No blanket kill
office offstops the office it started, after it shows what will stop. It never stops everyclaudeon the machine and never deletes a worktree.No signing in for you
You install and sign in to Claude Code, Codex or any other agent yourself. Your accounts and keys never pass through this.
No telemetry
Phone pushes are off until you turn them on, and the address they go to is only in your own config file.
Every command on this page has a probe that runs it in a throwaway home, on macOS and Linux, on every push. The source is public, and so is every claim on this page.
Who builds this
ZyxWorks builds Zyx and puts it to work inside companies. Agent Office is a tool we built for our own work and give away.