What
The set of operations that plugins (add-ons that extend Claude Code) can call has changed:
ui.selectionis a new operation in the plugin API list.http.fetch, which lets a plugin make web requests, is now built per plugin and takes apluginStorageId, an identifier for the plugin's own storage. Before, it was an inline check run with only the plugin's name.- URL checks and audio fetching now receive both
pluginNameandpluginStorageId. - Authenticated fetches, meaning web requests that send login credentials, now run an extra check before they are sent.
$.audio.playnow throws an error ("$.audio.play: the plugin has no id") when asked to play from a URL and the plugin has nopluginStorageId.
Why
This matters mainly to plugin authors. There is a new selection operation to use, and a plugin without a storage id can no longer play audio from a URL, so code that relied on that will now see an error.
Names in the bundleui.selection
Something disagreesSomething we can check disagrees with this entry, or the writer said they could not settle it.
The writer flagged doubt
It is not clear what `ui.selection` returns, or whether the extra check on signed-in requests is always on.