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 ·

New session.surfaces plugin/hook endpoint added alongside session.surface

Plugins and hooks gain a session.surfaces (plural) endpoint listing all attached drawing surfaces, plus a matching lifecycle hook event

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

What

  • A new plugin lifecycle hook event, session.surfaces (plural), was added alongside the existing session.surface, running a different handler against the plugin.
  • A new $.session.surfaces control endpoint was added, returning the list of all attached drawing surfaces (terminal first, if bound); the existing session.surface endpoint now derives its answer from the same shared helper.
  • The allow-listed set of capability names available to the plugin/hook SDK grew to include session.surfaces (alongside the existing session.surface) and config.list (alongside existing capabilities like tool.register/command.list).

Why Previously plugins/hooks could only ask about a single bound surface; session.surfaces lets them see everything a session has attached, which matters for plugins that need to target or coordinate across multiple surfaces.

Read from
Names in the bundlesession.surfacesconfig.list

See this entry in the whole of v2.1.269 →

Feedback