1
00:00:00,099 --> 00:00:05,239
So I, I was updating my dev CLI tools this
morning and saw Claude Code version

2
00:00:05,400 --> 00:00:10,019
2.1.223 dropped on August 6, 2026.

3
00:00:11,079 --> 00:00:16,500
The biggest change is how the environment
variable CLAUDE_CODE_DISABLE_1M_CONTEXT

4
00:00:16,559 --> 00:00:16,579
works.

5
00:00:16,579 --> 00:00:20,079
It used to be just a hardcoded list, but
now it will hold every Claude model with a

6
00:00:20,119 --> 00:00:25,779
native 1M window to 200K via
auto-compaction, not just a fixed list.

7
00:00:26,659 --> 00:00:32,180
Even something massive like Claude Opus 5
gets auto compacted down to 200K tokens

8
00:00:32,259 --> 00:00:32,360
now.

9
00:00:32,557 --> 00:00:36,216
Wait, why would you ever want to squeeze a
1M context window down to 200K?

10
00:00:37,016 --> 00:00:41,496
If I am feeding a massive monorepo into
the terminal, I want every single token of

11
00:00:41,516 --> 00:00:43,816
that 800K history available.

12
00:00:43,896 --> 00:00:48,756
Forcing auto-compaction at 200K is going
to chop out subtle cross file edge cases!

13
00:00:49,192 --> 00:00:52,732
Mate, because without it, your API bill
gets flattened!

14
00:00:53,392 --> 00:00:58,753
When your terminal session reaches 800K
tokens, every single prompt turn costs five

15
00:00:58,892 --> 00:01:03,372
times as much and adds multi second
latency just waiting for prompt processing.

16
00:01:03,912 --> 00:01:08,032
If you export
CLAUDE_CODE_DISABLE_1M_CONTEXT=1 in your shell profile,

17
00:01:08,372 --> 00:01:09,472
you keep things snappy.

18
00:01:10,032 --> 00:01:15,792
Plus, in version 2.1.223, if compaction
fails to bring it under 200K,

19
00:01:16,292 --> 00:01:18,792
you get a clear terminal startup warning
right away.

20
00:01:19,119 --> 00:01:24,059
Okay, fair point on prompt latency and
cost, but what happens when a tool call dumps

21
00:01:24,099 --> 00:01:25,659
a huge payload?

22
00:01:25,739 --> 00:01:29,439
Say a single tool call outputs a 50
megabyte log file into context?

23
00:01:29,500 --> 00:01:36,060
That 50 megabyte log file is precisely
what triggers that new v2.1.223 startup

24
00:01:36,124 --> 00:01:37,180
compaction warning!

25
00:01:37,447 --> 00:01:44,033
If you run budget background agents,
passing CLAUDE_CODE_DISABLE_1M_CONTEXT=1 claude

26
00:01:44,100 --> 00:01:47,100
directly stops them from blowing through
your credit limit.

27
00:01:47,140 --> 00:01:51,132
And if you are using custom LLM gateways
with custom model names,

28
00:01:51,196 --> 00:01:56,527
you can pair it with
CLAUDE_CODE_DISABLE_UNKNOWN_MODEL_WINDOW_ENFORCEMENT=1 so it

29
00:01:56,593 --> 00:01:58,540
does not choke on unrecognized IDs.

30
00:01:58,661 --> 00:02:01,461
Huh, alright, that makes a lot of sense
for background runs.

31
00:02:02,381 --> 00:02:07,302
Speaking of workflow polish, I am glad
they made slash review a permanent alias for

32
00:02:07,342 --> 00:02:08,901
slash code review.

33
00:02:09,002 --> 00:02:10,561
And it remembers effort state now!

34
00:02:10,981 --> 00:02:15,201
If you run slash code review high, that
effort memory stays persistent across your

35
00:02:15,281 --> 00:02:15,701
sessions.

36
00:02:15,849 --> 00:02:18,409
That persistent effort setting is huge!

37
00:02:19,929 --> 00:02:25,369
But honestly, James, the security patches
in 2.1.223 are what really caught my eye.

38
00:02:26,109 --> 00:02:31,170
They fixed an exploit where attackers used
invisible Unicode characters and tab

39
00:02:31,229 --> 00:02:35,829
character padding to obscure malicious
arguments inside Bash command permission

40
00:02:35,889 --> 00:02:36,250
prompts.

41
00:02:37,151 --> 00:02:41,192
Wait, so a terminal prompt could look
completely harmless on screen,

42
00:02:41,232 --> 00:02:43,792
but execute something totally destructive
underneath?

43
00:02:43,792 --> 00:02:44,272
Spot on.

44
00:02:44,352 --> 00:02:45,712
They wiped that right out.

45
00:02:45,852 --> 00:02:51,232
And for team setups,
strictKnownMarketplaces now supports owner wildcard patterns

46
00:02:51,280 --> 00:02:52,672
like owner slash star.

47
00:02:52,832 --> 00:02:57,072
So instead of listing every single
repository for GitHub org wide plugins,

48
00:02:57,212 --> 00:03:00,352
you just whitelist the organization owner
and you are done.

49
00:03:00,348 --> 00:03:05,167
Fast context compaction and patching
sneaky terminal obfuscation in one go.

50
00:03:05,807 --> 00:03:06,867
That is a tight update.

51
00:03:07,349 --> 00:03:07,930
Too right.

52
00:03:09,089 --> 00:03:10,970
Time to go tweak your dotfiles, mate!

