1
00:00:00,300 --> 00:00:00,780
Picture this.

2
00:00:01,460 --> 00:00:05,080
You've got auto mode running, you wander
off to make a coffee,

3
00:00:05,640 --> 00:00:10,720
and you come back to find it parked on a
prompt about reading a file outside your

4
00:00:10,760 --> 00:00:11,240
project.

5
00:00:12,060 --> 00:00:15,380
That's the setup for today's episode of
the Claude Code Changelog,

6
00:00:15,760 --> 00:00:17,540
brought to you by Jellypod AI.

7
00:00:18,360 --> 00:00:24,540
I'm Lachlan, and today it's one small
wording change in version 2.1.310,

8
00:00:24,960 --> 00:00:29,160
released October 23rd, that explains a
pretty annoying behavior.

9
00:00:30,463 --> 00:00:31,023
I'm James.

10
00:00:31,203 --> 00:00:32,183
Here's the exact change.

11
00:00:32,883 --> 00:00:37,843
In 2.1.310, auto mode's prompt before the
first read outside your working

12
00:00:37,863 --> 00:00:41,603
directories now tells you when blocking
those reads makes shell commands ask for

13
00:00:41,643 --> 00:00:42,063
permission.

14
00:00:42,743 --> 00:00:46,543
For context, in auto mode, reads inside
your working directory tree,

15
00:00:46,743 --> 00:00:50,563
plus any directories you added with the
add dir flag, go through automatically.

16
00:00:51,103 --> 00:00:55,583
When the agent reaches outside that, say a
shared library in a sibling folder,

17
00:00:55,703 --> 00:01:01,043
a dotfile in your home directory, or a
parent repo, auto mode stops and asks you to

18
00:01:01,083 --> 00:01:01,903
establish trust.

19
00:01:02,508 --> 00:01:04,028
And here's why that matters.

20
00:01:04,748 --> 00:01:08,268
Hitting deny feels like the safe, tidy
answer.

21
00:01:08,748 --> 00:01:13,968
But if you deny, that directory stays a
hard boundary, and then shell commands that

22
00:01:14,048 --> 00:01:18,447
touch those paths, think build tools,
package managers, git scripts,

23
00:01:18,928 --> 00:01:21,508
will ask for manual approval again and
again.

24
00:01:22,228 --> 00:01:26,408
My read on it is that if you're away from
the keyboard, that's what stalls the run.

25
00:01:27,048 --> 00:01:30,928
The prompt now tells you that trade up
front, so you're not finding out the hard

26
00:01:30,988 --> 00:01:31,208
way.

27
00:01:31,985 --> 00:01:33,225
So how do you use this?

28
00:01:33,625 --> 00:01:34,665
You've got three options.

29
00:01:35,145 --> 00:01:36,805
First, answer the prompt in the moment.

30
00:01:37,445 --> 00:01:40,725
You can allow the read for the session, or
add the directory permanently.

31
00:01:41,465 --> 00:01:43,085
Second, declare it before you start.

32
00:01:43,565 --> 00:01:48,685
Run claude with the add dir flag followed
by the path, and Claude Code treats that

33
00:01:48,745 --> 00:01:51,245
folder as a trusted project root from the
first prompt.

34
00:01:51,925 --> 00:01:53,745
Third, pre approve it in settings.

35
00:01:54,205 --> 00:01:59,825
In .claude/settings.json, or
settings.local.json if it's just for your machine,

36
00:02:00,305 --> 00:02:02,065
add an entry under permissions allow.

37
00:02:02,525 --> 00:02:05,585
It's a Read rule pointing at the path with
a double star glob,

38
00:02:05,985 --> 00:02:11,325
something like Read of slash path slash to
slash shared lib slash double star.

39
00:02:12,105 --> 00:02:16,145
If you're ever unsure what's active, run
slash status inside the session to check

40
00:02:16,225 --> 00:02:18,605
auto mode eligibility and your current
permission settings.

41
00:02:19,238 --> 00:02:19,898
Two caveats.

42
00:02:20,458 --> 00:02:24,558
First, as far as the release notes go,
this is a change to the message,

43
00:02:24,858 --> 00:02:25,998
not a new permission model.

44
00:02:26,678 --> 00:02:30,398
Nothing about what gets blocked changed,
you just get told the consequence.

45
00:02:31,318 --> 00:02:34,298
Second, keep those allow rules narrow.

46
00:02:35,037 --> 00:02:39,398
A broad glob means an unattended session
can read a lot more than you probably

47
00:02:39,438 --> 00:02:44,178
intended, so point it at the one shared
folder, not your whole home directory.

48
00:02:44,968 --> 00:02:48,528
Now a few smaller things from 2.1.310
worth knowing.

49
00:02:49,048 --> 00:02:54,868
If you run headless, with the p flag or
the Agent SDK, and an MCP tool call times

50
00:02:54,948 --> 00:02:58,608
out while the server's elicitation is
unanswered, Claude now gets told that no

51
00:02:58,668 --> 00:03:00,508
answer came and not to repeat the call.

52
00:03:01,028 --> 00:03:03,608
That should stop a headless job from
hammering the same call.

53
00:03:04,288 --> 00:03:07,728
Also in headless sessions, memory use
during compaction is improved when the

54
00:03:07,788 --> 00:03:09,308
transcript file is very large.

55
00:03:10,052 --> 00:03:10,632
A couple more.

56
00:03:11,152 --> 00:03:16,132
A question's auto continue timer used to
fire the moment your external editor closed

57
00:03:16,252 --> 00:03:18,092
after a long edit, and that's fixed.

58
00:03:18,812 --> 00:03:25,032
For tmux users, mod images now draw inline
when allow passthrough and focus events

59
00:03:25,072 --> 00:03:31,272
are on, in kitty, Ghostty, and iTerm2 3.5
or newer with fullscreen rendering,

60
00:03:31,572 --> 00:03:33,452
where before you only saw the alt text.

61
00:03:34,192 --> 00:03:38,692
And for cloud sessions, there's a new
Choose file button to load an environment's

62
00:03:38,752 --> 00:03:43,252
setup script from a file, and the setup
output now shows in a scrolling box.

63
00:03:44,172 --> 00:03:50,192
Run claude with the version flag, check
you're on 2.1.310, and go pick which folders

64
00:03:50,232 --> 00:03:52,172
you actually trust before your next long
run.

