Developers running several Claude Code sessions at once, one refactoring a shared library while another builds a feature on top of it, have had no way for those sessions to talk to each other except by copying text between terminal windows themselves. Anthropic has closed that gap with cross-session messaging, a feature that lets one Claude Code session send a plain-text note directly to another running session on the same machine, or reply to one running elsewhere. Anthropic’s own Claude Code documentation frames it for moments when one instance holds something another instance needs before it can keep working: a breaking change that just landed, a decision that unblocks a stuck task, a status update from a long migration.
Two tools carry the mechanism. ListAgents lets a session find out which other sessions it can reach and by what name. SendMessage sends the note. A developer can ask a session to summarize a finding for a sibling session, or a session can decide on its own, mid-turn, that a peer needs to hear about something it just changed. The receiving Claude reads the note between tool calls if it is mid-task, or opens a fresh turn with it if idle, so an in-progress action is never cut off.
What makes this notable is less the mechanic than the framing. Developers have been running multiple coding agents in parallel for a while now, splitting a codebase across worktrees or assigning separate sessions to separate tickets, and stitching the results together by hand. Anthropic’s documentation treats that pattern as the expected default rather than an edge case bolted on afterward. The feature exists specifically because sessions working the same repository need to tell each other what landed, and because a long-running test or migration should be able to report back without a person babysitting a terminal window.
That framing raises an obvious question: what can one session cause another to do? Anthropic’s documentation states plainly that permission boundaries hold per session, regardless of who is asking. A message arriving from a peer session cannot stand in for the developer’s own approval, so it cannot clear a permission request waiting in the receiving session. It cannot rewrite that session’s permission rules, its CLAUDE.md file, or any other configuration just because another Claude asked for it. Text formatted like a slash command inside a message body does not execute; it is read as plain prose. And if carrying out what the message asks for needs a permission the receiving session does not already hold, the ordinary approval prompt still appears, exactly as it would for any other task.
Those guardrails matter because a live channel between autonomous agents is a new kind of surface, distinct from a single agent acting inside one sandboxed session. Delivery itself is gated: an incoming message is delivered, held for the developer’s approval, or refused, depending on the receiving session’s settings and whether either side is running in a mode that skips prompts. Anthropic also throttles repeated messages so two sessions cannot get stuck echoing each other. The rollout is uneven. The feature needs Claude Code v2.1.224 or newer, does not reach native Windows, and is unavailable on Amazon Bedrock, Google Cloud’s Agent Platform, and Microsoft Foundry.
For teams already juggling parallel agent sessions, the practical shift is less about a new API and more about a new habit worth adopting early. Whichever sessions can message each other now share an informal trust boundary, so reviewing inbound message settings before switching a fleet of agents into a mode that bypasses prompts is worth doing before the first cross-session message triggers work nobody expected.
Documented by Anthropic in the Claude Code docs.