CHAP · The Collaborative Human-Agent Protocol
CHAP is the open standard for multi-human, multi-agent collaboration. Designed to work with MCP and A2A.
An agent drafts a decision. A human approves, edits or overrides it. Yet that moment of judgement, often the most valuable signal in the system, usually vanishes. Into chat threads, ticket comments and tribal memory.
CHAP turns it into a structured, verifiable record.
What it is
Maya, a senior support agent, will review dozens of agent message drafts this afternoon – thousands by year-end. Most she approves; a few she edits before sending. Without capturing her changes – and implementing a learning loop – the agent will make the same mistake next time.
We sincerely apologise for the extreme delay just wanted to follow up, your order is in transit and will arrive within the next three business days. We deeply regret any inconvenience caused. Let me know if you don't see it by then.
// a human override, captured as structured data { "method": "decide.override", "params": { "task": "tsk_01HZ9YX7K3X8M2V4", "diff": [ { "op": "replace", "path": "/body", "value": "Thanks for following up…" } ], "intent_preserved": true, // refined the result, didn't substitute it "rationale": "Over-apologetic for a routine tracking enquiry.", "tags": ["tone-softened"], "policy_refs": ["support-tone-v2"] }, "evidence": { "prev_hash": "sha256:9f3c…", "sig": "ed25519:…" } }
Now, Maya edits the draft and types a one-line reason as she saves. The change is saved, along with her reason as the rationale. Which means any person, or AI tool, can apply her judgement – in the next five minutes or decades later.
CHAP records the everyday actions of everyday work. And builds intelligence capital across the organisation.
The common actions it manages include:
Why CHAP?
Underwriters own every decision. A Qualified Person signs-off a batch. An operator owns the line. So when you are using AI, human oversight needs to happen. And afterwards, it must be provable that it happened.
CHAP adds the missing piece:
CHAP composes with both – tool calls are recorded as citations; A2A peers appear as participants.
CHAP pays off at the project, programme, site and organisation level.
Build with CHAP and human-agent collaboration becomes systematised with a single common, standard method. No more reinvention for critical functions such as approvals, overrides or audit trails.
Instead of approvals scattered across Slack, Jira, CRM notes and model logs, CHAP gives them one shape. So if a decision is challenged, the answer is a query, not a reconstruction exercise.
Just like MCP or HTTP, building with CHAP means you're not locked into one vendor's platform. And when the subject matter is the accountability layer, betting on an at-cost proprietary format may not feel optimal.
CHAP supports the records these regimes ask for – it does not make a system compliant by itself, but it produces the verifiable evidence that supports oversight, logging and incident review.
Eight questions every CHAP deployment can answer – straight from the evidence log.
See it work
Click through this CHAP session. You will see that every action – acceptances, reviews, overrides and assigns – become an entry in the audit log. Which you can review and replay. Notice that the overrides are collected – by tag – at the end. That's the learning signal CHAP captures. All as a by-product of normal review.
CHAP ships as an MCP server – in Python and TypeScript. Point Claude Code, Cursor or any MCP client at it and every action lands in a signed, chain-linked audit log. Watch a real session below.
Every override carries a record of the difference made, a rationale for each and tags for easy filing and searching. The audit trail writes the improvement report for you.
At every scale
Whether you're using CHAP for a personal project – or implementing it across a global, regulated estate in a GMP environment, CHAP helps you get started with 12 worked scenarios directly available in the repo. Despite a wide range of use cases, each reuses the same primitives:
Here are six of the 12 scenarios:
Deviation → investigation → QP release, signed with regulatory credentials and externally anchored.
Vulnerability-based routing plus handler override with policy citations – evidence of meaningful review within SLA.
Replay an advisor's approval chain across years to prove control continuity and suitability.
Abstention on authority boundary escalates to a qualified human – recorded, with the reason typed.
Mode-gated promotion: the agent earns production only on evidence from the chain.
A non-repudiable signed approval tied to a content version by hash settles it.
For builders
Run the reference server locally, then send JSON-RPC envelopes with curl. No SDK, identity provider or signing setup needed for the first walkthrough.
git clone https://github.com/BrightbeamAI/chap
cd chap/reference/core && npm install && npm run start:demo
# CHAP Core → http://localhost:8080/chap · then send envelopes with curl
# with the reference server running – envelope 1: Alice joins as a reviewer curl -s -X POST http://localhost:8080/chap \ -H 'Content-Type: application/json' \ -d '{ "jsonrpc": "2.0", "id": "1", "method": "participant.join", "params": { "workspace": "wsp_demo", "from": "human:[email protected]", "to": "service:[email protected]", "ts": "2026-05-17T09:00:00Z", "type": "human", "display_name": "Alice", "role": "reviewer" } }' | jq # then: join the bot → describe → create → progress → complete → audit.read
The shared, policy-bound room.
Humans, agents, services – typed addresses.
The units of work they hold.
Drafts, decisions, overrides, citations.
Append-only, hash-linked – signed with the security-signed profile.
The anatomy is driven end-to-end by just seven calls.
That's enough to run a conformant workspace. Everything else is an optional profile layered on top.
Add the profiles you need
Everything beyond the deliberately small core is an optional, versioned profile. Only add when you need it – advertised at runtime through workspace.describe.
Immutability is itself an optional profile – blockchain is only one way to implement it, never part of the core.
'A veto with reasoning is permanently part of the audit log. The minority view is not erased.'
CHAP defers to good standards everywhere else. MCP tool calls are recorded as citations, not re-implemented. A2A peers appear as bridge participants.
One query, one chain, three protocols.
Ready-to-adapt how-to guides ship in the repo: CHAP + MCP · CHAP + A2A · CHAP + OIDC.
A real audit trail
A task assigned and accepted, worked with a cited tool call, reviewed, overridden with a rationale, put to a weighted group decision, and signed off – every entry hash-linked and replayable years later. The paper's Appendix A trace.
Because every override carries a typed diff – and a reason – the audit log becomes a tuning dataset as a side effect of normal work. It tells the systems not just that a human stepped in, but why.
means the agent reached the right decision the wrong way – weak retrieval, a poor template.
means it reached the wrong decision – ambiguous policy, missing context.
These tune to different fixes. Abstention rates tell you where the human/agent boundary should sit. You can slice overrides by model version, task kind, policy, reviewer role and tag – without scraping a single final document.
Why open – and why from us
TCP/IP, HTTP, OAuth, OIDC and now MCP – the pattern is consistent. Open, shared standards become the basis of many platforms. And given that the collaboration between humans and agents will have to be standardised – one way or another – we believe better in the open, with as many implementers contributing as possible.
At least three Steering Committee seats must be held by people not employed by the largest contributor. No single party – including us – can steer it.
A CHAP Enhancement Proposal cannot be accepted without a working reference implementation. Vendor-specific extensions are out of scope.
CHAP is v0.2 – a public draft. The wire format and schemas are stable for review; the Core runs; the review profile and a routing-aware playground are runnable; conformance scaffolding is in the repo. Wire-format changes in 0.x remain possible – we're inviting feedback before committing to 1.0.
The seven Core methods, Ed25519, hash chain, one transport. The weekend build.
Adds override, abstain, escalate, handoff, whisper, capture, plus OIDC human identity and MCP composition.
Needs a second, independent implementation passing the same interop suite – one from outside Brightbeam; our TypeScript and Python references don't count. That is the headline step to 1.0.
The method catalogue holds 39 method handlers – seven for the Core path, nine for Minimal conformance. Hierarchical workspaces are an explicit candidate for v0.3. Security note: Ed25519 lacks post-quantum resistance – hybrid post-quantum signatures are named as future work. CHANGELOG · SPECIFICATION
Build it in the open
CHAP is licensed CC-BY 4.0 for the specification and Apache 2.0 for the code, implementable royalty-free in any language.
Typos, examples, test vectors, integrations go straight to a PR.
New methods, transports or breaking changes go through a CHAP Enhancement Proposal and rough working-group consensus.
'The Human–Agent Symphony will not emerge simply because models improve. It will emerge when the collaboration layer between humans and agents becomes explicit, observable, portable and shared. CHAP is a proposal for that layer.'
CHAP paper · §15FAQ