What probably matters to youSection of the release
What
The messages Claude Code exchanges with programs that host or control it gain several optional fields.
safety_stops: SDK result messages now carry a count kept by a new counter in the cost and usage tracker. It appears on every result type that shares the common fields. When a result already has safety_stops and the tracked cost is lower than the result's total_cost_usd, the merged value is the larger of the two counts.
worker_epoch: an internal field on the interrupt request, so an interrupt sent by the service cannot hit a later worker (the remote process running the session). A stale one can be refused with stale_worker_epoch. It is stripped from the interrupt event, as for_user_message_uuids already was.
The next_abort message to a remote worker now carries extra detail fields alongside the reason.
safeguard_results and safeguard_tool_use: new fields on the turn_handoff request, so a server-side classifier verdict can decide the single tool call to run.
run_id: the task notification message schema gains this optional field, filled in when sent, and background task records gain runId.
Why
Programs built on the SDK can see how many safety stops happened, with the count no longer under-reported, and can match notifications to a run. Remote sessions avoid a late interrupt stopping the wrong worker, and the server can now rule on a handed-over tool call.