Skip to main content

Crate interlink

Crate interlink 

Source
Expand description

Agent-to-agent messaging for Claude Code.

Two Claude Code agents converse by each running a channel server — an MCP server declaring the claude/channel capability, which pushes notifications/claude/channel events straight into a live session and exposes a reply tool for the outbound half. A small bus routes messages between them 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)

  • identity — keys, signing, verification, the peer allowlist.
  • bus — the broker: per-recipient queues with POST /send, GET /recv.

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.
store
A durable, keep-until-acked FIFO queue — one logical queue per recipient key.

Functions§

now_ms
Unix milliseconds.