Desktop App
Desktop App
The desktop app wraps the local host in a native window with a system tray, native menus, OS notifications, and an auto-updater. It is the same web interface you would see in a browser — including all its screen-reader support — in a window that manages the agent's lifecycle for you.
Download and install
Download the installer for your platform from the project's GitHub Releases page (Windows NSIS/MSI, macOS app/dmg, Linux deb/AppImage). The app bundles the full agent host — no separate Python install is needed. It uses the platform's native webview (WebView2 on Windows, WKWebView on macOS, WebKitGTK on Linux) rather than shipping a browser engine. See Installation for the other install methods.
Attach or spawn
On startup the app probes http://127.0.0.1:8765 for a running Holaryn host:
- A host is already running (an installed service, or
holaryn servein a terminal) — the app attaches as a viewer. It opens a window onto that host, and quitting the app leaves the host running, since the app did not start it. - Nothing is running — the app starts its bundled host itself, waits for it to be ready, and owns its lifecycle: quitting the app stops the agent.
So launching the app next to a running service is always safe — you get a window onto the existing agent, never a collision.
System tray, and what "close" means
The app lives in the system tray (tooltip "Holaryn Agent") and distinguishes hiding the window from stopping the agent:
- Closing the window hides it to the tray — the agent keeps running. Bring it back by left-clicking the tray icon or choosing Show/Hide window from the tray menu.
- Quit is the only thing that stops the agent (when the app owns the host). Quit from the tray menu, the app menu, or
Ctrl+Q. - The tray menu also offers Open in browser (opens the UI in your default browser) and Check for updates….
Native menus
- Edit — standard clipboard operations: Undo/Redo, Cut/Copy/Paste, Select All.
- Holaryn — Save Chat Transcript… (
Ctrl+Shift+S) exports the active chat: every input and response with timestamps and the model that produced each reply, as one Markdown or JSON file (you pick the format, then choose where to save in a native dialog). Quit (Ctrl+Q). - View — Reload (
Ctrl+R); Zoom In (Ctrl+=), Zoom Out (Ctrl+-), and Reset Zoom (Ctrl+Shift+0) for low-vision use — the level persists across launches and every change is announced to screen readers. The complete workspace menu follows the same order as the navigation rail: Chat (Ctrl+1), Code (Ctrl+2), Browser (Ctrl+3), Computer (Ctrl+4), Agents (Ctrl+5), Teams (Ctrl+6), Scheduler (Ctrl+7), Goals (Ctrl+8), Batches (Ctrl+9), Approvals (Ctrl+0), Packages, Training data, Workflows, Self-improvement, Annotations, and Settings (Ctrl+,). - Help — Keyboard Shortcuts (
Ctrl+.), User Guide (F1), First-time Setup…, Report an Issue, Check for updates…, and About Holaryn.
All accelerators are defaults; rebind any of them in Settings → Keyboard Shortcuts, and the native menus update live to show the new combinations — no restart. On macOS, Ctrl reads as Cmd.
Notifications
The app raises a native OS notification when the agent needs you or finishes — approval needed, a question asked, task complete, or an error — even while the window is hidden in the tray. OS toasts are announced by screen readers such as JAWS and Orca.
Auto-updater
The installed app keeps itself current from GitHub Releases, on the channel you
pick under Settings → System → Software updates
(Stable, Beta, or Nightly). The whole flow is native — it works even when the
window is hidden in the tray:
- On startup the app runs a quiet channel-aware check, and the background
checker keeps watching at the interval you chose. Check for updates…
(Help menu and tray) checks on demand and gives the same channel-aware
answer as the Settings page. - When a newer build is found in the background, you first get an OS
notification — "Holaryn Agent X.Y is available on the {channel} channel" — and
the ask dialog waits for your next interaction with the app (clicking the
tray icon, showing the window, or the next launch), so it never interrupts
you mid-keystroke. The native dialog states your current version, the new
version, and the channel, with Update Now and Not Now buttons. - Not Now waits until the next app start. To silence a specific build for
good, use Skip this version under Settings → System → Software updates. - After installing, a native dialog offers Restart Now / Later and says
the app will close and reopen. Nothing downloads, installs, or restarts
without your consent, and every prompt is an OS-native dialog or toast a
screen reader announces. - Every update is signature-verified before it installs, and one update
refreshes both the window shell and the bundled agent host. - Update failures never crash the app; it just keeps running the current
version.
Related pages
- Installation — desktop and authorized private-source install options.
- Running the Agent —
holaryn serve, the OS service, and how they interact with the app. - Web Interface — the UI inside the window.