Draw in the interface with a mod changedplugins/mods/interface
Nearest release: v2.1.287, published 10 hours before upstream edited the page. Shown because the two are within 24 hours of each other. Nothing here says the release caused the edit.
Upstream edited this page at 2 Oct 2026 03:43 UTC, give or take a minute or two: the time comes from Anthropic’s own sitemap rather than from a commit. This site recorded the change at 2 Oct 2026 04:07 UTC.
Upstream edited
Recorded here
Lines+13added
Lines−1removed
From line
273
where the diff opens
First seen
1 Oct 2026
this site's first read of the page
Recorded edits7to this page, all time
The whole hunk
from line 273, old and new numbered
/
from line 273
273273 </Tab>
274274</Tabs>
275275
276The permission prompt isn't a render site, so a mod can't change what it shows. The question dialog, `AskUserQuestion`, is one, so a mod can change that.
276At these sites, `next(e)` returns a reference to Claude Code's drawing, `{ type: 'engine', ref }`, unless a mod that runs after yours returned a tree of its own. To change what's in that drawing, pass `next` a copy of the event with different props, as the **Change a detail** tab does. You can return the reference as it is, or place it in a `Box` beside elements of your own:
277
278```javascript theme={null}
279on('ui.render', { component: 'Spinner' }, async ($, e, next) => {
280 const { Box, Text } = $.ui.resolve(e)
281 const theirs = await next(e)
282 return Box({ flexDirection: 'column', children: [theirs, Text({ children: ['under the spinner'] })] })
283})
284```
285
286While Claude works, the spinner animates as before, and `under the spinner` appears below it.
287
288The permission prompt isn't a render site, so a mod can't change what it shows. The question dialog, `AskUserQuestion`, is one, so a mod can change that. A tree for the dialog has to hold the reference exactly once, with your elements above it. Otherwise, Claude Code draws its own dialog.
277289
278290The terminal and the Desktop app don't raise all the same sites. `Pane`, `AbovePrompt`, `Spinner`, and the transcript sites work in both. A few other status lines are raised in the terminal only. The [render sites table](/docs/en/plugins/mods/reference#render-sites) lists where each one is raised.
279291
No line in this hunk matches that.