1
00:00:00,320 --> 00:00:03,180
Righto, grab a coffee, because this one's
a quick win.

2
00:00:03,960 --> 00:00:08,380
This is The Claude Code Changelog, brought
to you by Jellypod AI.

3
00:00:09,500 --> 00:00:15,260
Anthropic shipped 2.1.316 on October 31st,
right after

4
00:00:15,400 --> 00:00:22,120
2.1.314 on the 30th, and the one I'd
change my setup for today is a new environment

5
00:00:22,180 --> 00:00:26,840
variable: CLAUDE_CODE_SUBAGENT_EFFORT.

6
00:00:27,702 --> 00:00:28,602
Here's the backstory.

7
00:00:29,542 --> 00:00:34,542
Back in 2.1.292 we got an effort parameter
for subagents.

8
00:00:35,302 --> 00:00:40,102
Before that, and still today when nothing
names an effort, a subagent inherited the

9
00:00:40,162 --> 00:00:41,722
effort of the session that spawned it.

10
00:00:42,522 --> 00:00:46,842
So if you bump your main session to high
or xhigh for a nasty bug,

11
00:00:47,322 --> 00:00:50,462
every little helper you delegate to runs
at that same depth.

12
00:00:51,062 --> 00:00:54,142
Searching files, drafting a test, running
a check.

13
00:00:54,762 --> 00:00:56,982
All of them thinking as hard as the main
thread.

14
00:00:58,115 --> 00:01:01,155
That's like hiring a brain surgeon to
carry the groceries in.

15
00:01:01,895 --> 00:01:03,735
Lovely work, but a bit of overkill.

16
00:01:04,595 --> 00:01:10,355
And remember 2.1.311, where the ultrathink
keyword bumps that turn's effort to

17
00:01:10,595 --> 00:01:10,975
xhigh.

18
00:01:11,735 --> 00:01:15,495
Pair that with inheritance and one keyword
can ripple out to every worker

19
00:01:15,555 --> 00:01:16,035
underneath.

20
00:01:17,975 --> 00:01:22,115
Right, and the release note for 2.1.316 is
pretty plain.

21
00:01:22,775 --> 00:01:27,475
CLAUDE_CODE_SUBAGENT_EFFORT sets the
effort level subagents run at when nothing else

22
00:01:27,535 --> 00:01:29,835
names one, instead of inheriting the
session's.

23
00:01:30,295 --> 00:01:34,275
So you can keep your interactive session
at xhigh while background workers default

24
00:01:34,315 --> 00:01:35,775
to something cheaper and faster.

25
00:01:36,342 --> 00:01:37,542
Setup is two lines of effort.

26
00:01:37,902 --> 00:01:41,262
In your shell, export
CLAUDE_CODE_SUBAGENT_EFFORT equals low.

27
00:01:41,662 --> 00:01:43,782
You can also use medium, high, or xhigh.

28
00:01:44,282 --> 00:01:48,142
Or make it stick per project or per user
by putting it in settings.json,

29
00:01:48,442 --> 00:01:52,162
either in your home claude folder or in
the dot claude folder inside the repo.

30
00:01:52,642 --> 00:01:56,202
Under the env key, you write
CLAUDE_CODE_SUBAGENT_EFFORT as the key,

31
00:01:56,362 --> 00:01:57,602
and low as the value.

32
00:01:58,237 --> 00:02:00,637
The order matters here, so let me spell it
out.

33
00:02:01,357 --> 00:02:07,197
First, if the subagent's own definition
names an effort, in its YAML frontmatter or

34
00:02:07,257 --> 00:02:09,437
in the prompt that spawns it, that wins.

35
00:02:10,277 --> 00:02:13,537
Second, if that's silent, your new env var
applies.

36
00:02:14,317 --> 00:02:19,037
Third, if neither is set, you get the old
behaviour, and it inherits the parent's

37
00:02:19,137 --> 00:02:19,877
current effort.

38
00:02:20,417 --> 00:02:22,977
So nothing changes for you until you opt
in.

39
00:02:23,693 --> 00:02:27,333
A practical pattern: set the variable to
low or medium globally.

40
00:02:27,733 --> 00:02:30,853
Then, for the one reviewer agent where
depth really pays off,

41
00:02:31,073 --> 00:02:35,933
say a security reviewer or an architecture
critic, put an explicit effort of high in

42
00:02:35,973 --> 00:02:36,573
its frontmatter.

