Source Intelligence
Reading a new release v2.1.251 Analysing changes · 2/5 Sorting the findings · 1/4 steps 470 findings $18.91 so far

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.206 Home All releases olderv2.1.205 v2.1.207newer

EndConversation Tool [Feature-Flagged]

Feature flag
tengu_umber_kestrel Gate removed from the code

This 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: off · compiled default in v2.1.206: not a boolean we can read

These values were read against a different version of Claude Code, so treat them as the nearest reading available instead of one taken on this release.

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

What

A new deferred tool (EndConversation) allows the AI to end a conversation in cases of sustained, serious user abuse — after prior warnings and with strict eligibility checks.

Status

Feature-flagged (requires server-side feature flag to enable) and model-gated (opus 4-8, sonnet 5, fable 5, mythos 5).

Details
  • The tool is shouldDefer: true and only enters a model's tool list after an explicit ToolSearch("select:EndConversation") call; its searchHint is "end the conversation — only for sustained user abuse, or when the user explicitly asks to see it demonstrated." The GrowthBook feature flag tengu_umber_kestrel must be enabled server-side; if the flag is off, isEndConversationToolEnabled() returns false, the tool is disabled, and the deferred hint is suppressed entirely.
  • Model floor check (modelMeetsEndConversationFloor): parses the model ID as claude-{family}-{version} and compares version numerically against [["opus", [4,8]], ["sonnet", [5]], ["fable", [5]], ["mythos", [5]]]. Models below these thresholds (e.g., opus-4-7) never receive the deferred hint and cannot enable the tool.
  • In fork/background-task contexts (agentId is set on the tool context), the call immediately returns ended: false with a message stating forks cannot end the main conversation and instructing the fork to return welfare concerns as output instead. No session state is changed.
  • Two-call confirmation via lastAssistantTurnCalledEndConversation: scans messages backward from newest; if any assistant turn contains an EndConversation tool-use block and no real user message has appeared since that turn, the check returns true and the tool proceeds to end. If no such prior call exists (first invocation), the tool returns ended: false with the full reflection prompt plus guidance, asking the model to call again to confirm.
  • Before terminating, a journal marker is written to disk (oHs(Ct())); then abortController.abort("end_conversation") fires with the reason string "end_conversation".
  • In interactive (REPL) sessions: sets endedByModel: true in app state; the UI renders a styled result box displaying the tool result string: "Claude has ended this chat."
  • In non-interactive (print/pipe) sessions: calls gracefulShutdown(1, "other", { finalMessage: "Claude ended the conversation. To continue, please start a new session." }) — exits with process exit code 1.
  • Strict "must NOT use" list: stuck loops, task completion, harmful content requests (redirect instead), general frustration, any self-harm or imminent harm scenario. In crisis/self-harm cases the model must not even mention the possibility of ending the conversation.
  • A deferred-tool hint is surfaced only in interactive sessions ($B() check) to eligible models: "use only for sustained user abuse directed at the assistant, or when the user explicitly asks to see it demonstrated."
Evidence

Feature flag name ("tengu_umber_kestrel" in JUi); deferred hint (search for "Load the full guidance via ToolSearch"); end message (search for "Claude has ended this chat"); two-call check (lastAssistantTurnCalledEndConversation); model floor list (search for "Re-read the"); non-interactive exit (search for "gracefulShutdown"); model eligibility list (search for "mythos").

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