openclaw/docs/platforms/omarchy.md
Peter Steinberger f7afb89ec8
feat(desktop): switch saved Gateways independently of Primary (#147684)
* fix(desktop): distinguish the macOS Tauri app name

* feat(desktop): switch saved Gateways independently of Primary

* test(desktop): cover Gateway switching in workflow guards

* fix(desktop): recover failed Gateway navigation

Install native navigation observers before loading a dashboard and bind readiness
to the navigation that actually started. Return failed saved connections to the
local editor; remember selection only after successful native loading. Carry
edited selection through recovery without stealing focus from another window.

Keep Primary settings and inline-browser readiness behind the same accepted
native completion, preserving their existing owners and credential boundaries.

Extend the native Gateway fixture with refused-direct edit recovery and restart
persistence, plus lifecycle regressions for stale navigation completions.

* fix(desktop): preserve Gateway scope after local onboarding

Register the canonical Gateway base before queuing setup or session routes. Exercise the actual local install and Doctor flow in an isolated native regression, including controls after setup, reload, and sibling-path denial.

* test: fix Gateway fixture cleanup and nested-frame clicks

Drain and unregister fixture-owned Gateway databases before deleting their
folders so shared-server tests do not accumulate stale path lookups.
The unchanged 139-case file now passes, including abort and idempotency.

Reveal the website iframe in its outer scrolling board before the existing
inner link click. Linux Chromium under CPU pressure now delivers the full
pointer gesture and preserves the navigation and storage assertions.

Match the Docker plugin sweep expectation to the renamed ClawHub fixture.

* test(ui): settle the target link before its pointer gesture

* fix(desktop): distinguish the macOS Tauri app name

* feat(desktop): switch saved Gateways independently of Primary

* test(desktop): cover Gateway switching in workflow guards

* fix(desktop): recover failed Gateway navigation

Install native navigation observers before loading a dashboard and bind readiness
to the navigation that actually started. Return failed saved connections to the
local editor; remember selection only after successful native loading. Carry
edited selection through recovery without stealing focus from another window.

Keep Primary settings and inline-browser readiness behind the same accepted
native completion, preserving their existing owners and credential boundaries.

Extend the native Gateway fixture with refused-direct edit recovery and restart
persistence, plus lifecycle regressions for stale navigation completions.

* fix(desktop): preserve Gateway scope after local onboarding

Register the canonical Gateway base before queuing setup or session routes. Exercise the actual local install and Doctor flow in an isolated native regression, including controls after setup, reload, and sibling-path denial.

* test: fix Gateway fixture cleanup and nested-frame clicks

Drain and unregister fixture-owned Gateway databases before deleting their
folders so shared-server tests do not accumulate stale path lookups.
The unchanged 139-case file now passes, including abort and idempotency.

Reveal the website iframe in its outer scrolling board before the existing
inner link click. Linux Chromium under CPU pressure now delivers the full
pointer gesture and preserves the navigation and storage assertions.

Match the Docker plugin sweep expectation to the renamed ClawHub fixture.

* test: fix fixture readiness, history, and worker routing

Route wizard recovery through the existing SQLite fork owner, join offline transcript projection before restarting the recap fixture, and keep the completed cloud reply consistent between history and live events. Preserve production code, assertions, and timeouts.

* chore: refresh desktop pull request validation
2026-09-14 10:22:43 -07:00

8 KiB

summary read_when title
OpenClaw on Omarchy: bar plugin, desktop app handoff, and support
Installing the OpenClaw bar plugin on Omarchy
Using agents, sessions, and quick prompts from the Omarchy bar
Troubleshooting duplicate OpenClaw icons or desktop connection handoff
Omarchy

OpenClaw on Omarchy

The OpenClaw Omarchy plugin puts agents, recent sessions, and a quick prompt in your desktop bar. Its monochrome mascot follows the shell theme, blinks, and animates with reported agent activity. With the Linux desktop app running, the plugin becomes the single bar entry and uses the app's Primary Gateway.

This page covers the plugin in the OpenClaw source tree. Install it separately; do not assume an older desktop release includes the matching integration. For Gateway installation and the desktop app itself, see Linux.

Requirements

  • Omarchy 4 with its Quickshell bar and plugin support. Earlier Waybar-based Omarchy versions do not provide this plugin host.
  • Python 3 and PyGObject for the desktop session's D-Bus connection.
  • Either a connected OpenClaw Linux desktop app with Omarchy integration, or an openclaw CLI with a configured, reachable Gateway and support for openclaw gateway call --expect-url. Use a CLI build containing this integration; older builds may not support that option.

The desktop app is optional. The plugin resolves the CLI from OPENCLAW_DESKTOP_CLI, then ~/.openclaw/bin/openclaw, then the graphical session's PATH. It does not install or start a Gateway in the background. Use your existing OpenClaw installation and authentication. In standalone mode, the plugin identifies the selected Gateway through openclaw status --json and checks that destination before each request. If status redacts the endpoint URL, standalone mode cannot establish the destination and disables requests. Use the desktop app for that connection.

Install the bar plugin

From an OpenClaw source checkout containing apps/linux/omarchy, run:

bash apps/linux/omarchy/install.sh

The installer places the plugin in your user configuration. Check it with:

omarchy plugin validate ~/.config/omarchy/plugins/openclaw.desktop
omarchy plugin enable openclaw.desktop

Click the OpenClaw mascot. Confirm that the panel shows the expected agents and sessions before sending a prompt. When using the desktop app, set your intended Gateway as Primary first.

Use agents, sessions, and quick prompts

Select an agent, search sessions, or use the All, Active, and Attention filters. Session cards show recent messages or activity, status, and available model and token details. Search and counts cover the loaded sessions; open the dashboard for full history.

Click a session to target it, then use Open session to continue in the desktop app. Without the app, the plugin opens the session in the TUI. Choose New session to start a separate conversation with the selected agent.

  • Ctrl+L focuses Quick prompt.
  • Ctrl+Enter sends. Enter inserts a newline.
  • Esc closes the panel.
  • Middle-click the mascot to refresh.

The prompt limit is 8,000 characters. An accepted send means the Gateway accepted the work; watch the session for the result. If a send's outcome is unknown, check the session before sending again. The plugin does not retry uncertain sends automatically. Drafts live in memory and do not survive a shell restart.

Hide previews hides session titles, activity, and message previews. Agent names, models, and channels remain visible. The attention badge summarizes reported session activity; it is not an approval inbox. Open the dashboard to review approvals.

One icon with the desktop app

Running Bar behavior
Plugin only The plugin shows sessions through the configured CLI.
Desktop app only The desktop app shows its normal tray icon.
Both, with matching integration The plugin stays visible and the app hides its duplicate tray icon.
Older app without integration The plugin yields when it recognizes the app's session-bus registration.

While both are connected, session actions and quick prompts use the desktop app's Primary Gateway, including remote connections. Opening a session focuses or opens its Primary dashboard window. Switching a dashboard to another saved Gateway leaves this connection unchanged. If the app disconnects, the plugin shows the connection problem and disables sending instead of switching to a different CLI Gateway.

If the Gateway changes, the plugin clears the previous session selection and keeps your draft. Choose Use this Gateway to confirm the new destination before sending. A prompt already submitted stays bound to its original route.

Disable the plugin to restore the app's tray icon:

omarchy plugin disable openclaw.desktop

The app also restores its icon after the plugin stops responding. This may take a short interval while it detects that the plugin is gone.

Updates

Update each component through the installation that owns it: the Omarchy updater for the shell, the desktop app's supported update flow for the app, and your existing OpenClaw updater for the CLI and Gateway. After updating the source checkout, rerun the plugin installer to update its installed copy. See Updating for Gateway update guidance.

Troubleshooting and support

Symptom Check
No plugin icon Validate and enable the plugin using the commands above. An older running desktop app may own the visible icon.
Two OpenClaw icons Update both the plugin and desktop app to versions with the integration. They must run in the same desktop user session.
CLI not found Check OPENCLAW_DESKTOP_CLI, ~/.openclaw/bin/openclaw, or the graphical session's PATH. Install through your normal OpenClaw installation path.
Desktop connection unavailable Open the desktop app and reconnect to its Primary Gateway. Resolve authentication or pairing there.
Sessions look stale or sending is disabled Refresh the panel and check the connection error. The plugin retains cached results after a failed refresh.
A prompt may have been sent Open the target session and inspect its latest messages before resubmitting.

The integration targets Omarchy 4's Quickshell environment. Other bars, older Omarchy releases, and other desktop sessions require their own integration; a passing mock-Gateway test does not establish compatibility with those hosts. The plugin samples Gateway activity rather than streaming every event. Desktop app limitations, including Wayland global shortcuts, are documented in the Linux guide.

For setup help, use OpenClaw support. For a reproducible plugin or handoff defect, file an OpenClaw bug report with Omarchy, plugin/source, desktop app, and Gateway versions; whether the Gateway is local or remote; and the steps to reproduce. Remove credentials and private session content from logs or screenshots before sharing them.