{"version":"2.1.281","anchor":"stream-stop-reason-check-tightened","canonical_anchor":"stream-stop-reason-check-tightened","heading":"Stream stop_reason check tightened","tier":"notice","area":"Models","url":"https:\/\/changelogs.core-directive.com\/v\/2.1.281\/e\/stream-stop-reason-check-tightened","release_url":"https:\/\/changelogs.core-directive.com\/v\/2.1.281","markdown":"### Stream stop_reason check tightened\n\nA streamed message_delta now counts as the end of a reply only when its stop_reason is text, not just any non-empty value\n\n**What**\n\nReplies from the model arrive in pieces as they are written, a process called streaming. One piece type, `message_delta`, can include a `stop_reason`, which says why the reply ended. Claude Code used to treat any piece whose `stop_reason` was not empty as the end. It now does so only when `stop_reason` is a piece of text.\n\n**Why**\n\nA piece carrying some other kind of value in `stop_reason` is no longer mistaken for the end of a reply.\n\n- Area: Models\n- Tier: You'll notice\n- Useful: 1\/5\n- Signal: 0\/5"}