Skip to main content

Desktop App (Tauri)

The Tauri desktop client is more than a GUI shell — it’s a true Agent OS with 23+ native system capabilities. All data stays on your machine, and three bundled sidecars (Python backend, Next.js frontend, Agent Runner) are packaged as standalone binaries with zero external dependencies.

Download & Installation

The Myrm Desktop app features an intelligent cross-platform distribution system:
  1. Smart Hardware Matching: WebGL sniffing bypasses browser limitations (like Safari spoofing Intel on M-series chips), ensuring the correct binary for your device with a single click.
  2. Race-Free Auto-Updates: Map-Reduce CI/CD pipeline ensures reliable, silent background updates across all platforms without manifest conflicts.
Get the latest release from the Myrm Website or GitHub Releases.

Native OS Capabilities

The desktop app provides deep system integration that no browser-based AI tool can match:

Screen & Input

  • Global Hotkeys — Dynamically register system-wide shortcuts to toggle the window or trigger Appshot
  • Appshot — Capture the active window screenshot + extract text via Accessibility API, all from a single hotkey
  • Clipboard Integration — Agent can write to your real OS clipboard (not a sandbox clipboard)
  • Deep Link Protocol — Open conversations or trigger actions via myrmagent:// URLs (5 intent types: chat, agent, ask, oauth, install-skill)

Power & Security

  • Smart Power Lock — Automatically prevents system sleep while agent tasks are executing (macOS IOKit, Linux systemd-inhibit, Windows SetThreadExecutionState)
  • Screen Lock Management — Detect lock state, unlock for Computer Use sessions, and store credentials securely in the system Keychain
  • Native Elevation — Request admin privileges when needed (e.g., quarantine removal on macOS)
  • OTA Auto-Update — Tauri updater with public-key safety validation to prevent supply-chain attacks

Visual & Interaction

  • System Tray — Dynamic tooltip status (idle/busy/error) + quick-access menu (New Chat, Settings, Workspace). Hover the tray icon to see today’s token usage and cost at a glance. Budget overruns trigger native OS notifications so you never miss a spending alert
  • Taskbar Progress Bar — When agents or background tasks are running, the taskbar/dock icon shows an indeterminate progress indicator. When a task completes while the app is minimized, the dock icon bounces to grab your attention
  • Full SubagentDashboard in Desktop — The Tauri WebView renders the complete Next.js frontend, so every sub-agent monitoring feature (cancel, steer, Gantt, sort/filter, staleness alerts) works identically on desktop — zero extra code needed
  • Visual Approval Overlay — OS-level transparent red frame overlay on the target monitor for tool approval, visible even when chat is covered
  • Desktop Pet Sprite — Transparent topmost window with Canvas 2D rendering for the companion pet system
  • Close-to-Tray — Minimize to system tray instead of quitting, with macOS ActivationPolicy management

Startup Experience

  • Window position/size auto-restore — Close and reopen — the window returns to its last position and size automatically, especially helpful for multi-monitor setups
  • Zero white-flash cold start — Dark background pre-rendered so you never see a jarring white flash on startup
  • Tab route memory across restarts — After a crash, update, or restart, the app automatically returns to the last page you were viewing (Chat/Work/Projects tabs remembered independently)

Infrastructure

  • Python Sidecar — Managed FastAPI backend process with health checks
  • Next.js Sidecar — Managed standalone frontend server for WebUI mode
  • Agent Runner Sidecar — Bun-compiled standalone binary for CLI agent integration
  • Port Conflict Detection — Pre-launch checks to prevent port collisions
  • Out-of-the-box API alignment — In default Desktop mode the UI talks to backend on 127.0.0.1:8080 automatically (no manual port hunting). Enable WebUI mode when you need remote access; the UI then reads your configured port (e.g. 25808) from system config
  • Boot screen backend gate — On cold start, the boot animation waits until the Python backend /health succeeds before entering the main UI, avoiding connection-error floods; Rust also polls health for up to 30s
  • Local dev browser parity — When developing with bun run dev on :3000, API rewrites authenticate correctly even when the proxy connects via IPv4-mapped loopback (::ffff:127.0.0.1 on macOS); no ConfigSync 401 on first load
  • Sidecar build CLI — Maintainers run ./myrm desktop sidecar to build release binaries; ./myrm desktop check-sidecar fails on empty placeholders
  • Public Ingress — Paste your own HTTPS tunnel URL (cpolar, NATAPP, frp, etc.); see Tunnel Guide
  • macOS Quarantine Fix — Detect and auto-heal com.apple.quarantine attributes

