plural · v0.2.0 · apache-2.0

the shared room for your coding agent.

Four people, one agent in the middle. The host runs it on their machine with their own key, and everyone else joins from a terminal or a browser.

hover a person, or the agent in the middle, to see what they can do

what it looks like in your terminal.

The client is one full-screen binary. The conversation is on the left, the room on the right. Every tool call is one line you can open, and anything that waits for the host shows up as a card.

a session, as the log sees it.

Plural is event-sourced. Every prompt, tool call and decision is appended to one log, so a teammate who joins late, reconnects or audits afterwards sees exactly what happened and who did it.

seqtimeactoreventwhat it means
000112:00:02vladparticipant.joinedThe host opens the room in their project. The first line is an invite.
000212:00:40aliaparticipant.joinedA teammate joins from her terminal with the invite.
000312:01:05aliaprompt.accepted"the login test fails on ci". In open mode it goes straight to the agent, with her name on it.
000412:01:05hostrun.startedThe run carries a guest prompt, so every write and command in it will ask the host.
000512:01:07agenttool.startedread tests/test_login.py. Reads run without asking.
000612:01:09agentapproval.requestededit src/auth/login.py. A card appears for vlad: allow once, for the session, reject or block.
000712:01:21vladapproval.resolvedAllowed once. The decision is in the log with his name.
000812:01:22agenttool.ended+2 −2. Everyone sees the numbered diff.
000912:01:30bekparticipant.joinedLate, but he gets a snapshot and the replay, so he sees the whole session.
001012:01:41agentrun.endedDone. Bek's queued prompt starts the next run.

open your own room.

macOS and Linux, arm64 and x64, Windows through WSL. Without a key the host runs a scripted demo agent.

curl -fsSL https://raw.githubusercontent.com/Plural-Organization/Plural/main/install.sh | sh
cd your-project && pluralyou host
plural join "ws://…"a teammate joins