{"version":"2.1.229","anchor":"assistant-messages-built-from-streamed-text-now-report-a-sto","canonical_anchor":"assistant-messages-built-from-streamed-text-now-report-a-sto","heading":"Assistant messages built from streamed text now report a stop reason","tier":"internal","area":"SDK Output","scope":null,"heads_up":null,"url":"https:\/\/changelogs.core-directive.com\/v\/2.1.229\/e\/assistant-messages-built-from-streamed-text-now-report-a-sto","release_url":"https:\/\/changelogs.core-directive.com\/v\/2.1.229","markdown":"### Assistant messages built from streamed text now report a stop reason\n\nStream-json output now includes the stop reason field tools expect on assistant messages.\n\n**What**\n\nWhen Claude Code assembles an assistant message from accumulated text on the stream-json path, it now sets `stop_reason: \"end_turn\"` and `stop_sequence: null`. Tools consuming stream-json output see a complete, correctly shaped message instead of one missing those fields.\n\n**Evidence**\n\n`stop_reason: \"end_turn\"`\n\n- Area: SDK Output\n- Tier: Under the hood\n- Useful: 3\/5\n- Signal: 2\/5"}