Plugin UI: allow styled Buttons (colours, SVG/icon content) in function-hook mods

Status Open
Reported on v2.1.293
Maintainer reply None cached
Activity 0 comments · opened Oct 7, 2026

What: In plugin mods (function hooks, ui.render), Button is the only pressable element besides Markdown links, and on the desktop it is always the app's native button. ButtonProps takes only a text label. There is no color/backgroundColor (just hover), and no icon or Svg content. Box and Svg have no onPress.

Why it matters: mod authors can design rich panes (Svg charts, banners, coloured Text/Box), but every action is a plain grey native button. The workarounds don't work:

  • a coloured Svg tile placed next to the button looks detached;
  • Markdown image links ([![icon](file://…svg)](file:///x) with onLinkPress) render as text on the desktop, and the click opens the link instead of raising ui.press.

Request, any of:

  1. ButtonProps.color / backgroundColor / borderColor (theme keys or hex), honoured on desktop and terminal.
  2. An icon prop (an SVG source, or a glyph plus colour) drawn inside the button, or allowing an Svg child.
  3. An onPress on Box / Svg, so any styled element can be a control (keyboard focus included).

Context: Claude Code 2.1.293, desktop Code tab and terminal, macOS. Built a suite of mods (vitals rail, gate, git panel…) and the button styling is the main gap against the design.

🤖 Generated with Claude Code

View original on GitHub ↗