1
00:00:00,220 --> 00:00:04,860
G'day, this is The Claude Code Changelog,
brought to you by Jellypod AI.

2
00:00:05,520 --> 00:00:09,080
Quick one for anyone running Claude Code
through Bedrock, Vertex,

3
00:00:09,260 --> 00:00:10,240
Foundry or Mantle.

4
00:00:10,860 --> 00:00:17,440
Version 2.1.312 landed on October 27th,
and it changes what prompt your custom model

5
00:00:17,560 --> 00:00:19,700
names get without you touching anything.

6
00:00:20,420 --> 00:00:20,600
Right.

7
00:00:20,780 --> 00:00:26,860
Before 2.1.312, a custom deployment name
or an inference profile ARN was something

8
00:00:26,900 --> 00:00:28,560
Claude Code couldn't identify.

9
00:00:29,180 --> 00:00:33,080
Now, for model names it doesn't recognize,
those four providers use the shorter

10
00:00:33,180 --> 00:00:33,840
system prompt.

11
00:00:34,340 --> 00:00:38,000
The changelog is explicit that this
applies even when the deployment fronts Sonnet

12
00:00:38,060 --> 00:00:38,720
or Haiku.

13
00:00:39,020 --> 00:00:43,060
So if your team aliases a model behind a
gateway name, your sessions may have

14
00:00:43,120 --> 00:00:45,400
quietly switched to the short prompt after
the update.

15
00:00:46,028 --> 00:00:49,408
And that's the bit worth checking, because
nothing on screen shouts about it.

16
00:00:49,928 --> 00:00:53,968
A bigger prompt is more tokens on every
request, so I'd guess the shorter one is

17
00:00:54,028 --> 00:00:54,828
cheaper and quicker.

18
00:00:55,228 --> 00:00:57,768
But that's my read, not something the
changelog claims.

19
00:00:58,388 --> 00:01:00,848
What the changelog does give you is the
escape hatch.

20
00:01:01,547 --> 00:01:05,947
Set CLAUDE_CODE_SIMPLE_SYSTEM_PROMPT to
zero and you keep the full prompt.

21
00:01:06,387 --> 00:01:09,987
You can export it in your shell, or put it
under the env key in your settings dot

22
00:01:10,067 --> 00:01:10,547
json.

23
00:01:11,027 --> 00:01:15,727
Something like env, then
CLAUDE_CODE_SIMPLE_SYSTEM_PROMPT with the string zero.

24
00:01:16,307 --> 00:01:19,687
If you want it for the whole team, put it
in the project's dot claude settings file

25
00:01:19,727 --> 00:01:20,367
so it's checked in.

26
00:01:21,028 --> 00:01:21,788
Practical test.

27
00:01:22,588 --> 00:01:27,448
If your agent behaved well last week and
feels a bit off this week on a custom

28
00:01:27,488 --> 00:01:33,408
deployment name, run one session each way
with the variable set to zero and not set.

29
00:01:33,808 --> 00:01:35,188
Same task, same repo.

30
00:01:35,768 --> 00:01:38,008
If the full prompt fixes it, you've got
your answer.

31
00:01:38,488 --> 00:01:42,748
If you don't notice a difference, leave
the short one and enjoy the lighter load.

32
00:01:43,808 --> 00:01:45,188
Second change in the same area.

33
00:01:45,708 --> 00:01:49,968
Claude Code can automatically switch
models after a message gets flagged.

34
00:01:50,588 --> 00:01:56,308
In 2.1.312 that behavior now also covers
model names it doesn't recognize,

35
00:01:56,768 --> 00:01:58,288
same custom deployment names.

36
00:01:58,848 --> 00:02:03,188
To turn it off, set
CLAUDE_CODE_DISABLE_REFUSAL_FALLBACK to one.

37
00:02:04,162 --> 00:02:05,322
Why would you want that off?

38
00:02:06,182 --> 00:02:09,861
Say you've pointed Claude Code at a
specific deployment on purpose,

39
00:02:10,262 --> 00:02:12,062
maybe for data handling reasons.

40
00:02:12,542 --> 00:02:15,662
A silent switch to a different model is
the last thing you'd want.

