Tool definitions could survive context loss and credential changes, but both halves are off.
Two server-controlled gates fall back to off, so behaviour is unchanged.
tengu_still_kestrel Gate removed from the codeThis release deleted the gate from the code while it was still reading on for the account this site reads, so the code path no longer asks a flag before running.
This account: on · anonymous baseline: on · compiled default in v2.1.248: not a boolean we can read
Read once, for one account on one subscription tier, against v2.1.248. It isn't a statement about your account. What a flag value here can and cannot tell you
What's wrong with this entry?
New machinery keeps dynamically loaded tool definitions usable after the messages that first declared them scroll out of the conversation window, and separately preserves already-built tool descriptions when your credentials or access token change rather than rebuilding them all. Both halves are behind server-controlled gates that fall back to off, so this build behaves exactly as before unless the server turns them on.
- Deferred tool retention is gated on
tengu_plucky_orchard; if no server value comes back the feature resolves to off for the whole session and that decision is cached. - Retention is forced off when the environment variable
CLAUDE_CODE_SIMPLEorCLAUDE_CODE_DISABLE_ATTACHMENTSis set. - Retained tools are tracked per tool-use id and tool name in a bounded map with a generation counter and a fail-closed latch, then spliced back into the tool list sent with the request.
- The
strictproperty is stripped from retained schemas when the request does not use structured outputs. - Logs
Dynamic tool loading: keeping … departed deferred tool(s) declared;and emits the eventmcp_kept_deferred_toolswithkept_count,kept_mcp_countandstripped_reference_count; failures surface asplan_failed,retraction_failedorrecord_failed. - Credential-change retention is gated on
tengu_still_kestrel, which would keep completed tool descriptions and discard only the ones still being built; with the gate off the whole per-host description cache is thrown away, which is the existing behaviour. - The
tengu_still_kestrelreader is registered at startup and deliberately returns nothing when the value came from the compiled-in fallback, in which case the helper answers false. Nothing in this build sets a value for either gate.
tengu_still_kestrel, tengu_plucky_orchard
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.