When Claude refuses, the turn now ends rather than the tool loop grinding on.
What's wrong with this entry?
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.
- Both streaming accumulators copy
stop_detailsfrom the message delta onto the accumulated message. - The loop breaks when
stop_reasonisrefusal. stop_details.categoryfeeds the existing refusal-fallback telemetry fields.
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.