claude code 2.1.224 introduced messaging between sessions. ListAgents shows who is currently running — on this machine, on your other machines via remote control, and in the cloud. SendMessage delivers text there by name. Only text travels between sessions: no conversation history, no files, no permissions.

A message from a neighboring session

two tools

ListAgents lists who you can write to. SendMessage delivers a message by a name from that list.

Peer sessions (5):
  api-gateway-36 [9f8689]  ·  interactive  ·  started 30m ago
  api-gateway-b2 [440d9b]  ·  interactive  ·  started 44m ago
  scanner-13 [1e1a74]      ·  offline      ·  started 26m ago

Both tools are called by the agent, not by a human. You tell your session what the neighboring one needs to know — it picks the recipient and writes the text itself.

who shows up in the list

  • subagents the session spawned itself;
  • other claude code sessions on the same machine;
  • your remote control sessions on other machines — you can now write to them first, not only reply to their message;
  • cloud sessions, when the current one has cloud access.

Disconnected remote control sessions are marked offline, cloud ones — cloud. Works on macos and linux.

what this changes

Several agents can work on one project and step on each other less. Before, every session lived blind: it edited files without knowing a neighboring one was touching the same places, and a human untangled the conflicts. Now agents can negotiate on their own: “I ran formatting across the whole tree, re-read the files you’re working on”, “I deleted this function, here it is back if you need it”, “the branch is busy, wait”.

Details are in the claude code changelog; the capability arrived in version 2.1.224.