Source Intelligence

DisclaimerUnofficial, and not affiliated with Anthropic. Nearly all of this is read straight out of what ships: npm bundles, captured prompts, published docs. Anthropic's own notes go in verbatim, marked as theirs. The rest is my reading, and every entry carries the strings behind it. If one looks wrong, vote it down and say why.

All of v2.1.247 Home All releases olderv2.1.246 v2.1.248newer
Claude Code v2.1.247

Plugins can draw pressable buttons, with a new ui.press hook

Not switched on
Useful3 Signal4
Plugins Notable not in their notes

Plugins can draw pressable buttons that fire a new press event back to the plugin.

Button elements and the ui.press event are fully built, but whether plugin-drawn UI is reachable is unresolved in this build.

ui.press
What

A Button element joins the plugin drawing vocabulary alongside Box, Text and span, written as <Button key label onPress> with both props required as strings and the label length capped. The terminal renders it as an interactive [ label ], and pressing one dispatches a new ui.press event through the owning plugin's chain, subject to a handler-budget timeout. Neither the event nor the element exists in 2.1.246. Whether plugin-drawn UI is reachable at all depends on the plugin render API's own gate, which is not resolved in this build.

Details
  • Each button handler is stamped with a plugin and handle address and held per module across redraws.
  • A press whose handle is no longer held is logged and ignored rather than dispatched.
  • Validator, renderer and dispatch are all wired, so nothing in the button path itself is switched off.
Evidence

Button props must be { key, label }, both strings, ui.press

Strings lifted out of the shipped bundle, so the claim above can be checked against them.

See this entry in the whole of v2.1.247 →