Follow Discord
Sweep 25 Sep 2026 · 19:33Z Build v2.1.283 504 read Stable v2.1.274 Latest v2.1.283 Next v2.1.283 Feeds RSS JSON llms.txt llms-full.txt Unofficial

Claude Code v2.1.269 ·

Plugin hooks can now stream results as async generators

Plugin hooks can be written as async generators that stream chunks, with the first use letting a hook override the model per request

Group of 5 Nothing to try yet Internal Changes
JSON All of v2.1.269
Nothing to try yetTier: how much it should matter to you
5Useful: my rating, 1 to 5
4Signal: worth watching, 1 to 5
SandboxArea: what it touches
Internal ChangesKind: in v2.1.269,
What probably matters to youSection of the release

What

  • Hooks can now be implemented as async generator functions (async function*) that yield a stream of chunks instead of returning one final value. Claude Code validates this: hooks registered on events designated as "streaming" events must be async generators, and hooks on non-streaming events must not be.
  • A full streaming dispatch pipeline was added end-to-end: the plugin host gained dispatchStream/linkStreams/withinSteps alongside the existing dispatch/link/within, the hooks-worker protocol gained matching frame types (dispatch_stream, stream_pull, stream_step, next_pull, next_close, stream_close), and the sandboxed tool/environment worker gained its own dispatch_stream/stream_pull/stream_close messages backed by a streams map, so a dispatch can yield incremental results.
  • Currently only one event, turn.step, is enabled to use the streaming/generator form. It reconstructs each model request/response as discrete stream chunks and lets a registered plugin hook change which model a request uses. If a hook proposes a model that policy doesn't allow, Claude Code keeps the original model and logs a warning plus a hook-effect telemetry event.

Why This lays the groundwork for hooks that need to see or influence a request incrementally rather than only before or after it completes; today that's used to let a plugin hook override or veto the model used for a turn, subject to policy.

See this entry in the whole of v2.1.269 →

Feedback