Draw in the interface with a mod changedplugins/mods/interface
Nearest release: v2.1.309, published 3 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 23 Oct 2026 00:33 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 23 Oct 2026 00:37 UTC.
Upstream edited
Recorded here
Lines+20added
Lines−2removed
From line
508
where the diff opens
First seen
1 Oct 2026
this site's first read of the page
Recorded edits23to this page, all time
#### When the user collapses the band
The whole hunk
from line 508, old and new numbered
/
from line 508
508508
509509### Keyboard focus and hotkeys
510510
511Your mod never reads the keyboard itself. The user presses a key, Claude Code decides which of your controls it's for, and that control's callback runs. Apart from a [digit hotkey on the band](/docs/en/plugins/mods/reference.md#elements), that happens only while your pane or band has keyboard focus. The rest of the time, keys go to the prompt.
511Your mod never reads the keyboard itself. The user presses a key, Claude Code decides which of your controls it's for, and that control's callback runs. Apart from a [digit hotkey on the band or an `action` binding](/docs/en/plugins/mods/reference#elements), that happens only while your pane or band has keyboard focus. The rest of the time, keys go to the prompt.
512512
513513In the [VS Code extension](#draw-in-the-vs-code-extension), buttons have no hotkeys: the user clicks a button or presses Enter on it, and types into fields.
514514
from line 518
518518
519519* Your mod opens it with `focus: true` from a command or a press
520520* The user presses Ctrl+X then Tab
521* The user clicks it
521* The user clicks it, which in the terminal needs [fullscreen rendering](/docs/en/fullscreen.md)
522522
523523Claude Code grants `focus: true` only while the prompt is empty and nothing else has keyboard focus. A pane that opens while the user is typing doesn't take their keystrokes.
524524
from line 535
535535| Page Up, Page Down, Home, and End | Scroll your pane or band when it has more rows than it can show |
536536| Ctrl+X then an arrow key | Resizes your pane. Left or Up gives it more room, and Right or Down gives the room back. A pane beside the transcript stops widening at 45% of the terminal's width. |
537537| Ctrl+X then X | Closes your pane, even while one of its fields has the focus |
538| Ctrl+X then Ctrl+A | [Collapses the band](#when-the-user-collapses-the-band) to one row while a mod draws there, or expands it again. These keys also work while the prompt has the focus. |
538539| Esc | Returns keyboard focus to the prompt. With `closeOnEscape: true`, it also closes the pane. |
539540
540541A mod can't bind Tab or the arrow keys to anything else, so a game steers with `w`, `a`, `s`, and `d`.
from line 553
552553| With `plain: true` | `1: One` | The label with a small key beside it | The label, and the hotkey does nothing |
553554
554555In the terminal, name the key in a bracketed button's label, or use `plain: true`, so the user can see what to press. The [elements reference](/docs/en/plugins/mods/reference.md#elements) has the other `Button` rules: `action`, digit hotkeys on the band, and two buttons on one hotkey.
556
557#### When the user collapses the band
558
559In the terminal, while a mod draws in the band, the user can collapse the band to one row to get it out of the way:
560
561* **Click `[-]`**: while the band is expanded, Claude Code draws this mark at the right end of its first row. In [fullscreen rendering](/docs/en/fullscreen.md), the user clicks it to collapse the band.
562* **Press Ctrl+X then Ctrl+A**: this works whether the prompt, the band, or a pane has keyboard focus. The user can [bind other keys](/docs/en/keybindings.md#above-prompt-actions) to it through the `abovePrompt:toggle` action.
563
564A collapsed band hides everything the mods draw there and shows one dim row instead, which names the keys that expand it as the user has them bound:
565
566```text theme={null}
567▸ plugin panel hidden · ctrl+x ctrl+a or click to show
568```
569
570The same keys, or in fullscreen rendering a click on the row, expand the band again. Until then, nothing presses a button in it: no hotkey, no digit typed into an empty prompt, and no keybinding for a button's [`action`](/docs/en/plugins/mods/reference#elements). If the band has keyboard focus when the user collapses it, the focus returns to the prompt, and Ctrl+X then Tab skips the band while it's collapsed.
571
572The band stays collapsed until the user expands it, even after `/clear`, and is expanded again the next time Claude Code starts. Your mod can't expand it or tell that it's collapsed: the `ui.render` hook keeps running, and nothing in `e.props` says so. Don't make the band the only place your mod shows something the user has to answer.
555573
556574### Take typed input and draw a row for each item
557575
No line in this hunk matches that.