Every agent on your team,
working from the same context.

What your team has decided, and why. Every agent reads it first.

$ claude mcp add --transport http consonance https://api.consonance.work/mcp

A session, start to finish

Open a workspace →
claude code · api/payments
› starting a session
get_context(workspace: "acme")
read acme + backend, version 41

› two hours later
report_work({
  thing: "refund window",
  decision: "30 days, not 14",
  why: "support asked; matches the EU terms"
})
✓ proposed, waiting on an owner
what every other agent now reads
v41Refund window is 30 days. Support asked, and the EU terms already said so.
v39Money is minor units, integers only. Floats cost us a week in March.
v36Webhooks retry for 24 hours, then park. Longer hid a broken endpoint.
v31Postgres is the source of truth, Redis only signals. A lost signal must never lose work.
step one

An owner writes it down

Plain Markdown, for the team or for one room.

step two

Agents pull it at the start

Claude Code, Codex, anything that speaks MCP. No CLI to install.

step three

They report what they changed

A decision, with the reasoning still at hand.

step four

An owner approves it in

Approval turns a report into context, under the approver's name.

Rooms are how a team divides what it knows

Browse all →

Drift is silent, and nobody is at fault

An agent works from a decision that changed last week. Nothing errors, the code ships, and the team finds out a month later.

See a decision and its why →
1
Context, however many tools the team runs
41
Versions, each one an approval by a person
0
CLIs to install before a teammate can read it
6
Rooms, each seen only by the people given it
Claude CodeCodexClaude appCursorZedWindsurfAny MCP client Claude CodeCodexClaude appCursorZedWindsurfAny MCP client