43
00:02:37,133 --> 00:02:40,413
Everything else stays cheap by default,
and the agent that earns it keeps the deep

44
00:02:40,473 --> 00:02:40,853
reasoning.

45
00:02:41,513 --> 00:02:42,133
That's the whole trick.

46
00:02:42,453 --> 00:02:44,213
Default low, override where it counts.

47
00:02:44,750 --> 00:02:45,730
Two caveats.

48
00:02:46,310 --> 00:02:47,750
One, it's only a default.

49
00:02:48,250 --> 00:02:53,330
Explicit frontmatter still beats it, so if
some agent in your repo says high,

50
00:02:53,710 --> 00:02:55,430
the variable won't tone it down.

51
00:02:56,310 --> 00:02:59,030
Two, it's about effort, not model choice.

52
00:02:59,470 --> 00:03:03,310
It doesn't replace
CLAUDE_CODE_WORKFLOW_SUBAGENT_MODEL or

53
00:03:03,470 --> 00:03:05,730
CLAUDE_CODE_SUBAGENT_MODEL_FORCE.

54
00:03:06,250 --> 00:03:08,010
Those pick which model runs.

55
00:03:08,470 --> 00:03:10,270
This picks how hard it thinks.

56
00:03:10,993 --> 00:03:16,533
Also in 2.1.316, and related:
CLAUDE_CODE_DISABLE_ULTRATHINK.

57
00:03:17,073 --> 00:03:19,873
Set it to 1 and the ultrathink keyword is
turned off.

58
00:03:20,413 --> 00:03:25,133
That's handy when you want effort pinned,
like a cost capped CI job or a shared

59
00:03:25,233 --> 00:03:29,333
workspace where you don't want a stray
word in a prompt spiking a turn to xhigh.

60
00:03:30,053 --> 00:03:34,833
And in VS Code, ultrathink now runs its
turn at xhigh and shows in rainbow in the

61
00:03:34,873 --> 00:03:36,373
chat box, same as the terminal.

62
00:03:37,252 --> 00:03:38,372
Now the smaller bits.

63
00:03:39,072 --> 00:03:45,812
In 2.1.314, there's a new setting,
permissions.blockWritesOutsideWorkingDirectories.

64
00:03:46,432 --> 00:03:52,152
It makes Write, Edit, and NotebookEdit
refuse paths outside your declared working

65
00:03:52,192 --> 00:03:57,452
directories in every permission mode, even
bypassPermissions or dontAsk.

66
00:03:58,052 --> 00:04:03,032
But mind the catch: it covers the file
tools only, not raw Bash commands.

67
00:04:03,867 --> 00:04:10,747
Also 2.1.314: in VS Code and Desktop,
sessions over 200K tokens that sit idle

68
00:04:10,787 --> 00:04:15,067
get summarized, and that summary is used
on your next message if the prompt cache

69
00:04:15,107 --> 00:04:15,767
has expired.

70
00:04:16,447 --> 00:04:22,187
And 2.1.316 fixes shell commands being
left running on macOS and Linux when Claude

71
00:04:22,266 --> 00:04:25,387
Code exits on its own, like when
credentials are rejected.

72
00:04:26,067 --> 00:04:30,407
It also fixes bash aliases with line
breaks, and functions starting with a dash,

73
00:04:30,507 --> 00:04:31,967
getting garbled in the Bash tool.

74
00:04:32,600 --> 00:04:33,900
One date to put in your calendar.

75
00:04:34,400 --> 00:04:39,820
Fast mode for Opus 4.8 is deprecated as of
October 30, 2026,

76
00:04:40,340 --> 00:04:42,500
and it's removed on November 30th.

77
00:04:43,100 --> 00:04:46,940
After that, fast mode requests on Opus 4.8
return an error.

78
00:04:47,400 --> 00:04:50,520
They do not fall back to standard Opus
4.8.

79
00:04:51,040 --> 00:04:54,060
To keep the speedup, migrate to Opus 5.5.

80
00:04:54,940 --> 00:04:56,300
So your homework is small.

81
00:04:56,720 --> 00:05:02,980
Add CLAUDE_CODE_SUBAGENT_EFFORT to your
settings, name the agents that deserve more,

82
00:05:03,340 --> 00:05:07,440
and check whether anything of yours still
leans on fast mode with Opus 4.8.

83
00:05:07,920 --> 00:05:09,180
That's the changelog for today.

