What
SendMessagenow routes through a hook pipeline that lets a plugin hook rewrite the recipient or the message text before delivery. If the recipient changes, permissions are re-checked. If a hook tries to readdress a send but noaskhandler is present to approve it, or the readdress is denied, the send is dropped with an explicit refusal.- A new plugin-facing API was added for cross-session/agent messaging:
$.session.messagesreads another agent's or session's transcript,$.session.authorizeauthorizes a first-party credential for a session, and$.session.sendsends a message to another live session or agent (built on theSendMessagetool), including resolving session IDs and reporting delivery-failure reasons.
Why
Together these give plugins more control and visibility over cross-session communication: they can intercept, redirect, or block messages between sessions, and they gain a proper API surface to read another session's history and send it messages programmatically, rather than only through the built-in tool.
Names in the bundleSendMessage
The entry above is what we published on the day. These lines were added later, as Anthropic's own pages caught up, and they sit beside the original rather than replacing it.
Confirmed since
Anthropic's documentation has since written up SendMessage, on Claude Code changelog.
* Fixed sessions launched without the `SendMessage` tool (such as by Claude Desktop) still being told to message other sessions with itchangelog see the edit
Added since
A small documentation edit on Create custom subagents touched a line naming SendMessage after this was published.
* **Sibling roster**: a [system reminder](/docs/en/glossary#system-reminder) listing `main` and every other named agent in the session, each a valid `to` value for [`SendMessage`](#resume-subagents). Requires Claude Code v2.1.206 or later.…sub-agents see the edit
One source agreesOne thing we can check says the same as this entry.
Anthropic's documentation agrees
A small documentation edit on Create custom subagents touched a line naming SendMessage after this was published.