Follow Discord
Sweep 10 Nov 2026 · 02:18Z Build v2.1.322 539 read Stable v2.1.311 Latest v2.1.322 Next v2.1.322 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 Notable In Development
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
Plugin HooksArea: what it touches
In DevelopmentKind: 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.

Read from
Names in the bundleturn.step
Since it was published

The entry above is what we published on the day. These lines were added later, as Anthropic's own pages caught up, and they sit beside the original rather than replacing it.

Confirmed since Anthropic's documentation has since written up turn.step, on React to events with a mod. A turn is everything Claude does in answer to one prompt. Handle `turn.start`, `turn.step`, and `turn.complete` to follow one: plugins/mods/events see the edit
How sure we are
One source agreesOne thing we can check says the same as this entry.
Anthropic's documentation agreesAnthropic's documentation has since written up turn.step, on React to events with a mod.

See this entry in the whole of v2.1.269 →

Feedback