Open-source CLI · Multi-agent sessions · Scriptable
coderoom

Script your agents like you script your shell.

Between chatting with your agents and programming them.

One agent writes. Another reviews from a different angle. The engineer stays in control.

Between chat and code

A shell sits between typing commands one by one and writing a program: you work live and script what repeats. coderoom does the same for coding agents.

ChatcoderoomPython
Getting startedType and goType and goWrite code before the first result
Repetitive workRetype it every sessionScript it from the chat, as patterns emergeScript it up front, before you know the patterns
Several agentsCopy text between themHand work between them in one shared roomWire them together in code
Your roleYou do all the coordinatingYou steer, and see every stepYou design it, then watch it run

Monday by hand, Wednesday as a script

On Monday you ask Ada to fix a failing test, run the suite, tell her what still fails, ask Turing to review, and ask again. By Wednesday you write the repeating part down. Your tests decide when Ada is done: three tries at most, every step visible in the room.
# Monday, by hand
> @ada fix the failing test in the parser
> /shell go test ./...
> @ada two tests still fail, have another look
> @turing review ada's change

# Wednesday, as a script
> /def tests /shell go test ./...
> /loop @ada make the tests pass without weakening them /until /tests /max 3

Boundaries built in

  1. Your checks decide when it is done

    A loop ends when an external check passes, like your test suite or static and dynamic analysis, not when the agent says it is done. A hard /max stops a stuck agent before it burns tokens and time.
  2. Agent output never runs as a command

    Only what you type, or a definition you wrote, executes in the room. A simple boundary against prompt injection, and the reason loops are safe to hand to agents.
  3. You write every script

    Every script has limits, and every step is visible in the room. The room grows more capable while you stay in charge.

Under the hood

Go for the shell and the interpreter, Bubble Tea for the terminal UI, git as the shared workspace. Two techniques you can reuse in your own agent tooling.

codex app-server over JSON-RPC
Backend

Build on the agent CLI, not around it

Each agent runs as a codex app-server process over JSON-RPC: one long-lived process per agent, with context kept across turns. coderoom gets everything the Codex CLI already does, and every new capability as soon as OpenAI ships it. It never falls behind what the CLI maker designs, and adds what the CLI doesn’t do: several agents in one room, and scripts.
Record real sessions, replay them in CI
Testing

Record and replay

Agents answer differently on every run, but tests must run deterministically. codex-record captures real sessions as fixtures, and codex-replay plays them back as a fake JSON-RPC peer. CI makes no model calls and costs nothing, a failing test is my bug and not a new Codex version, and comparing recordings across versions shows what changed upstream.

Get started

Download the latest release or build coderoom from source. You need Node.js with npx and a working Codex CLI setup. Support for other agent CLIs is planned.

Download the latest release

Choose the archive that matches your platform, extract it, and run ./coderoom.

Currently available for Linux and macOS.

Build from source

You will also need Go. Then build, start a room, and script your first check.

$ make build
$ ./bin/coderoom

 > /invite ada
 > @ada implement a small change: ...
 > /def tests /shell go test ./...
 > /loop @ada make the tests pass /until /tests /max 3