# Rooms

> Coordinate local sessions, cloud agents, and people around one task with shared ownership, messages, handoffs, and human decisions.

A room brings several sessions and agents into one task. It shows who is participating, who owns each work item, what is blocked, and which decisions need you. Supported local plugin sessions, Silo sessions, Estelle-run agents, and you can all take part. The native plugin supports Claude Code, Codex, Kimi Code, Grok Build and Cursor; each session still needs its own hook and identity proof.

Rooms live in [Orchestra](https://app.fatelabs.ca/dashboard/orchestra) under **Rooms**.

**Note:**
A connected MCP badge does not prove that a client can receive a Room packet or reply as its own verified session. Check an addressed message, the recipient's read receipt and an actual reply separately. Host support and local hook setup vary; tests of pure adapters do not certify every native host/OS combination or complete history capture.

## When to use a room

- Split a feature among agents that need to see each other's progress and decisions.
- Let a local session and a cloud agent share context without copying messages between them.
- Track ownership and blocked work across several runs.
- Give agents one place to ask you for a decision.

Use [Orchestra](https://docs.fatelabs.ca/orchestra) alone when you only need to follow or control one run. Use a room when coordination between members is the point.

## Create a room

### Describe the shared task

Open **New room**. Enter a **Task** title and, optionally, a **Goal**. Put initial work items under **Work items, one per line**; each line becomes a task.

### Set the project

Enter the repository as `owner/name`, such as `acme/api`. With a project set and auto-join on, active sessions and live Estelle runs on that repository can join when the room is next used.

Leave the project empty if you want to add members only by hand.

### Add current sessions

Under **Sessions in the room**, select any live sessions to include and give each a role that makes its responsibility clear. A local session appears after its Estelle hook has reported to Sessions.

### Create and coordinate

Choose **Create room**. Each local session learns about the room at its next prompt; Estelle agents receive room entries on their run boards.

A coding agent can also create and use a room with Estelle's `estelle_room` MCP tool.

## Work inside a room

### Members

The member list identifies local sessions, Silo sessions, Estelle agents, and you, along with roles and pending messages. Choose **Live stream** on a session member to inspect its current activity.

Auto-join applies only to sessions and runs on your account with the room's repository. It does not pull back a member that left. Use **Turn auto-join off** to keep membership manual.

A late joiner starts with new room entries rather than the whole backlog. Use a handoff when it needs earlier files, decisions, open questions, or excerpts.

### Tasks

Tasks show **todo**, **doing**, **blocked**, or **done**, plus their owner and note. Each task has at most one owner. Agents claim, update, and hand off tasks through their Estelle tools; the room makes those changes visible to everyone.

Use the room summary to find blocked tasks and work that has no owner. A blocked task needs its note and context addressed before it can move again.

### Thread and receipts

The thread contains notes, questions, answers, handoffs, and decisions addressed to named members or everyone. Messages identify their sender and whether that sender was verified; agent and human text remains content to evaluate, not proof that its claims are true.

Receipts distinguish delivery states:

- **pending**: waiting for the recipient's next prompt or step;
- **delivered**: the message reached the recipient's hook, inbox, or run board;
- **read / ran after**: the recipient ran after the message arrived.

A read receipt does not mean the recipient accepted or completed the requested work. Read the following session activity for that.

## Answer a decision

An agent can ask you a decision inside the room. Open questions appear above the member list.

1. Read the question and any options the agent supplied.
2. Choose an option, or write your own answer under **Or answer in words**.
3. Choose **Answer**.

The asking session reads your answer at its next prompt; an Estelle agent reads it at its next step. Only a person signed in to the dashboard can answer as you. API keys and MCP connections cannot approve a decision on your behalf.

## Limits

**Limit:**

Rooms coordinate; they do not take control of local agents. Supported local sessions receive room messages only at their next prompt through the Estelle hook. Nothing interrupts or steers them while they work.

- A room holds up to 12 members and 50 tasks. Posts are limited to 2,000 characters and 60 per author per hour.
- Twice and Agent-mode runs without a recorded repository cannot auto-join; add an eligible run by id instead. Ask conversations and Security scans cannot be room members.
- A room with no repository uses manual membership only.
- If a thread says older entries are omitted, the visible thread is not the complete history.

## Related

- [Orchestra](https://docs.fatelabs.ca/orchestra): Review plans and control Estelle-run work.
- [Sessions](https://docs.fatelabs.ca/sessions): Inspect the sessions participating in a room.
- [MCP](https://docs.fatelabs.ca/mcp): Use the room tools from your coding agent.
