Agent Chorus
Let your AI agents talk about each other.
Ask one agent what another is doing, and get an evidence-backed answer. No copy-pasting, no tab-switching, no guessing.
If you use 2+ AI coding agents (Codex, Claude, Gemini, Cursor CLI, Cursor IDE), Chorus gives them shared visibility — no orchestrator required.

Two problems, one tool:
- Silo Tax — multi-agent workflows break when agents cannot verify each other's work. Chorus gives every agent read access to every other agent's session evidence.
- Cold-Start Tax — every new session re-reads the same repo from zero. A Context Pack gives agents instant repo understanding in 5 ordered docs.
See It In Action
The Handoff
Switch from Gemini to Claude mid-task. Claude picks up where Gemini left off.

The Status Check
Three agents working on checkout. You ask Codex what the others are doing.

From Zero to a Working Query
chorus setup wires every agent on the box in under a minute.

Quick Start
# 1. Install
# or
# 2. Wire your agents
# 3. Ask any agent in natural language
# "What is Claude doing?" / "Compare Codex and Gemini outputs." / "Pick up where Gemini left off."
Or call chorus directly:
Every response is structured, source-tracked, and redacted:
Source file, session ID, and timestamp on every response. Secrets auto-redacted before output. Prefer --format markdown for human review.
To reverse everything setup did: chorus teardown (add --global to also drop ~/.cache/agent-chorus/).
What's New in v0.16.0
- Cursor IDE adapter. Chorus now reads both the
cursor-agentCLI transcripts and Cursor IDE app sessions through one adapter. If you use the Cursor app, your sessions are now first-class. --history=on-demanddefault.chorus readnow returns just the latest session for the currentcwd. Closes the 2.5x token-inflation issue measured in the v0.15 field study. Provider snippets carry the contract so consumer agents inherit it automatically.cwd_mismatchis now explicit. When--cwdmatches no session, the output says so. No more silent fallbacks that read like real data.- Doctor honesty pass. New
infoseverity, env-var dangling-path detection, git-aware hooks checks, stale-snippet detection. Doctor tells the truth or stays quiet. - Codex search parity fix.
chorus search --agent codexno longer silently returns empty. Theread ⊆ searchinvariant is now enforced for every adapter. --helpoverhaul. Per-subcommand help leads with that subcommand.chorus report --helpships a copy-pasteable handoff JSON schema.
Full changelog and upgrade notes: RELEASE_NOTES.md.
How It Works
- Ask naturally — "What is Claude doing?" / "Did Gemini finish the API?"
- Your agent runs chorus —
chorus summary,read,timeline,compare,search,diff,send,messages,checkpoint, etc. - Evidence-backed answer — sources cited, divergences flagged, no hallucination.
Tenets:
- Local-first — reads agent session logs directly on your machine. No data leaves.
- Evidence-based — every claim tracks to a specific source session file.
- Privacy-focused — auto-redacts API keys, tokens, and passwords.
- Dual parity — Node.js + Rust CLIs ship identical output contracts, conformance-tested against shared fixtures.
Key Capabilities
A taste — see docs/CLI_REFERENCE.md for the full surface.
# Structured digest — files, tools, duration. No LLM calls.
# Chronological view across every agent on the project
# What an agent actually touched (Read/Edit/Bash/Write)
# Verify one agent's claim against another
# Audit what got redacted, and why
# Coordinate without switching tabs
# Broadcast where you left off before ending a session
Supported agents: Codex, Claude, Gemini, Cursor CLI, Cursor IDE. Full capability matrix in docs/CLI_REFERENCE.md.
Context Pack
A context pack is an agent-first, token-efficient repo briefing for end-to-end understanding tasks. Instead of re-reading the full repository on every request, agents start from .agent-context/current/ and open project files only when needed. Local-first, no need to make your repo public.
# ...agent fills in the <!-- AGENT: ... --> sections...
Ask your agent: "Understand this repo end-to-end using the context pack first, then deep dive only where needed."

CI gate: chorus agent-context verify --ci exits non-zero if the pack is stale or corrupt. Internals, sync policy, enforcement: AGENT_CONTEXT.md.
Architecture, in one diagram
Chorus sits between your agent and other agents' session logs. Read-only, evidence-first, no central control plane.
Boundaries: no task router, no scheduler, no autonomous chaining, no live sync stream. Snapshot-based reads from local logs, by design.
Easter Egg
chorus trash-talk roasts your agents based on their session content.

Go Deeper
| If you need... | Go here |
|---|---|
| Full command syntax and JSON outputs | docs/CLI_REFERENCE.md |
| Adapter formats, schema contracts, redaction rules | PROTOCOL.md |
Session handoff protocol, hooks, Gemini .pb fallback |
docs/session-handoff-guide.md |
| Agent-context internals and policy | AGENT_CONTEXT.md |
| Release-level changes and upgrade notes | RELEASE_NOTES.md |
| Contributing or extending the codebase | docs/DEVELOPMENT.md / CONTRIBUTING.md |
Every agent session is evidence. Chorus makes it readable.
Found a bug or have a feature idea? Open an issue. Ready to contribute? See CONTRIBUTING.md.