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.246 Home All releases olderv2.1.245 v2.1.247newer
Claude Code v2.1.246

Off-by-default refresh of startup data when the server says it is stale

Not switched on
Useful1 Signal0
Elsewhere

Claude can refetch startup config when the server says it is stale, but the gate is off.

Stale-config detection and delayed refetch sit behind tengu_expressive_whistle, whose fallback is off.

Feature flag
tengu_expressive_whistle Not enough to say

Nothing here resolved what this flag was doing on this version, so nothing here should be read as on or off.

This account: no value returned · anonymous baseline: no value returned · compiled default in v2.1.246: on

Read once, for one account on one subscription tier, against v2.1.246. It isn't a statement about your account. What a flag value here can and cannot tell you

What

New code compares a version marker the server returns on each API response against the one attached to the cached startup configuration, and if they differ it schedules a delayed refetch. It is gated on tengu_expressive_whistle, whose built-in fallback is off, so with no remote configuration nobody sees this.

Details
  • The marker arrives in an x-cc-atis-current response header; the caller in the API path already passes response headers in, so the feature is fully wired.
  • Outcomes are reported through the new tengu_client_data_stale_refetch event as skipped_converged, fetch_failed, fetched_converged or fetched_pins_differ.
  • A second guard requires an internal eligibility check that lives in a chunk not shipped in this bundle.
  • Refetches wait at least 300,000ms plus up to 180,000ms of random jitter.
Evidence

[Bootstrap] Server ATIS pin differs from cached clientData; refetching

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.246 →