Desktop App
Native macOS application built with Tauri v2 for a first-class desktop experience.
Overview
The Ashlr AO desktop app wraps the web dashboard in a native macOS window with additional platform integrations. It uses Tauri v2 for a lightweight, secure native shell.
| Spec | Value |
|---|---|
| App size | 5.9 MB (.app bundle) |
| DMG size | 3.1 MB |
| Framework | Tauri v2 (Rust + WebView) |
| macOS requirement | macOS 11 (Big Sur) or later |
| Architecture | Universal (Apple Silicon + Intel) |
Download
Download the latest release from GitHub:
Available formats:
- .dmg — Drag-and-drop installer (recommended)
- .app — Direct application bundle
First launch: macOS may show a "cannot be opened because the developer cannot be verified" warning. Right-click the app and select "Open" to bypass Gatekeeper, or go to System Settings > Privacy & Security and click "Open Anyway".
System Requirements
- macOS 11 (Big Sur) or later
- Python 3.11+ installed and available in your PATH
- tmux installed (
brew install tmux) - At least one AI backend installed (Claude Code, Codex, Aider, or Goose)
- The
ashlr-aoPython package must be installed:pip install ashlr-ao
Features
Sidecar Server Management
The desktop app manages the Ashlr AO Python server as a sidecar process:
- Auto-start — The Python server starts automatically when you open the app
- Auto-stop — The server stops cleanly when you quit the app
- Health monitoring — The app monitors the server process and restarts it if it crashes
- Port detection — The app waits for the server to be ready before loading the dashboard
You do not need to run ashlr manually when using the desktop app. The app handles the full lifecycle.
System Tray
Ashlr AO lives in your macOS menu bar with a system tray icon. The tray menu provides:
- Show/Hide Window — Toggle the main dashboard window
- Server Status — Indicator showing whether the Python server is running
- Active Agents — Quick count of currently running agents
- Open Dashboard — Open the dashboard in the native window
- Open in Browser — Open the dashboard in your default web browser
- Quit — Stop the server and exit the app
Native Window
The dashboard runs in a native macOS WebView with full access to:
- All keyboard shortcuts (Cmd+K, Cmd+N, Cmd+Shift+A, etc.)
- Push-to-talk voice input via the Web Speech API
- WebSocket real-time updates
- File browser, git integration, and terminal views
- Theme switching (dark/light)
IDE Features
The desktop app includes the full IDE feature set available in the web dashboard:
- PTY Terminals — Interactive terminal sessions with full ANSI color support
- File Browser — Navigate project files, create, rename, and delete files
- Git Integration — View status, diff, log, branches. Stage, unstage, commit, and discard changes
Configuration
The desktop app uses the same ~/.ashlr/ashlr.yaml configuration file as the CLI. Any changes you make in the dashboard settings are persisted to this file and take effect immediately.
The desktop app adds no additional configuration beyond what the standard Ashlr AO server supports. See the Configuration Reference for all available options.
Desktop App vs. Web Dashboard
| Feature | Desktop App | Web Dashboard |
|---|---|---|
| Server management | Automatic (sidecar) | Manual (ashlr CLI) |
| System tray | Yes | No |
| Runs without browser | Yes | No |
| All dashboard features | Yes | Yes |
| Keyboard shortcuts | Full support | Full support |
| Multi-user auth | Local only | Local or remote |
| Remote access | No | Yes (with deployment) |
Note: The desktop app is designed for local, single-user use. For team deployments with remote access, use the Docker + Caddy deployment and access the dashboard via a web browser.
Building from Source
To build the desktop app yourself, you need Rust and the Tauri CLI:
# Install Rust (if not already installed)
curl --proto '=https' --tlsv1.2 -sSf https://sh.rustup.rs | sh
# Install Tauri CLI
cargo install tauri-cli
# Clone the repo and build
git clone https://github.com/ashlrai/ashlr-ao.git
cd ashlr-ao/desktop
cargo tauri build
The built app will be at desktop/target/release/bundle/macos/Ashlr AO.app and the DMG at desktop/target/release/bundle/dmg/Ashlr AO.dmg.
Troubleshooting
Server fails to start
If the app opens but shows a loading screen indefinitely:
- Verify Python 3.11+ is installed:
python3 --version - Verify ashlr-ao is installed:
pip show ashlr-ao - Verify tmux is installed:
which tmux - Check if port 5111 is already in use:
lsof -i :5111 - Try running
ashlrmanually in a terminal to see error output
Keyboard shortcuts not working
Some macOS keyboard shortcuts may conflict with system shortcuts. If Cmd+K or other shortcuts do not work, check System Settings > Keyboard > Keyboard Shortcuts for conflicts.
Gatekeeper blocking the app
If macOS prevents the app from opening:
# Remove the quarantine attribute
xattr -d com.apple.quarantine "/Applications/Ashlr AO.app"
Edit this page on GitHub