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 of v2.1.228 Home All releases olderv2.1.227 v2.1.229newer
Claude Code v2.1.228

API rejections are classified from a structured marker instead of prose alone

Under the hood
Useful2 Signal3
API Errors

Request rejections are now identified from a structured marker rather than guessing from error wording.

What

Claude Code now reads a capability_rejected: marker with a reason token out of 400 and 413 responses, rather than only lowercasing the error text and searching it for phrases. Token matching uses a word boundary, so image_block no longer matches image_blockade. Prose matching remains as a fallback, so nothing changes against servers that do not send the marker.

Details
  • Reason codes include prompt_too_long, mid_conv_system, cache_control_field, thinking_signature, effort_unsupported, media_budget, max_tokens_context_overflow, and per-beta-header entries.
Evidence

capability_rejected:

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

Related

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

See this entry in the whole of v2.1.228 →