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

Plugin-rendered dialogs gain buttons and choose their own placement

You'll notice
Useful3 Signal3
Plugins

Plugin dialogs can now show buttons and appear as modals, pinned at the bottom, or inline.

What

Dialogs that a plugin asks Claude Code to draw can now include Button elements, and each request kind decides where it appears: as a modal, pinned to the bottom, or inline in the transcript.

Details
  • The validator that checks a plugin's dialog description has a dedicated Button branch with its own prop check, and button text counts against the same total-text ceiling as the rest of the tree.
  • Placement comes from a lookup per request kind returning "modal", "bottom" or "inline"; requests carrying an immediate payload flag are pushed to the bottom.
  • A separate map decides whether a given request hides the normal input prompt while it is up.
  • These dialogs only render inside the new registry provider; outside it, rendering fails with an explicit error rather than drawing nothing.
Evidence

A local_jsx dialog cannot render outside of a LocalJsxRegistryContext provider

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 →