41
00:02:16,242 --> 00:02:18,422
Flip the variable and the switch doesn't
happen.

42
00:02:18,922 --> 00:02:23,802
The changelog doesn't say exactly what
you'll see instead, so try it on a throwaway

43
00:02:23,862 --> 00:02:27,922
session first and see how a flagged turn
behaves before you roll it out.

44
00:02:28,875 --> 00:02:29,855
Now the guardrails.

45
00:02:30,335 --> 00:02:34,655
Prompt and agent hooks are capped at 24
running at a time per session,

46
00:02:35,135 --> 00:02:36,735
and that count includes subagents.

47
00:02:37,215 --> 00:02:41,435
On top of that, at most 12 hooks that have
waited longer than their event's timeout.

48
00:02:42,155 --> 00:02:45,895
And a hook timeout under one second now
counts as one second.

49
00:02:46,515 --> 00:02:50,315
So if you've got a swarm of subagents each
firing prompt hooks,

50
00:02:50,855 --> 00:02:51,295
audit them.

51
00:02:51,795 --> 00:02:55,655
Anything relying on a sub second timeout
is now getting a full second.

52
00:02:56,482 --> 00:02:58,982
There's also a subagent compaction tweak.

53
00:02:59,562 --> 00:03:04,362
A subagent's autoCompactWindow now lowers
the window set by

54
00:03:04,442 --> 00:03:09,002
CLAUDE_CODE_AUTO_COMPACT_WINDOW, where
before it had no effect.

55
00:03:09,722 --> 00:03:11,062
It still never raises it.

56
00:03:11,562 --> 00:03:16,082
So you can make a chatty subagent compact
earlier without touching the session

57
00:03:16,142 --> 00:03:16,442
setting.

58
00:03:17,202 --> 00:03:21,082
And a callback for anyone who followed our
earlier episode on setting up the

59
00:03:21,142 --> 00:03:24,862
claude_code.safety_event OpenTelemetry
metric.

60
00:03:25,522 --> 00:03:29,602
In 2.1.312, Claude Code has stopped
sending that event.

61
00:03:30,122 --> 00:03:33,602
If you built a dashboard or an alert on
it, expect it to go quiet,

62
00:03:33,822 --> 00:03:35,662
and that's the version, not your
collector.

63
00:03:36,142 --> 00:03:39,062
Worth checking before someone reads
silence as all clear.

64
00:03:39,858 --> 00:03:40,878
Few smaller wins.

65
00:03:41,398 --> 00:03:45,898
In fullscreen, you can click the "to send
now" hint under a queued message and it

66
00:03:45,958 --> 00:03:47,978
sends right away, same as the key.

67
00:03:48,758 --> 00:03:54,378
There's a new oidc.user_id_claim on the
Claude apps gateway,

68
00:03:54,758 --> 00:04:00,358
so you can identify people by a claim
other than sub, like Microsoft Entra ID's oid.

69
00:04:01,263 --> 00:04:04,303
The one I'd flag is the CLAUDE.md fix.

70
00:04:04,943 --> 00:04:11,123
Claude could overwrite a very large
CLAUDE.md, rules file, or at included file in a

71
00:04:11,183 --> 00:04:13,603
subdirectory after seeing only the start
of it.

72
00:04:14,163 --> 00:04:18,523
Now the Write tool asks Claude to read the
whole file or edit in place.

73
00:04:19,083 --> 00:04:21,503
If you've got a giant rules file, that's a
real save.

74
00:04:22,203 --> 00:04:26,403
Also, usage limit messages now say "five
hour limit" instead of "session limit",

75
00:04:26,883 --> 00:04:30,783
and in VS Code you get a reset clock time,
like resets at 3:10 PM.

76
00:04:31,525 --> 00:04:36,605
So the takeaway: if you're on a custom
deployment name, check which prompt you're

77
00:04:36,645 --> 00:04:41,865
getting and which fallback behavior you
want, then set those two variables on

78
00:04:41,925 --> 00:04:42,345
purpose.

79
00:04:43,205 --> 00:04:49,285
Update to 2.1.312 and run claude dash dash
version to confirm.

