What's wrong with this entry?
Refusal-continuation retries are now tracked explicitly with a refusalFallbackOccurred flag in session state, allowing downstream code to distinguish sessions where a silent retry occurred.
refusalFallbackOccurredis a boolean in session state initialized tofalse; it is set totrue(Hdr()) only when a silent (non-interactive,ni = true) refusal fallback fires — visible-to-user fallbacks do not set it- When the flag is
trueand theconvolute_arcadesGrowthBook feature flag is also active, the HTTP headerx-is-refusal-fallback: trueis attached to every subsequent Anthropic API request in that query, signalling to the backend that a retry is in progress - The flag is reset to
falseper-query byXHn(), and is also cleared on session transitions: bothSHn()(new session UUID) andpA()(session switch) reset it, ensuring it does not bleed across tasks - During conversation rewind,
kCe()is read aslatchActiveto determine whether therefusalFallbackModelLatchshould be cleared and the original model restored; this prevents rewinding past a fallback from leaving the model permanently switched - The
refusal_continuationQueryEvent now brackets the retry window withphase: "begin"(carryingsalvageTextto preserve any partial streamed text visible in the UI) andphase: "end"; the SDK schema describes it as "@internal Emitted when a silent refusal-continuation retry begins … or ends" - The internal
QueryEvent 'refusal_continuation'description was updated from "window begins" to "retry begins" to more accurately reflect the mechanism - Session state gains
refusalFallbackOccurred: falseat initialization, reset per-query viaXHn()
Refusal fallback state (search for "refusalFallbackOccurred", "x-is-refusal-fallback", and "convolute_arcades")
Strings lifted out of the shipped bundle, so the claim above can be checked against them.