Source Intelligence

DisclaimerUnofficial, and not affiliated with Anthropic. Nearly all of this is read straight out of what ships: npm bundles, captured prompts, published docs. Anthropic's own notes go in verbatim, marked as theirs. The rest is my reading, and every entry carries the strings behind it. If one looks wrong, vote it down and say why.

All releases Home olderv2.0.22 v2.0.24newer

Claude Code v2.0.23

3 entries read diff v2.0.22 → v2.0.23 Markdown

Version 2.0.23 is a maintenance release focused on internal code improvements and a new experimental security feature for API requests.

Find
Pick an entry · j / k steps through
3 entries

Changesopen

Additional Protection Mode for API Requests#

What: Added support for an experimental additional protection mode that can be enabled via environment variable.

How to use:

# Enable additional protection for API requests
export CLAUDE_CODE_ADDITIONAL_PROTECTION=true
claude --prompt "your prompt here"

Details:

  • When enabled, sets the x-anthropic-additional-protection header on API requests
  • This is an experimental security feature that may provide enhanced request validation
  • Only affects requests to Anthropic's API (not Bedrock or Vertex)
  • Evidence: Added at bU() at line 203031-203032 in the API client initialization function

Session Persistence Optimization#

Improved the session persistence mechanism by adding request queuing and serialization to prevent race conditions when multiple session updates occur simultaneously. The system now uses a Map-based queue (fTQ) to ensure session persistence operations are processed sequentially per session.

Evidence

New function hTQ() at line 457187 wraps session persistence calls with queue management, while qM8() at line 457135 handles the actual persistence logic.

Strings lifted out of the shipped bundle, so the claim above can be checked against them.

Import Reorganization#

Consolidated and optimized module imports throughout the codebase:

  • Removed redundant stream module imports
  • Reorganized child_process imports to use named imports (execSync, spawn) instead of default imports
  • Better alignment with Node.js best practices for ES module imports
Evidence
  • Removed generic import tr from "stream" at line 12593
  • Removed generic import j40 from "node:child_process" at line 35801
  • Added specific import { PassThrough as ET8 } from "stream" at line 467265
  • Added specific import { execSync as IBB, spawn as gO6 } from "node:child_process" at line 247798

Related

Other releases about the same thing. Found by shared names or similar wording; neither means one caused the other.

Verbatim
No official entry

Not individually listed upstream

v2.0.23 does not have its own entry in Anthropic’s official changelog, because prerelease builds are often folded into a neighbouring release. Browse the full changelog for the closest official notes. Everything else on this page came out of the bundle instead, which is why the two lists don't match.

System prompt

The system prompt was not captured for this release, so this page cannot say whether it moved.