show_widget with
presentation.target: "node_panel". OpenClaw stores the widget as a hosted
document, selects a connected macOS node, opens the panel, and navigates it to
that document. If no eligible Mac is connected or presentation fails, the
widget still appears inline in chat and the tool result explains how to retry.
Widgets in the native panel are render-only. Host-integrated widget actions
remain available in Control UI chat and session dashboard
surfaces, not in the panel.
Panel behavior
- The panel is borderless, resizable, and anchored near the menu bar or mouse cursor.
- Presenting a widget does not switch apps or take keyboard focus.
- Only one widget panel is visible at a time.
- The app remembers the panel’s size and position per session.
CANVAS_DISABLED.
Agent path
Ask the agent to useshow_widget and target the node panel. The tool exposes
node_panel only while a widget presenter plugin is active.
canvas.present.
Node commands
The paired-node command surface contains three commands:canvas.presentshows the panel. It also accepts the existing optional target and placement arguments.canvas.navigateloads a hosted widget-document path or an app-local Canvas URL.canvas.hidehides the panel without changing its current document.
/__openclaw__/canvas/ are resolved through the node
session’s current scoped pluginSurfaceUrls.canvas URL. The app refreshes that
short-lived capability before navigation; callers should pass the document
path, not construct or copy a capability URL.
The app-local scheme remains available for app-owned content:
A2UI belongs on session dashboards
A2UI widgets render on session dashboards, where they share the same pinning, layout, approval, and interaction model as other dashboard widgets. Their renderer bundles continue to load from the Gateway’s/__openclaw__/a2ui/ asset route.
The macOS panel does not accept A2UI push/reset commands and does not
automatically navigate to an A2UI page.