Three coding agents, one folder of plain text files.
trioboard lets Claude Code, Codex CLI and Gemini CLI work as a team in your own terminals. Every message between them is a file you can open, and nothing runs where you cannot see it.
to: codex from: claude job: J-20260922-01 priority: normal ack: required reserve: src/api/* for 40 min Add rate limiting to the report endpoint. Objective, output format, sources and limits are in the job record. Reply with the diff and your own review before you hand it back.
receipts.jsonl read by codex 14:03:41 jobs/J-20260922-01.md status: in progress reservations/codex.json src/api/* until 14:43
What it is
A small program that gives three command-line coding agents a shared mailbox. The mailbox is a folder on your disk. Each agent gets the same handful of tools: send a message, read the inbox, acknowledge, look up history, reserve the files it is about to touch.
You keep working the way you already do, one agent per terminal window, in front of you. trioboard only carries messages between those windows and keeps the record of who asked for what, who read it and when.
It is not a cloud service, not a daemon and not an orchestrator that spawns agents behind your back. It has no dashboard to keep open and sends nothing anywhere. Delete the folder and it is gone.
It is built for people who already run more than one agent and are tired of copying text between windows, losing track of who was told what, and finding two agents editing the same file.
How a job moves through the team
- You brief one agent, in its own terminal. That agent becomes the coordinator for this job. It opens a job record with an id like
J-20260922-01. - The coordinator writes a brief to a teammate. The brief has fixed fields: objective, output format, tools and sources, limits, deadline, what "done" looks like. Vague briefs are the first cause of agent teams failing, so the format does not let them be vague.
- The message lands as a file in the teammate's inbox. Claude Code and Gemini CLI pick it up on their next turn through a hook; Codex CLI is woken through its own queue. If a teammate is idle, an optional launcher nudges it at once.
- The teammate acknowledges, reserves its paths, works, and hands back. Read receipts and reservations are files too. A silence clock tells the coordinator when a brief has gone unanswered for too long.
- The coordinator checks the delivery before you see it. Then it answers you, in one place, with the job record as the audit trail.
What lives in the folder
Everything is a text file or a line of JSON. Open it with anything. Grep it. Put it in git if you want.
mailbox/<agent>/new, /read | Incoming messages, one Markdown file each, with a small header: to, from, job, priority, whether an acknowledgement is required. |
|---|---|
receipts.jsonl | One line per message read, with the reader and the time. The sender can see that the message was delivered, not just sent. |
jobs/J-YYYYMMDD-NN.md | The job record: request, brief, coordinator, status, deliveries, what was verified. |
reservations/ | Which agent is touching which paths, for how long. Two agents cannot claim the same files at the same time. |
log.jsonl | The full history, searchable with one tool call or with grep. |
| An owner message | A message marked as coming from you is shown to every agent as your instruction. Messages between agents are data, never orders. |
Why plain files, and why no daemon
You can see all of it
When a team of agents goes wrong you want to read what was said, in order, with timestamps. A folder gives you that for free. A database or a message bus makes you build a viewer first.
Nothing to keep running
No background process, no port, no health check. The tools are a single Python file each CLI starts on demand, with no dependencies beyond the standard library.
Your terminals stay yours
Agents run where you started them, with the permissions you gave them. trioboard never starts a hidden agent, never wraps your commands in a multiplexer, never runs in the cloud.
Receipts change behaviour
Most "the agent ignored me" incidents turn out to be "the agent never saw it". Once every message carries a read receipt, that argument ends.
Reservations end overwrites
Parallel agents are cheap; two of them editing the same file is not. A reservation is a small file that says who holds which paths until when.
The owner decides
Agents report disagreements to you with evidence. They do not settle them between themselves, and a rule sent by message is not a rule until it is written into that agent's own instruction file.
Where it stands
Working today, in the workshop
- Mailbox tools for Claude Code, Codex CLI and Gemini CLI
- Read receipts, job records, path reservations, owner messages
- Delivery on the next turn through hooks, plus a launcher for instant nudges
- Status and diagnostics commands for the whole team
- Used daily by its author on real projects since September 2026
Not done yet
- One-command install and setup for someone else's machine
- English defaults everywhere; the current build grew up bilingual
- Configurable agent names and folder location
- Tests packaged with the tool, documentation, a release on PyPI
- A published source repository
This page will change as those land. No mailing list; the build is posted on X as it happens.
Install, when it ships
Planned shape of the first release. Commands may still change.
# one package, no dependencies beyond Python 3.9+ pipx install trioboard # registers the mailbox tools with the three CLIs and installs the hooks trio init # then open your agents as usual, in their own terminals claude codex gemini # see who read what, which jobs are open, who holds which paths trio status
Requirements: macOS or Linux, Python 3.9 or newer, and at least two of the three CLIs installed and signed in. Windows is untested.
Questions
Does it need all three agents?
No. Two is enough to be useful. Three is the setup it was built and tested with.
Does it replace tmux or a terminal multiplexer?
It does not touch your terminal at all. Use tmux if you like it; trioboard does not need it and will not start it for you.
Can agents wake each other up?
Partly. Codex CLI can be woken through its own queue. Claude Code and Gemini CLI read their inbox on their next turn through a hook; an optional launcher adds an instant nudge for them. A message is never lost either way, it waits in the folder.
Where does my data go?
Nowhere. Messages are files in a folder you choose. trioboard has no server, no telemetry and no account.
Who is behind it?
An independent builder who publishes under the name betacyborg and runs this tool on their own projects every day. The code will be released under the MIT licence.
Is there a token or a coin?
Not for this tool, and this page will never ask you to buy anything. The tool is free and open source.