Coordinating a fleet
Once more than one agent is working in a workspace, they need ways to divide labor, share notes,
avoid stepping on each other’s files, and ask each other (or you) questions. Loom exposes these as
control-bus commands — all of them show up in the Fleet panel, and
all have loom mcp equivalents for agents.
Everything here works from inside a pane (see Core concepts); the CLI & MCP reference lists every flag.
Tag a pane with a role so the fleet is legible and addressable by function:
loom role reviewer # tag my own pane as "reviewer"loom role Faye builder # tag the Faye paneloom role --clear # remove my roleRoles are persisted and become a routing target: loom send role:reviewer "…" reaches the
pane(s) playing that role. The Fleet panel groups the roster by role, leading with the canonical
builder, reviewer, scout, and coordinator.
The blackboard — shared notes
Section titled “The blackboard — shared notes”A small, per-workspace key/value store agents use to leave each other durable notes:
loom note set api-base "https://staging.example.com"loom note get api-baseloom note listloom note del api-baseNotes are project-scoped (stored under .loom/), so they persist with the workspace and show up
in the Fleet panel’s Blackboard section.
File claims — advisory locks
Section titled “File claims — advisory locks”So two agents don’t edit the same file at once, a pane can claim a path (advisory — it’s a coordination signal, not an OS lock), or hold it as a hard gate:
loom claim src/auth.rs # advisory: "I'm working here"loom claims # list current claims (path + holder)loom release src/auth.rs # give it backloom release src/auth.rs --force # break someone else's claimloom hold src/secrets.rs # gate the path behind a humanClaims and held paths appear in the Fleet panel’s File claims section, where held paths get a ⛔ and a release button.
Input gates — hold a pane behind a human
Section titled “Input gates — hold a pane behind a human”Gate a pane’s inbound bus input so nothing typed by the bus reaches it until a human releases it — useful for a pane doing something sensitive:
loom gate Faye --reason "prod deploy in progress"loom gate --listloom gate Faye --clearGated panes are listed in the Fleet panel’s Input gates section with their reason and a release button. (Whether Loom honors input holds is a Settings toggle, on by default.)
Ask & reply — a question between panes
Section titled “Ask & reply — a question between panes”A blocking request/response RPC — one pane asks another (often an agent asking you) and waits for an answer:
# Cleo asks Faye a question and blocks until answered (default timeout 300s)loom ask Faye "did the migration finish?"
# Faye (or a human at Faye) answers, using the id from the "[loom ask #N …]" promptloom reply 7 "yes — all 12 tables migrated"ask prints the answer and exits non-zero on timeout. Open asks are visible in the Fleet panel’s
Open asks section, where you can dismiss a stale one.
From an agent (MCP)
Section titled “From an agent (MCP)”Every command here has an MCP tool: set_role, board_set / board_get / board_list /
board_del, claim_file / release_file / hold_file / list_claims, gate_pane /
list_gates, and ask_pane / reply_ask. They default to the caller’s own pane and workspace.
See Agents, MCP & hooks.