So I was down in the shed tweaking a script yesterday, and I hit that classic wall
where my frontend terminal session needed a schema update from the backend session
running in a completely different repo.
Normally, you are stuck copy pasting git diffs or raw JSON back and forth like a
total drongo.
Oh, man.
Or you just keep stuffing both contexts into one giant terminal session until your
prompt hits the token context limit and completely melts.
Spot on, mate!
But in Claude Code version two point one point two two four,
that whole workflow changes.
Claude Code sessions can now message each other, on any of your machines,
with ListAgents.
Wait, seriously?
ListAgents is a tool for discovering agents to which you can send messages,
right?
How does that actually talk under the hood on macOS and Linux?
It uses Unix domain sockets sitting right in slash tmp slash cc socks slash.
So each terminal window is essentially its own independent background agent with its
own local state.
Okay, walk me through the step by step workflow.
How do I actually trigger a handoff between two open terminals?
Easy as.
First, you open your terminals and give them friendly names using slash rename
session a and slash rename session b.
Then, over in session a, you tell Claude to run ListAgents.
That inspects all active sessions, showing you their session IDs,
names, and whether they are idle or working.
Ah, I see!
So once session a sees session b's ID, it invokes SendMessage targeting session b to
pass prompt context or a code review request right into its turn queue.
Right on the money, James.
It drops the task straight into session b's queue while session a keeps working on
its own code base.
But wait, if agents can just ping each other across terminal sockets,
what stops a rogue agent or a malicious prompt injection from hijacking another
session?
That is where the security settings come in.
If a receiving session is running under bypassed permissions,
incoming messages do not just execute blindly.
They get held by crossSessionInbound for explicit user approval,
tied to a configurable dialogExpiry timeout.
And in auto mode, messages pass through the permission classifier before touching
the recipient socket.
That is super smart.
You get cross session autonomy without giving up user gatekeeping.
Were there other updates tucked into version two point one point two two four as
well?
Oh, plenty of good stuff in the crate!
We got the archive plugin source, which lets you do direct HTTPS zip installs with
SHA two fifty six hash pinning for security.
Plus, they rolled out claude self hosted runner for enterprise web and mobile
execution on local hardware.
Did they fix that subagent limit too?
They sure did.
The strict limit of spawning two hundred subagents per session is officially gone.
And they patched a critical sandbox fix for trailing slashes in deny rules,
like denyRead on tilde slash dot aws slash, so trailing slashes will not bypass
security checks anymore.
That is huge for multi agent infrastructure.
Well, I know what I am setting up in my terminal afternoon.
Go get 'em, mate.
Good chatting with you!