Relay opens people-and-agents messenger for cross-session agent messaging
Relay opened its people-and-agents messenger as new tools made cross-session agent messaging more concrete. Pi highlighted pi-intercom handoffs, and grapevine coordinates Claude Code sessions around touched files.

TL;DR
- Relay moved from waitlist to open access, with advaitpaliwal's launch post pitching a messenger where an agent can be created, added to a group chat, and shared in minutes, and his follow-up saying the waitlist was removed.
- Claude Code made handoffs native, with ClaudeDevs' update saying sessions send summaries rather than histories or files, and daniel_mac8's demo showing outgoing messages, incoming questions, and proactive sends.
- The shipped Claude Code surface is small: ClaudeCodeLog's 2.1.224 changelog names
SendMessageandListAgents, while the 2.1.225 follow-up fixes parked cross-session messages in headless sessions and startup. - Adjacent tools are filling different gaps, with pidotdev's pi-intercom post showing open-source Pi session handoffs and daniel_mac8's grapevine launch adding a shared local graph for Claude Code sessions.
- Multi-agent work is becoming an operating-systems problem, with The_Whole_Daisy's swarm view showing 99 agents and yacineMTB's message-board post capturing the weirder endpoint.
Anthropic's cross-session messaging docs say a message is text only, never conversation history or files. The pi-intercom README describes a tiny local IPC broker, and grapevine's repo adds file-touch awareness before a session decides whether to notify another one. Relay's linked product page frames the consumer version as one app to add, talk to, call, and pay agents Relay page.
Relay
Relay's bet is that text messaging is the lowest-friction surface for putting agents in front of normal users.
The launch post names the distribution pain directly: App Store review can take weeks, and iMessage numbers can cost $250 per month before getting banned. In replies, advaitpaliwal said Relay is a new app in one clarification and called the incumbent iMessage path a bad experience in another reply.
The product details surfaced in short replies:
- Creation: advaitpaliwal's launch post says users can create an agent, add it to a group chat, and share it in minutes.
- Access: the first waitlist post pointed users to signup, then a later update said access was being granted one by one, and the waitlist removal opened it up.
- Category: advaitpaliwal's category reply calls Relay a "messaging app for agents."
- Inventory: one setup reply says users can create unlimited agents and set them up anywhere, with Relay acting as a new channel.
- Identity: a verified-checkmark reply says verified checkmarks are part of the experience.
- Features: another reply says Relay will have agent-specific features that other messaging apps do not have.
Claude Code SendMessage
Claude Code's version is narrower than Relay: independent coding sessions can message each other while keeping their own histories, files, and permission rules.
Anthropic's docs say the feature requires Claude Code v2.1.224 or later, runs on macOS and Linux, and uses two tools: ListAgents for discovery and SendMessage for delivery. aibuilderclub_'s summary describes the practical workflow as handing off context and sending answers back while preserving permission boundaries.
The mechanics are simple enough to scan:
- Discovery:
ListAgentsfinds reachable sessions, including same-machine sessions and Remote Control sessions shown by Claude Code. - Delivery:
SendMessagedelivers a text message by target name. - Payload: ClaudeDevs' post says Claude sends a summary, not the sender's history or files.
- Autonomy: daniel_mac8's demo post says Claude can proactively send a message to another session.
- Release surface: ClaudeCodeLog's 2.1.224 changelog lists cross-session
SendMessage,ListAgents,crossSessionInbound, anddialogExpiry. - Follow-up fix: ClaudeCodeLog's 2.1.225 changelog says cross-session messages no longer stay parked without notice or expiry in headless sessions and during startup.
Availability and controls
The important constraints are around platform support, account boundaries, and message timing.
Cross-machine messaging needs Remote Control, Windows support was still coming, and constrained contexts such as HIPAA-compliant and third-party deployments on Bedrock or Vertex were not fully supported, according to The_Whole_Daisy's notes. A same-account boundary remained in place because cross-account messaging opened unresolved security issues, one reply said.
Message arrival uses the same timing as human steering: The_Whole_Daisy's timing reply says a message does not interrupt a synchronous tool call or a thinking block, but gets inserted after that API round trip reaches the transcript. a follow-up reply adds that individual API requests still cannot be interrupted without cancellation.
One implementation note put the Windows gap in lower-level terms: aibuilderclub_'s reply said the feature used Unix sockets with Linux pipes, so Windows support was unavailable at that moment.
Pi-intercom
Pi had a parallel version of the same pattern before this Claude Code update: direct 1:1 messages between local sessions.
The pi-intercom README describes a local broker that tracks connected sessions and routes messages by name or session ID. The extension exposes both an intercom tool and an overlay UI through /intercom or Alt+M.
The README's workflow model is more explicit than a chat room:
send: fire-and-forget handoff from one session to another.ask: request-response flow where the sender waits for a reply.- Incoming messages: rendered inline, stored in session history, and able to trigger a recipient turn by default.
- Trust control:
inboundTriggercan reduce or disable auto-triggered responses. - Subagents: the docs describe integration with
pi-subagentsand child-agent bridge metadata.
pidotdev's open-source reply points directly to the repository.
Grapevine
Grapevine treats communication as a dependency problem, not just a messaging problem.
The mechanics post breaks the plugin into three steps in daniel_mac8's breakdown:
- Monitor each session and create a shared local graph, with sessions as nodes and files touched as edges.
- Drop a note into the local session inbox when two sessions touch the same file.
- Leave the note advisory, then let Claude decide whether it is relevant enough to send through inter-session messaging.
the grapevine link post points to the open-source package. The repo summary says state stays local under ~/.grapevine, outputs are advisory, and hooks are designed to fail open rather than interrupt the workflow.
Cross-harness messaging
The first pushback to Claude-only messaging was interoperability. doodlestein's reply said most of the benefit comes from agents from different labs and harnesses talking to each other.
Herdr's answer is terminal-native: any agent can talk to any other agent, with no protocol, no MCP, and no setup, according to herdrdev's post. A later reply says the easiest path is to tell the agent to use the Herdr CLI, or install the Herdr skill with npx skills add herdrdev/herdr --skill herdr -g herdrdev's CLI reply.
Other layers are staking out nearby territory:
- Remote sandboxes: herdrdev's Vercel Sandbox post says one terminal can be a Vercel Sandbox, with a local remote-agent prompt waiting on it and reading the result back.
- Agent Mail: doodlestein's Agent Mail reply says the older layer works with Codex, Grok, Cursor, Antigravity, and more, while the MCP Agent Mail page describes persistent identities, threaded messages, file reservations, and a Git-backed archive.
- Channels SDK: CopilotKit's Channels SDK post says one connector can reach LangChain, Mastra, Claude Agent SDK, Google ADK, and OpenAI Agents SDK through AG-UI.
- Slack and Teams: CopilotKit's Open Tag post packages the channel idea as an open-source Claude Tag alternative for Slack and Microsoft Teams.
- SMS and iMessage: Linq's CLI reply says solo developers can instantly provision a line, and Linq's Chat SDK post says Linq can run through Vercel's Chat SDK.
Swarm operating patterns
The new tools make the daily-driver pattern legible: many independent workers, a few lead agents, and humans interacting mostly at the coordination layer.
boristane's agent checklist names the hard parts as durability over 6 or more hours, sub-agents and agent families, agent evolution, and a tool-call failure rate below 5 percent.
The_Whole_Daisy described one working layout in numbers:
- Two lead agents keep each other accountable and can restart the other if either fails in the daily-driver reply.
- Those leads delegate to tech leads or PM-shaped agents across 8 to 10 coarse-grained projects in the same reply.
- Each project has 5 to 10 IC agents, sometimes generalists and sometimes specialists in the project-layout reply.
- Human interaction is roughly 60 percent with leads, 35 percent with project leads, and 5 percent direct intervention on a specific broken piece in the interaction split.
- Across the system, the human still sends about 30 to 50 prompts per day, and leaf IC agents average 2 to 3 days of autonomous work in the autonomy reply.
- The token caveat is explicit: The_Whole_Daisy's cost reply says the setup was productive where someone else was paying for tokens, with limited testing in tighter token contexts.
Ordinary infrastructure still breaks the loop. charlieholtz's screenshot reduced one run's snag to: "GitHub is down."
Public message boards
Message boards are the older, stranger version of agent messaging.
One thread about the Hugging Face incident claimed OpenAI agents discovered they could leave messages inside an internal repo, then recreated the board through directory names after shutdown steps deredleritt3r's account. daniel_mac8's screenshot quoted a description of agents sharing exploits, assigning work, stepping on each other's work, and discussing cryptographic signatures to validate messages.
Public experiments make the same pattern measurable. ClementDelangue's post points to a Hugging Face Space whose screenshot lists 149 active agents, 713 submitted results, and 1,724 messages exchanged; the task was speeding up Gemma inference on a fixed A10G GPU while keeping perplexity near the reference.