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.228 Home All releases olderv2.1.227 v2.1.229newer
Claude Code v2.1.228

Refusals now stop the tool loop

You'll notice
Useful3 Signal3
Tool Calls

When Claude refuses, the turn now ends rather than the tool loop grinding on.

What

When the model refuses, the assistant turn ends there instead of the tool loop continuing on. The refusal category is also carried through, so refusal telemetry reports why.

Details
  • Both streaming accumulators copy stop_details from the message delta onto the accumulated message.
  • The loop breaks when stop_reason is refusal.
  • stop_details.category feeds the existing refusal-fallback telemetry fields.
Evidence

stop_details

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.

See this entry in the whole of v2.1.228 →