General · · 5 min read

Claude Code v2.1.117: What Changed, What the Data Shows, and Should You Upgrade


Previously in this series: How to Get a 99% Cache Hit Rate and Keeping Your Cache Warm with /coffee.

Three things shipped in v2.1.117 that matter. One is a bug fix that explains months of unnecessary compaction. One is a quiet reversal of a controversial default. And one is what we tested ourselves.

1. The 1M Context Bug

Claude Code was computing Opus 4.7’s context window as 200K instead of its native 1M. Every 4.7 user was hitting premature autocompaction — not because their context was full, but because CC thought the window was five times smaller than it actually is.

If you’ve been running Opus 4.7 and wondering why compaction felt more aggressive than it should, this is why. It wasn’t your usage pattern. It was a bug.

Fixed in v2.1.117. Opus 4.7 sessions now get the full 1M window.

2. The Effort Default Reversal

On April 6, Anthropic’s bcherny responded to stellaraccident’s report that Claude Code was unusable for complex engineering tasks. His explanation: the default effort had been deliberately lowered to 85 (medium) on March 3 because it was “a sweet spot on the intelligence-latency/cost curve for most users.”

Six weeks later, v2.1.117 sets the default back to high for all subscriber tiers.

That’s the right call. But it’s also an implicit acknowledgment that the community was right — medium effort was degrading output quality for complex work. The reversal wasn’t announced in a way that connects it to the original controversy. It’s just a line in the changelog.

3. Proxy Validation: A/B on the Bun Binary

Since v2.1.113, Claude Code ships as a native Bun binary instead of a Node.js package. That killed our preload-based interception path — the --import flag that 6,600+ monthly npm users depend on for cache fixes.

Our proxy architecture (v3.0.1, now live on npm) was built specifically for this: an ANTHROPIC_BASE_URL local proxy with hot-reloadable extensions that works regardless of whether CC is Node or Bun.

We tested v2.1.117 (the latest Bun binary) through our proxy with all extensions active. Here’s the A/B:

Path Turn 1 Hit Rate Turn 2 Hit Rate
v2.1.117 → proxy → Anthropic 95.5% 97.2%
v2.1.117 → direct to Anthropic 82.3% 97.2%

The proxy improves first-turn cache efficiency by 13 percentage points (95.5% vs 82.3%). That’s ~3,750 tokens of cache creation saved on the first warm turn. By turn 2, both paths converge at 97.2% — CC’s own caching catches up once the prefix stabilizes. (For reference, a completely cold start — first call in a new session with no cached prefix — hits 0% and pays full cache creation cost. The comparison above is between warm sessions where the difference is how quickly the prefix stabilizes.)

The proxy’s value is on early turns and after any cache disruption: tool changes, MCP reloads, skill injection, resume. Every time the prefix shifts, the extensions re-stabilize it faster than raw CC.

Zero proxy errors. Tool use (file reads, directory listing) works cleanly. The native Bun binary doesn’t care that it’s talking to localhost instead of api.anthropic.com.

Should You Upgrade?

If you’re on Opus 4.7: Yes. The 1M context fix alone is worth it. You’ve been compacting at 200K for no reason.

If you’re on Opus 4.6: The effort default change to high is nice but not critical — you could already set it manually. The upgrade is low-risk but low-urgency.

If you’re using claude-code-cache-fix (preload): The preload interceptor does not work on v2.1.117 (Bun binary). v3.0.1 is now live on npm with the proxy architecture that works on any CC version. Upgrade path:

npm install -g claude-code-cache-fix@latest

# Start the proxy
node "$(npm root -g)/claude-code-cache-fix/proxy/server.mjs" &

# Launch CC through it (any version, including v2.1.117)
ANTHROPIC_BASE_URL=http://127.0.0.1:9801 claude

The proxy replaces the preload entirely. Your existing preload setup continues to work on v2.1.112 if you prefer not to upgrade yet.

What’s Still Not Fixed

The cache_read quota weight change is not addressed. For context: three independent researchers (@ArkNill, @seanGSISG, and our own analysis) have confirmed across 280,000+ API calls that cache_read tokens — previously free in quota accounting — now count at full weight against the 5-hour budget. The practical effect is a 10-38x multiplier on effective quota consumption, depending on cache efficiency. This was never announced. Better caching (from both CC’s fixes and our proxy) helps, but it’s optimizing within a system whose economics were silently changed.

The session data cleanup bug (silent 30-day deletion) is fixed as of v2.1.101, but cleanupPeriodDays still defaults to 30. Set it to 99999 in ~/.claude/settings.json if you haven’t already.

Anthropic has still not responded to #50513 (the comprehensive RCA request), #38335 (the original quota drain reports), or #41458 (the data loss bug).


A/B testing performed April 22, 2026. Proxy data from claude-code-cache-fix v3.0.1. Full burn rate measurements in Discussion #42.


Veritas Supera IT Solutions (VSITS LLC) builds AI-augmented systems for technical teams. If your organization is working with AI tooling and running into problems like these, let’s talk.