1
00:00:00,079 --> 00:00:02,839
This episode is brought to you by Jellypod
AI.

2
00:00:04,000 --> 00:00:08,460
So, James, mate, if, if you are running
multi terminal setups with Claude Code,

3
00:00:09,119 --> 00:00:13,180
there was a pretty sneaky security hole in
how inter session messaging worked.

4
00:00:13,387 --> 00:00:15,708
Oh, absolute nightmare scenario!

5
00:00:16,168 --> 00:00:19,708
If you had a background agent session
using SendMessage, it could actually pass

6
00:00:19,827 --> 00:00:23,188
prompts directly into another terminal
running with bypassed permissions,

7
00:00:23,767 --> 00:00:27,108
and, uh, execute arbitrary shell commands
right on your machine.

8
00:00:27,244 --> 00:00:27,944
Far out.

9
00:00:28,704 --> 00:00:33,364
So if an unvetted background agent goes
rogue, it could basically take over the

10
00:00:33,424 --> 00:00:34,184
second session.

11
00:00:34,924 --> 00:00:37,944
But version 2.1.228 fixes this, right?

12
00:00:38,239 --> 00:00:38,819
Exactly.

13
00:00:39,299 --> 00:00:44,000
The huge headline update is that cross
session messages sent to a session running

14
00:00:44,019 --> 00:00:47,539
with bypassed permissions are held for
your approval.

15
00:00:47,599 --> 00:00:51,299
You get explicit control before anything
touches that elevated session.

16
00:00:51,574 --> 00:00:52,074
Nice!

17
00:00:52,674 --> 00:00:55,735
So, uh, how do we actually configure this
in our setup?

18
00:00:56,275 --> 00:00:57,254
Is it in the settings file?

19
00:00:57,292 --> 00:01:01,852
Yeah, it is all managed inside your
.claude/settings.json file,

20
00:01:01,886 --> 00:01:03,532
either locally or globally.

21
00:01:03,628 --> 00:01:09,052
They introduced two specific settings:
crossSessionInbound and dialogExpiry.

22
00:01:09,042 --> 00:01:09,762
Right, right.

23
00:01:09,789 --> 00:01:15,122
So you set "crossSessionInbound" to, uh,
"hold" so those messages do not just slip

24
00:01:15,142 --> 00:01:16,002
through automatically?

25
00:01:16,639 --> 00:01:17,220
Spot on.

26
00:01:18,039 --> 00:01:23,239
You set "crossSessionInbound": "hold", and
then you pair it with "dialogExpiry".

27
00:01:23,940 --> 00:01:29,279
You can set dialogExpiry to a number like
300, or a string like "5m" for five

28
00:01:29,319 --> 00:01:29,639
minutes.

29
00:01:29,786 --> 00:01:32,786
Wait, let me guess why that expiry part is
so crucial.

30
00:01:33,586 --> 00:01:39,226
If you are running unattended sessions,
like in automated CI CD pipelines or self

31
00:01:39,266 --> 00:01:40,066
hosted runners...

32
00:01:41,127 --> 00:01:45,186
if a prompt gets held and there is no
human around to click approve...

33
00:01:45,429 --> 00:01:46,470
It just hangs!

34
00:01:46,929 --> 00:01:52,109
Without dialogExpiry, headless build
pipelines would freeze indefinitely waiting for

35
00:01:52,250 --> 00:01:54,309
approval that is never coming.

36
00:01:54,369 --> 00:01:58,549
With the timeout, it safely fails or
aborts after those five minutes.

37
00:01:58,944 --> 00:02:03,324
Man, I have definitely had builds hang
overnight because of a missing prompt timeout

38
00:02:03,424 --> 00:02:03,824
before.

39
00:02:04,424 --> 00:02:05,584
That is a life saver.

40
00:02:05,833 --> 00:02:06,313
Totally.

41
00:02:06,353 --> 00:02:11,993
And speaking of version 2.1.228, there are
two other really nice quality of life

42
00:02:12,037 --> 00:02:13,993
upgrades in this release that are worth
calling out.

43
00:02:14,119 --> 00:02:14,979
Oh yeah?

44
00:02:15,019 --> 00:02:15,860
What else did they tweak?

45
00:02:15,917 --> 00:02:18,397
First, the Write tool rules got updated.

46
00:02:18,557 --> 00:02:23,037
Newer Claude models no longer need to make
a mandatory Read tool call before

47
00:02:23,101 --> 00:02:24,637
overwriting an existing file.

48
00:02:24,904 --> 00:02:28,477
If the model wants to overwrite, it can
just write straight away.

49
00:02:28,617 --> 00:02:30,417
Oh, beautiful!

50
00:02:30,458 --> 00:02:35,117
That extra read step used to burn
unnecessary tokens and slow down file updates.

51
00:02:35,837 --> 00:02:36,678
What was the second thing?

52
00:02:36,708 --> 00:02:38,628
Sandboxing for synced skills!

53
00:02:38,708 --> 00:02:43,108
Any skills synced from claude.ai are now
sandboxed so they cannot execute

54
00:02:43,161 --> 00:02:46,868
exclamation point shell commands, and they
cannot use at symbol file path

55
00:02:46,926 --> 00:02:47,668
expansions.

56
00:02:47,766 --> 00:02:52,147
Ah, locking down those shell escapes and
file path expansions keeps third party

57
00:02:52,186 --> 00:02:54,266
skills strictly in their lane.

58
00:02:55,266 --> 00:02:56,846
Proper security boundary there.

59
00:02:57,401 --> 00:02:57,881
Exactly.

60
00:02:58,301 --> 00:03:02,841
Securing inter session prompts and
sandboxing skills in one tight release.

61
00:03:02,881 --> 00:03:04,201
Pretty solid update all around.

62
00:03:04,250 --> 00:03:06,410
Alright, go update your settings files,
folks.

63
00:03:06,450 --> 00:03:07,610
Catch you next time!

