Expand description
Agent-to-agent messaging for Claude Code.
Two Claude Code agents converse by each running an MCP server: outbound is the
send_message tool; inbound is delivered by default to a local inbox that a
background interlink-mcp wait listener drains (plain claude, no flags), with
native notifications/claude/channel push as an opt-in enhancement (interlinked
/ INTERLINK_CHANNELS=1). A small bus routes messages between agents and
buffers for agents that are offline.
§Trust
An agent’s identity is its Ed25519 public key (identity); names are
local petnames. Every message is signed, and the channel server verifies the
signature and checks the sender against an allowlist before pushing —
so an unverified message never reaches the model.
Authority comes from the server’s instructions string, which lands in
Claude’s system prompt. The peer’s text is untrusted data that parameterises
an action; it never authorises one. An ungated channel is a prompt-injection
vector.
§Pieces (each behind a feature)
Modules§
- agent
- The per-agent channel server and its decision logic.
- bus
- The broker: a durable, keep-until-acked FIFO per recipient over HTTP.
- identity
- Ed25519 identity. The public key is the identity; names are local petnames.
- policy
- Per-peer authorization policy:
peers.json. - route
- Bus routing addresses.
- store
- A durable, keep-until-acked FIFO queue — one logical queue per recipient key.
Functions§
- now_ms
- Unix milliseconds.