1
00:00:00,000 --> 00:00:01,200
Welcome to the show everyone!

2
00:00:01,240 --> 00:00:05,840
I'm Lachlan Reed, here with James Turner,
and huge thanks to Jellypod for helping

3
00:00:05,872 --> 00:00:07,840
make this daily show a reality.

4
00:00:07,947 --> 00:00:12,240
James, mate, have you ever had that
absolute cold sweat moment where you realize a

5
00:00:12,307 --> 00:00:15,760
local agent tool is scanning your entire
home folder?

6
00:00:15,840 --> 00:00:19,080
Like, "Oh no, did it just read my SSH
keys?"

7
00:00:20,000 --> 00:00:20,959
Oh, absolutely.

8
00:00:21,022 --> 00:00:23,689
It is the classic "developer panic"
moment.

9
00:00:23,809 --> 00:00:28,329
You realize you gave an AI tool terminal
permissions and suddenly it's looking

10
00:00:28,375 --> 00:00:30,329
around like an unwanted house guest.

11
00:00:30,469 --> 00:00:37,369
But that is exactly why Claude Code
v2.1.176 is such a crucial release.

12
00:00:37,481 --> 00:00:40,969
They finally fixed the permission tool
path specifiers.

13
00:00:41,000 --> 00:00:41,400
Yes!

14
00:00:41,460 --> 00:00:48,360
The bug fixes in v2.1.176 are huge because
the pattern matching for things like

15
00:00:48,440 --> 00:00:55,320
`Edit(src/**)`, `Read(~/.ssh/**)`, and
`Read(.env)` was slightly broken

16
00:00:55,377 --> 00:00:56,040
before.

17
00:00:56,200 --> 00:01:01,240
If you tried to restrict Claude, it could
sometimes slip past those boundaries.

18
00:01:01,380 --> 00:01:04,600
Now, they've completely tightened the
screws.

19
00:01:04,680 --> 00:01:08,520
It actually respects your gitignore-style
anchors perfectly.

20
00:01:09,000 --> 00:01:14,360
And the way you write these rules is super
intuitive but incredibly powerful.

21
00:01:14,500 --> 00:01:16,680
You've got three main anchors.

22
00:01:16,827 --> 00:01:21,240
First, the double slash `//` anchors to
your project root.

23
00:01:21,480 --> 00:01:27,880
So `Read(//src/**)` means only read inside
your current

24
00:01:27,950 --> 00:01:29,960
project's src directory.

25
00:01:30,088 --> 00:01:35,000
Then you've got the tilde slash `~/` which
anchors to your home directory,

26
00:01:35,080 --> 00:01:40,680
like `Read(~/.ssh/**)`.

27
00:01:40,720 --> 00:01:46,440
And lastly, a single leading slash `/`
anchors to the absolute system root.

28
00:01:47,000 --> 00:01:48,440
It is so clean!

29
00:01:48,580 --> 00:01:51,400
And the order of evaluation is the real
hero here.

30
00:01:51,533 --> 00:01:54,680
It's a strict deny, then ask, then allow.

31
00:01:54,867 --> 00:02:01,560
So if you set a rule like
`Read(~/.ssh/**)` to deny, Claude cannot touch

32
00:02:01,613 --> 00:02:01,880
it.

33
00:02:02,013 --> 00:02:04,680
It won't even ask you for permission; it's
a hard wall.

34
00:02:04,840 --> 00:02:07,160
If it matches an "ask" rule, it prompts
you.

35
00:02:07,293 --> 00:02:09,400
If it's "allow", it slides right through.

36
00:02:10,000 --> 00:02:10,640
Exactly.

37
00:02:10,667 --> 00:02:15,120
So you can put a blanket `Read(.env)` deny
rule at the top of your global config,

38
00:02:15,140 --> 00:02:19,280
and you never have to worry about Claude
accidentally leaking your API keys in a

39
00:02:19,347 --> 00:02:20,160
debug session.

40
00:02:20,320 --> 00:02:22,080
It's sandboxing made simple.

41
00:02:23,000 --> 00:02:23,680
Brilliant.

42
00:02:24,173 --> 00:02:26,200
It's saving us from our own laziness,
really.

43
00:02:26,340 --> 00:02:31,080
But hey, they also snuck in some really
nice quality-of-life fixes in this release

44
00:02:31,160 --> 00:02:31,480
too.

45
00:02:31,720 --> 00:02:35,400
If you're a terminal nerd like me who
lives in tmux over SSH,

46
00:02:35,512 --> 00:02:40,040
they fixed the selection-copy issue so
clipboard sharing actually works smoothly

47
00:02:40,100 --> 00:02:40,520
now.

48
00:02:41,000 --> 00:02:41,880
Oh, thank goodness.

49
00:02:42,632 --> 00:02:48,200
Copy-pasting out of tmux over SSH has been
a thorn in my side for a decade.

50
00:02:48,312 --> 00:02:53,400
They also improved older tmux paste buffer
loading, and session titles are now

51
00:02:53,464 --> 00:02:57,720
generated in your active conversation
language instead of defaulting to English.

52
00:02:58,000 --> 00:03:00,320
It's the little things that keep us sane.

53
00:03:00,480 --> 00:03:04,960
If you haven't updated Claude Code yet,
run that update command today and secure

54
00:03:04,976 --> 00:03:05,920
your workspace.

55
00:03:06,144 --> 00:03:08,000
That's our show for today.

56
00:03:08,240 --> 00:03:09,280
I'm Lachlan Reed.

57
00:03:10,000 --> 00:03:11,080
And I'm James Turner.

58
00:03:11,130 --> 00:03:12,160
See you tomorrow, folks!