Global Screen AI (Appshot + FlowPad)

The desktop-exclusive Appshot feature lets you interact with AI without leaving your current application:
  1. Global Hotkey Capture: Press a hotkey in any app — the system-level listener captures the active window
  2. Auto Text Extraction: Accessibility API automatically extracts text content from the captured window
  3. Selected Text Priority Context: Automatically captures your currently selected text (macOS via AXSelectedText, Windows via Ctrl+C clipboard) — the selection is injected as the highest-priority context for AI, displayed prominently as a Context Chip in FlowPad — AI precisely understands what you’re focused on
  4. FlowPad Floating Panel: An AI query panel appears after capture — type your question and send it to the conversation
  5. Quick Actions: One-click preset buttons (Reply / Summarize / Translate / Explain) appear after capture — zero typing required for common tasks
  6. Multi-Capture Stacking: Capture up to 10 windows in sequence and send them all to AI for analysis
  7. Image Preview & Management: Preview captured images in FlowPad, delete individual captures, or click to enlarge
  8. Privacy Blacklist: Protect sensitive apps (1Password, banking apps, etc.) — captures are blocked with a warning toast and optional “Capture Anyway” override
  9. Inline Input Mode (Option+I): A global shortcut triggers capture and enters Inline mode — AI results stream in real-time within FlowPad, then one-click Paste writes the result back to the original app and the window auto-hides — never leave your workflow
  10. Inline Agent Switcher + Profile Routing: In Inline mode, you can switch the target Agent profile per message (for example Writer/Coder) without changing the main chat session’s Agent configuration
Typical use cases: select a code snippet and press hotkey for AI to explain the selection, capture an email and click “Reply” for AI-drafted response, screenshot a foreign article and click “Translate”, capture error logs and click “Explain” for diagnosis, press Option+I while writing a doc and Paste the AI result directly into your editor.

Setup

  1. Install the application for your platform
  2. Launch Myrm from your applications menu
  3. Configure at least one LLM API key in Settings

macOS System Permissions (Computer Use)

Desktop automation (Computer Use) requires two macOS permissions: Accessibility and Screen Recording. Myrm automatically detects and guides you through the process:
  • Proactive Detection — When you enable computer_use in an Agent’s tool settings, a status card instantly shows which permissions are granted (green) or missing (amber)
  • One-Click Deep Link — Click “Open System Settings” to jump directly to the correct macOS Privacy panel
  • Recheck Button — After granting access in System Settings, click “Recheck” to verify instantly without restarting
  • Runtime Banner — If permissions are revoked while using Desktop Inspector, a contextual banner appears with guidance

Desktop Inspector: Numbered Overlay (SOM)

When you refresh the Desktop Inspector panel, Myrm overlays numbered badges [N] on interactive controls in the live screenshot. The same indices appear in the accessibility tree and in approval cards — so you always know which element the agent is about to click.
  • Token-safe default — Agent tool calls keep include_screenshot=false unless you need a visual turn; SOM runs on Inspector refresh and explicit screenshot requests only
  • Semantic-first@dref references remain the primary control path; numbers are a human-readable translation layer, not a replacement
  • Filtered labels — Static text and non-interactive nodes are excluded so the overlay stays readable
Deploy-aware behavior: On local/Tauri/WebUI local, Computer Use controls your real Mac/PC/Linux desktop. On SaaS sandbox, it only mounts when the sandbox runs a Visual Desktop (noVNC) and your plan includes the VNC entitlement—headless sandboxes keep the toggle off so marketing matches reality.
Screen Recording permission may require an app restart to take effect. Accessibility permission typically works immediately after granting.

Permission System

The desktop app enforces a three-tier permission model for agent actions:

Remote Access

Enable remote access with your own tunnel tool, then control running agents from your phone:
  1. Go to Settings → System → Access
  2. Enable WebUI mode and password protection
  3. Start a tunnel (Cloudflare Tunnel, cpolar, NATAPP, frp, etc.) against port 3000
  4. Paste the HTTPS URL into Public Ingress and run Test connectivity
  5. Scan the Mobile Hub QR on your phone — pick an active session to open the Status Board (live progress, approvals, steer, stop with confirmation toast, Browser/Desktop Live Preview — real-time agent screen snapshots with Lightbox zoom and tab switching)
Pair tokens are scoped: the Hub list token cannot control chats until you open a session; control tokens bind to one chat_id. See Tunnel Guide for detailed configuration. Honest note: You bring the tunnel; Myrm does not host your traffic. End-to-end encrypted relay (G2) is on the roadmap — today, security relies on HTTPS + scoped pair tokens + session binding.