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.209 Home All releases olderv2.1.208 v2.1.210newer
Claude Code v2.1.209

Refusal Fallback Tracking Improved

The internal mechanism for tracking model refusal fallbacks now carries additional state across requests. Two new session-level fields were added:

  • refusalFallbackHeaderArmed — indicates the fallback header should be sent on the next request
  • refusalFallbackLatchOriginRequestId — records the original request ID that triggered the fallback

When the armed state is active, outgoing API requests now include new HTTP headers:

  • x-cc-fallback-latched-by — the request ID of the original triggering request
  • x-cc-fallback-from-model — the model that refused
  • x-cc-fallback-category — the refusal category
  • x-cc-fallback-trigger — what triggered the fallback
  • x-cc-original-request-id — original request correlation ID

The pZp helper that searches message history for refusal fallback records was refactored to return the full record instead of a pre-filtered subset, enabling richer downstream handling. The XNt function is now called at three points in the main request loop (interactive, forked, and background sessions) to rearm the fallback header when applicable.

Evidence

New state fields (search for "refusalFallbackHeaderArmed"); new header constants (search for "x-cc-fallback-latched-by"); new kgt arming function and XNt recheck function in pretty-v2.1.209.js

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

See this entry in the whole of v2.1.209 →