What
Plugins add features to Claude Code and can ask it to show you notifications.
ui.notifynow acceptskey,delayMs,atanduntilBack, so a plugin can schedule a notice, send it when you are away, or replace an earlier one with the same key. Before, it sent only text and a title.ui.cancelNotify(key)cancels a notification by its key.- In headless sessions (running without the interactive screen), notices go to the connected host as
ui_notifyandui_notify_cancelmessages under the plugin's name, withdelay_ms,at,until_backandkey. Text is capped at 1000 characters and the title at 120. Before, notify always reported there was nowhere to show it. - These messages are left out of the
stream-jsonoutput. - Plugins also gain a way to read the permission mode (
permissionMode).
Why
Plugin authors can time notices and clear stale ones. If you read stream-json output, these notification messages do not appear there.
Names in the bundlestream-json