Sweep 19 Sep 2026 · 02:36Z Build v2.1.278 500 read Stable v2.1.267 Latest v2.1.278 Next v2.1.278 Feeds RSS JSON llms.txt Unofficial
Claude Code v2.1.265 ·

Plugins gain slash-command and UI-pane APIs

Plugins can now register/run/list slash commands and open persistent UI panes via new host APIs

TierUse it nowhow much it should matter to you
Useful5my rating, 1 to 5
Signal3worth watching, 1 to 5
AreaPluginswhat it touches
KindNew Featuresin v2.1.265,
Group of 8 Use it now Notable No documentation found

Plugins can now register/run/list slash commands and open persistent UI panes via new host APIs

What

  • Plugins can now register, run, list, and describe custom slash commands using new host operations command.register, command.run, command.list, and command.describe.
    • command.register adds a new slash command (name, description, argument hint, immediate flag), rejecting name collisions with other plugins, built-in commands, or MCP commands, and capping how many commands one plugin can register.
    • command.run lets a plugin queue a command invocation for the current session.
    • command.list lists available commands together with where each comes from (built-in, plugin, user, or MCP).
    • command.describe lets a hook dynamically override a command's description, argument hint, or hidden state.
    • A plugin command with no matching command.run hook now replies with an explanatory stub message instead of failing silently.
  • Plugins can also open and close a new UI surface called a "pane": a persistent, titled window, using new ui.open/ui.close operations (with id, title, and focus options). Each plugin can have at most 8 panes open at once.
  • Internally, the hooks event dispatch table was expanded to recognize ui.open, ui.close, command.run, and command.describe as valid events (and the old PreToolUse event was renamed classic.PreToolUse without changing its behavior).

Why

This gives plugins much deeper integration with Claude Code: they can add slash commands that behave like built-in ones, and they can show their own persistent UI panels instead of being limited to existing surfaces.

Read from
Names in the bundlecommand.registercommand.runcommand.list

See this entry in the whole of v2.1.265 →