Follow Discord
Sweep 06 Nov 2026 · 01:32Z Build v2.1.319 537 read Stable v2.1.311 Latest v2.1.318 Next v2.1.319 Feeds RSS JSON llms.txt llms-full.txt Unofficial

Claude Code v2.1.277 ·

Plugin component events generalized beyond terminal via a new 'surface' field

Plugin UI component events can now report a surface other than 'terminal'

Under the hood Internal Changes
JSON All of v2.1.277
Under the hoodTier: how much it should matter to you
2Useful: my rating, 1 to 5
2Signal: worth watching, 1 to 5
Plugin UIArea: what it touches
Internal ChangesKind: in v2.1.277,
Internal ChangesSection of the release
What

When Claude Code builds an event for a plugin's UI component, it used to always mark the event's surface as "terminal". It now takes the surface value from whoever triggered the event instead, and the request format was updated to accept an optional surface field with its own validation.

Why

This allows plugin component events to be correctly labeled when they happen somewhere other than the terminal, which matters as Claude Code runs in more surfaces beyond the terminal.

Read from
Names in the bundlesurface
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.

Added since A small documentation edit on List local sessions touched a line naming surface after this was published. The product the session ran in: `cowork` (Cowork in Claude Desktop on the user's machine), `claude_code` (Claude Code), `claude_science` (Claude Science), `claude_in_chrome` (the Claude in Chrome browser extension's built-in chat), or one … api/compliance/apps/sessions/local/list see the edit
Confirmed since Anthropic's documentation has since written up surface, on Beta. Deprecated: use `group.type` instead. The kind of rate-limit group this entry represents. `model_group` entries apply to a family of models (listed in `models`); other values apply to an API-surface category and have `models` set to `null`… api/beta 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 surface, on Beta.

See this entry in the whole of v2.1.277 →

Feedback