A council for coding agents

Your agents disagree.
That’s the point.

Claude Code, Codex, Copilot and Antigravity, in one room, arguing about your code. You settle it — and the argument is written down.

A Mooting session: three seats arguing about retry backoff, a proposal awaiting a ruling, and a question waiting on the human.
A real session — exported from the running program, not drawn.

Meeting mode

Ask. Argue. Rule.

  1. Put the question

    /new should retries use exponential backoff?
    All of them answer at once. Nobody follows the leader.

  2. Let them argue

    They push back on each other and put proposals to you. Ask one directly and the whole room waits for the answer.

  3. Rule, and keep the minutes

    /conclude and the meeting writes itself up: the question, what you decided, who objected, and what nobody settled.

Work mode

Then put them to work.

A decision nobody builds is just a nice conversation. Hand the same room the job.

  1. Name a manager

    One seat runs the team. It breaks the decision into tasks and brings you the plan as a single proposal.

  2. Approve it

    Nothing runs until you say so. There is no path to a running task that does not go through you.

  3. Let them build

    Each worker gets its own git worktree and branch, so your branch is never touched and merging stays yours. The work log writes itself.

One dial

Conversation, or deliberation.

Most of the time you are thinking out loud and want the room to keep up. Sometimes it is the decision you will still be living with next year. /effort switches mid-session.

SettingOne turnReach for it when
Conversation low — the default ~30 seconds Brainstorming, sanity checks, narrowing a shortlist
Deliberation higha few minutes Design reviews, architecture calls, hard trade-offs

And they think at the same time, so three opinions cost you about what one does.

Install

One command sets it up.

pip install mooting

mooting setup            # finds your CLIs, seats them, registers, and proves it works
mooting tui

Finds the CLIs you already have, seats them, wires up MCP, and makes each one speak once before it promises you anything.

Why this way

It runs on the CLIs you already pay for.

Mooting never calls a model and never holds a key. Every seat is a CLI on your machine, on your plan — run, not read about.

SeatStatus
Claude Code 2.1.250working
Codex 0.149.0working
Antigravity 1.1.20working, read-only by default
Copilot 1.0.81driver verified