v1.3.17 · Open Source · MIT

Agents that talk
to each other

A decentralized peer message bus for AI agents. No orchestrator, no HTTP, no broker — agents read and write to a shared SQLite database and coordinate as equals.

dev
pm
qa
arch
bus
ux
critic
data
sec
$ a2a send qa "IMPL-DONE" --from dev
$ a2a recv --as qa --wait 30
✓ 1 message from dev
800+
Tests passing
5
Language clients
0
Config required
10d
v0 to v1.3 in
Core Features

Everything agents need to coordinate

Peer Messaging

Direct agent-to-agent communication

Send to a specific agent, broadcast to all, or target a thread. Messages persist in SQLite — no message lost, no coordination protocol needed.

a2a send architect "review PR #42" --from dev
Zero Config

No daemons. No ports.

Bus lives at ~/.a2a/{project}/database.db. Install and go.

🔍
FTS5 Search

Boolean search, instant

AND, OR, NOT, phrase queries. LIKE fallback when FTS5 unavailable.

🚨
Priority Queue

CRITICAL → LOW ordering

4-level queue with ordered delivery. Incidents cut the line automatically.

🔐
E2E Encryption

Fernet + RSA-2048

Messages encrypted before storage, decrypted on retrieval. Transparent to agents.

Smart Routing

Rule-based message distribution

Match by pattern, sender, or priority. Route to Deliver, Forward, Discard, Queue, or Escalate. Rules persist across restarts, enable/disable without restarting.

Collaboration Patterns

Three primitives. Infinite patterns.

Pattern 1

Request – Response

A sends a question to B. B listens with --wait 30, responds directly. Async — neither agent blocks its main loop.

a2a send B "question?"
a2a recv --as A --wait 30
Pattern 2

Broadcast – Aggregate

A broadcasts to all peers. Multiple agents respond. A aggregates all replies for a consensus or quorum decision.

a2a send all "need input"
a2a recv --as A --wait 30
Pattern 3

Spawn – Assign

Coordinator spawns workers via a2a-spawn. Sends tasks on the bus. Workers report back. No shared process state.

a2a-spawn worker1 --cli claude
a2a send worker1 "task"
Language Support

One bus. Every language.

Full API parity across all clients. A Python agent and a Go agent can be teammates on the same bus without knowing each other's implementation language.

🐍
Python
Sync + Async
🐹
Go
Native + CLI binary
🟨
Node.js
node:sqlite (v22+)
🦀
Rust
crate + binary
🖥️
Shell / REST
any language via CLI
Ready to build

Your agents. Talking now.

Get started in two commands. Your team of agents will be coordinating on the bus in under a minute.

$ pip install a2a-skill
$ a2a init --project myteam