1
00:00:00,099 --> 00:00:04,039
So I was down in the shed tweaking a
script yesterday, and I hit that classic wall

2
00:00:04,139 --> 00:00:08,099
where my frontend terminal session needed
a schema update from the backend session

3
00:00:08,559 --> 00:00:10,159
running in a completely different repo.

4
00:00:11,439 --> 00:00:16,379
Normally, you are stuck copy pasting git
diffs or raw JSON back and forth like a

5
00:00:16,440 --> 00:00:17,279
total drongo.

6
00:00:18,459 --> 00:00:19,419
Oh, man.

7
00:00:19,519 --> 00:00:24,619
Or you just keep stuffing both contexts
into one giant terminal session until your

8
00:00:24,619 --> 00:00:27,779
prompt hits the token context limit and
completely melts.

9
00:00:28,012 --> 00:00:29,092
Spot on, mate!

10
00:00:29,672 --> 00:00:33,592
But in Claude Code version two point one
point two two four,

11
00:00:34,232 --> 00:00:35,773
that whole workflow changes.

12
00:00:36,333 --> 00:00:40,232
Claude Code sessions can now message each
other, on any of your machines,

13
00:00:40,612 --> 00:00:41,472
with ListAgents.

14
00:00:41,786 --> 00:00:42,606
Wait, seriously?

15
00:00:43,226 --> 00:00:46,627
ListAgents is a tool for discovering
agents to which you can send messages,

16
00:00:46,706 --> 00:00:46,886
right?

17
00:00:47,486 --> 00:00:50,346
How does that actually talk under the hood
on macOS and Linux?

18
00:00:50,474 --> 00:00:56,894
It uses Unix domain sockets sitting right
in slash tmp slash cc socks slash.

19
00:00:58,174 --> 00:01:02,695
So each terminal window is essentially its
own independent background agent with its

20
00:01:02,734 --> 00:01:03,694
own local state.

21
00:01:03,952 --> 00:01:06,392
Okay, walk me through the step by step
workflow.

22
00:01:06,892 --> 00:01:10,273
How do I actually trigger a handoff
between two open terminals?

23
00:01:10,333 --> 00:01:11,253
Easy as.

24
00:01:11,313 --> 00:01:15,533
First, you open your terminals and give
them friendly names using slash rename

25
00:01:15,573 --> 00:01:18,813
session a and slash rename session b.

26
00:01:18,973 --> 00:01:23,613
Then, over in session a, you tell Claude
to run ListAgents.

27
00:01:23,725 --> 00:01:27,373
That inspects all active sessions, showing
you their session IDs,

28
00:01:27,440 --> 00:01:29,773
names, and whether they are idle or
working.

29
00:01:29,891 --> 00:01:30,671
Ah, I see!

30
00:01:31,051 --> 00:01:36,292
So once session a sees session b's ID, it
invokes SendMessage targeting session b to

31
00:01:36,351 --> 00:01:40,471
pass prompt context or a code review
request right into its turn queue.

32
00:01:40,929 --> 00:01:42,469
Right on the money, James.

33
00:01:42,490 --> 00:01:47,289
It drops the task straight into session
b's queue while session a keeps working on

34
00:01:47,289 --> 00:01:48,149
its own code base.

35
00:01:48,427 --> 00:01:52,287
But wait, if agents can just ping each
other across terminal sockets,

36
00:01:52,767 --> 00:01:57,367
what stops a rogue agent or a malicious
prompt injection from hijacking another

37
00:01:57,387 --> 00:01:57,668
session?

38
00:01:57,708 --> 00:01:59,468
That is where the security settings come
in.

39
00:01:59,681 --> 00:02:03,388
If a receiving session is running under
bypassed permissions,

40
00:02:03,441 --> 00:02:06,348
incoming messages do not just execute
blindly.

41
00:02:06,444 --> 00:02:10,428
They get held by crossSessionInbound for
explicit user approval,

42
00:02:10,492 --> 00:02:13,308
tied to a configurable dialogExpiry
timeout.

43
00:02:13,468 --> 00:02:18,348
And in auto mode, messages pass through
the permission classifier before touching

44
00:02:18,368 --> 00:02:19,388
the recipient socket.

45
00:02:19,655 --> 00:02:21,034
That is super smart.

46
00:02:21,615 --> 00:02:24,914
You get cross session autonomy without
giving up user gatekeeping.

47
00:02:25,614 --> 00:02:29,074
Were there other updates tucked into
version two point one point two two four as

48
00:02:29,114 --> 00:02:29,234
well?

49
00:02:29,531 --> 00:02:31,611
Oh, plenty of good stuff in the crate!

50
00:02:32,252 --> 00:02:38,012
We got the archive plugin source, which
lets you do direct HTTPS zip installs with

51
00:02:38,151 --> 00:02:40,491
SHA two fifty six hash pinning for
security.

52
00:02:41,071 --> 00:02:45,571
Plus, they rolled out claude self hosted
runner for enterprise web and mobile

53
00:02:45,632 --> 00:02:47,292
execution on local hardware.

54
00:02:47,857 --> 00:02:49,717
Did they fix that subagent limit too?

55
00:02:49,792 --> 00:02:50,592
They sure did.

56
00:02:50,732 --> 00:02:55,472
The strict limit of spawning two hundred
subagents per session is officially gone.

57
00:02:55,672 --> 00:03:00,512
And they patched a critical sandbox fix
for trailing slashes in deny rules,

58
00:03:00,576 --> 00:03:07,232
like denyRead on tilde slash dot aws
slash, so trailing slashes will not bypass

59
00:03:07,285 --> 00:03:08,512
security checks anymore.

60
00:03:08,699 --> 00:03:11,979
That is huge for multi agent
infrastructure.

61
00:03:12,220 --> 00:03:14,599
Well, I know what I am setting up in my
terminal afternoon.

62
00:03:15,426 --> 00:03:16,407
Go get 'em, mate.

63
00:03:16,426 --> 00:03:17,066
Good chatting with you!

