So I, I was updating my dev CLI tools this morning and saw Claude Code version
2.1.223 dropped on August 6, 2026.
The biggest change is how the environment variable CLAUDE_CODE_DISABLE_1M_CONTEXT
works.
It used to be just a hardcoded list, but now it will hold every Claude model with a
native 1M window to 200K via auto-compaction, not just a fixed list.
Even something massive like Claude Opus 5 gets auto compacted down to 200K tokens
now.
Wait, why would you ever want to squeeze a 1M context window down to 200K?
If I am feeding a massive monorepo into the terminal, I want every single token of
that 800K history available.
Forcing auto-compaction at 200K is going to chop out subtle cross file edge cases!
Mate, because without it, your API bill gets flattened!
When your terminal session reaches 800K tokens, every single prompt turn costs five
times as much and adds multi second latency just waiting for prompt processing.
If you export CLAUDE_CODE_DISABLE_1M_CONTEXT=1 in your shell profile,
you keep things snappy.
Plus, in version 2.1.223, if compaction fails to bring it under 200K,
you get a clear terminal startup warning right away.
Okay, fair point on prompt latency and cost, but what happens when a tool call dumps
a huge payload?
Say a single tool call outputs a 50 megabyte log file into context?
That 50 megabyte log file is precisely what triggers that new v2.1.223 startup
compaction warning!
If you run budget background agents, passing CLAUDE_CODE_DISABLE_1M_CONTEXT=1 claude
directly stops them from blowing through your credit limit.
And if you are using custom LLM gateways with custom model names,
you can pair it with CLAUDE_CODE_DISABLE_UNKNOWN_MODEL_WINDOW_ENFORCEMENT=1 so it
does not choke on unrecognized IDs.
Huh, alright, that makes a lot of sense for background runs.
Speaking of workflow polish, I am glad they made slash review a permanent alias for
slash code review.
And it remembers effort state now!
If you run slash code review high, that effort memory stays persistent across your
sessions.
That persistent effort setting is huge!
But honestly, James, the security patches in 2.1.223 are what really caught my eye.
They fixed an exploit where attackers used invisible Unicode characters and tab
character padding to obscure malicious arguments inside Bash command permission
prompts.
Wait, so a terminal prompt could look completely harmless on screen,
but execute something totally destructive underneath?
Spot on.
They wiped that right out.
And for team setups, strictKnownMarketplaces now supports owner wildcard patterns
like owner slash star.
So instead of listing every single repository for GitHub org wide plugins,
you just whitelist the organization owner and you are done.
Fast context compaction and patching sneaky terminal obfuscation in one go.
That is a tight update.
Too right.
Time to go tweak your dotfiles, mate!