Claude Code v2.1.304 · 19 Oct 2026
Plugin hook modules gain a ui.render hook and redraw-on-press
Plugin hook modules can now be scanned for a ui.render hook, and a UI press can return a freshly drawn tree in one step
Under the hood Tier: how much it should matter to you
3 Useful: my rating, 1 to 5
4 Signal: worth watching, 1 to 5
Plugins Area: what it touches
Internal Changes Kind: in v2.1.304, 19 Oct 26
What probably matters to you Section of the release
Unclear It is not clear whether mods can use the ui.render hook yet or whether it is switched off.
What
Plugin hook modules are pieces of plugin code that run when certain events happen in Claude Code, and some can draw their own interface. Changes:
ui.render : the list of hooks Claude Code scans modules for now includes ui.render , next to command.run , skill.prompt and classic.SubagentStop .
Composer drafts: the path that writes into the message box now passes decorations to fillDraft , and a render call passes detail and terminalWidth.
ui_press: this request, sent when a user presses something in a plugin's interface, now accepts press_id and render. When render is given, the reply includes a freshly drawn tree. If that drawing is invalidated it is retried, and the retry gives up with draw_overtaken. Before, ui_press returned only handled and element.
Why
Plugins appear to be getting a place to draw interface elements, and apps showing them can get the updated screen in the same reply as a press, without asking again.
How sure we are
Something disagrees Something we can check disagrees with this entry, or the writer said they could not settle it.
The writer flagged doubt It is not clear whether mods can use the `ui.render` hook yet or whether it is switched off.
See this entry in the whole of v2.1.304 →
19 Oct 2026 · 371 entries, this one is #7.
Use it now20 You'll notice186 Nothing to try yet7 Under the hood158
Open the release →
Names in this entry
setting ui.render A plugin cannot secretly change what a question asks you; tampered prompts fall back to the original.
setting command.run Plugins can now list, register, and run slash commands, and open or close a UI surface
hook SubagentStop When a subagent finishes
setting fillDraft The input box can now have text filled in or suggested for you programmatically
setting detail The bridge's context-usage handler forwards a detail argument, so remote clients can ask for coarser reporting.
Is this right?
0
0
Feedback
What's wrong with this entry?
Hard to understand Too vague Looks wrong Not relevant to me Too long Missing the detail I wanted Duplicate of another card
Clear Learned something new I can act on this Good catch
Related
Other releases about the same thing. Found by shared names or similar wording; neither means one caused the other.
← Previous · 6 of 371
Enterprise organisations can send members a survey inside Claude Code
Nothing to try yet Surveys
In v2.1.304 What probably matters to you release-page order
Next → · 8 of 371
New CLAUDE_CODE_ATTRIBUTION_PROJECT setting checked against claude.ai Project IDs
Use it now Projects