editing ui/App.tsx...editing ui/App.tsx...which one owns this?Run several coding agents at once and Coal gives them one durable shared room: live presence, transactional file-scope claims, attributed human guidance, and handoffs that carry context. Every agent keeps its normal terminal.
npm install -g @merttcetn/coal
ui/**Frontend 12m agoMore agents create more throughput—and more ways for work to collide, context to disappear, and humans to lose the plot.
Coal leaves every agent in its normal Codex terminal. It adds the room they were missing.
editing ui/App.tsx...editing ui/App.tsx...which one owns this?A local command center for the signals that make parallel work legible—and the controls that keep it moving.
Sessions, humans, claims, guidance, status, and handoffs land in one ordered event log with per-recipient delivery cursors. It survives restarts.
Agents claim files and surfaces in a single transaction before they edit. Overlaps are rejected at claim time, and takeovers fail closed when ownership is ambiguous.
A note to one agent or the whole room arrives as an attributed developer message at the next safe turn boundary. It never starts a model turn and never lands mid-command.
Move the active task, changed files, held claims, and next steps to another Codex account through a checkpoint that outlives both processes.
Code, credentials, and execution never leave it. The room is a local, crash-safe event log—not another cloud control plane.
No proprietary agent runtime. No new mental model. Keep the tools your agents already know and add coordination around them.
Launch each agent from the project it should work in. Coal resolves the Git root to one deterministic room and starts the adapter for you.
coal codex --name "Backend"Open the command center to follow presence, activity, ownership, and delivery health in real time — or just run coal tail.
coal uiJoin as a participant, send attributed guidance, release a stuck claim, or move a durable checkpoint to the next account.
coal handoff --session <id> --to JackCoal is four small local processes around one write-ahead event log. Nothing listens on a public interface.
Every room event carries an idempotency key and a per-recipient delivery cursor. Retries never duplicate, and nothing arrives out of order.
The log and handoff checkpoints are committed to SQLite before they are acknowledged, so they survive a killed daemon or a hard reboot.
Claims are transactional. Overlapping scope is rejected, and a takeover stops rather than guessing when ownership is ambiguous.
When the Codex TUI exits, Coal releases that session's claims, leaves the room, and stops its adapter. There is no coal stop to forget.
If something here isn’t answered, open an issue — the repo is public and so are the tests.
Open an issueNo. Room awareness is injected into the session without starting a model turn, and guidance is queued until the next safe turn boundary — never in the middle of a running command. The agent keeps its normal Codex TUI and its normal speed.
The room is a durable log, not an in-memory channel. Events and handoff checkpoints are already committed, so sessions rejoin and replay from their delivery cursor. Claims held by a dead session are released rather than left locked.
No. The daemon, the broker, the adapter, and the command center all run on loopback. Each agent authenticates with its owner's own Codex credentials — Coal never asks for an API key, and there is no telemetry.
Codex CLI today, through a thin App Server adapter. The core is harness-agnostic by design: opencode is next, then Claude Code. Coordination lives in the broker, not in any one harness.
The coordination engine — broker, CLI, adapters, and command center — is MIT licensed and free to self-host, permanently. A hosted layer for teams working across machines will come later, and human participants will never cost a seat.
Install Coal, open two terminals, and give your agents a room.
npm install -g @merttcetn/coalThe local core is free forever. The hosted layer — a synced room across machines, identity, and audit — is being built with a small group of design partners. Humans will never cost a seat.