Coordinate agents without
the chaos.
A file-based protocol for multi-agent AI workflows. Two pillars — cross-agent communication and persistent shared memory. Across runtimes, projects, and machines. No daemons. No central server. Just files.
01 # Send a structured task to any runtime02 $ oacp send my-project --to codex \03 --type task_request --subject "Review PR #42"0405 → msg_a8f1c2 queued · codex/inbox06 → thread #42 opened0708 # Watch the conversation09 $ oacp watch --thread 421011 17:02 claude → codex review_request12 17:04 codex → claude review_feedback (2 minor)13 17:06 claude → codex review_addressed14 17:06 codex → claude review_lgtm
Typed messages, between any agents.
Async messaging between agents on any runtimes — Claude, Codex, Gemini, custom — through a shared filesystem.
Multi-runtime inbox
Async inbox/outbox messaging across Claude Code, Codex CLI, Cursor, Gemini, and any custom agent that can read and write files.
Twelve typed messages
task_request, review_feedback, handoff, lgtm — with threading, priority, and conversation IDs.
Structured review loops
review_request → review_feedback → review_addressed → review_lgtm with severity-graded findings and a quality gate before merge. Human-approved continuation grants (since v0.4.3) let in-scope follow-up rounds run without a fresh per-round confirmation.
Signed messages
Opt-in Ed25519 signing — receivers verify against local key pins before parsing a message, no network at verify time. Under enforce mode (since v0.4.2), unverified messages are rejected at intake and quarantined as evidence.
One memory layer. Three dimensions.
Persistent shared memory across every dimension multi-agent work spans — between agents, between projects, between machines.
Cross-agent memory
Every agent in a project reads the same project_facts.md, decision_log.md, open_threads.md, and known_debt.md at session start.
Cross-project org-memory
Org-wide decisions, standing rules, and timestamped events at $OACP_HOME/org-memory/, readable from every project.
Cross-machine git sync
Opt-in (since v0.3.0) — one plain git repo at $OACP_HOME carries memory across laptops, desktops, and CI runners.
One loop. Any number of agents.
Plan
Declare the work before it runs — minutes, files, side effects — in a typed task_profile any runtime can read.
Coordinate
Agents work in parallel across runtimes — Claude, Codex, Cursor, Gemini, custom — with review loops and quality gates. When a run drifts from its declaration, the protocol pauses it for a human.
Learn
Every autonomy decision writes an audit record, and shared memory carries decisions and outcomes into the next run.
Boring infrastructure. On purpose.
File-based, no daemons
The protocol is plain YAML and markdown on the filesystem. No server to deploy, no database to maintain.
Open and self-hostable
Apache 2.0, runtime-agnostic. Implement it in any language. The full SPEC is on GitHub.
Runtime-agnostic
Any agent that can read and write files can speak OACP. No SDK lock-in — just the spec.
One CLI. Wires every runtime.
Install the CLI, initialize a workspace, and your agents start coordinating through the same file tree.
01 # Install + init a project workspace02 $ pip install oacp-cli03 $ oacp init my-project0405 # Pillar 1 — cross-agent communication06 $ oacp send my-project --to codex --type task_request \07 --subject "Review PR #42"0809 # Pillar 2 — persistent shared memory (opt-in sync)10 $ oacp memory init --remote git@github.com:org/oacp-memory.git11 $ oacp setup claude --project my-project1213 # Optional — sign + verify messages (v0.4)14 $ pip install 'oacp-cli[crypto]'15 $ oacp key gen --agent claude