Desktop app

Download ClosedMesh.

A tiny native shell around the chat UI, with a system-tray pill that shows live node count and one-click Start / Stop for the runtime. Same private-mesh inference, without keeping a browser tab open.

No published bundle yet — see "All platforms" below for build-from-source instructions.
All platforms

Pick your bundle.

One Tauri 2 codebase, three native bundles. The runtime (closedmesh CLI) installs separately — see the home page for the curl / PowerShell one-liner.

macOS · Apple Silicon
M1, M2, M3, M4 Macs
Not yet published
macOS · Intel
Pre-2021 Intel Macs
Not yet published
Windows 10 / 11
x86_64 installer
Not yet published
Linux · Debian / Ubuntu
x86_64 .deb package
Not yet published
Linux · everything else
x86_64 portable AppImage
Not yet published
Build from source
Tauri 2 · Rust + system webview
git clone https://github.com/closedmesh/closedmesh
cd closedmesh/desktop
npm install
./scripts/build.sh
The first desktop release hasn't been published yet. In the meantime you can build the app yourself — cd desktop && npm install && ./scripts/build.sh — or join the mesh from your browser at closedmesh.com.
First launch

Heads-up on the "unidentified developer" warning.

ClosedMesh Desktop isn't code-signed yet, so macOS Gatekeeper and Windows SmartScreen will both ask if you really want to run it the first time. Here's the 30-second workaround for each platform.

macOS
  1. 01Open the .dmg and drag ClosedMesh into Applications.
  2. 02Right-click ClosedMesh in Applications → Open.
  3. 03In the dialog, click "Open" again. macOS remembers; future launches are normal double-clicks.
Windows
  1. 01Run the .exe installer.
  2. 02When SmartScreen says "Windows protected your PC", click "More info".
  3. 03Click "Run anyway" → finish the installer.
Linux
  1. 01.deb: sudo dpkg -i closedmesh_*_amd64.deb
  2. 02.AppImage: chmod +x closedmesh_*_amd64.AppImage && ./closedmesh_*.AppImage
  3. 03Tray icon needs libayatana-appindicator on Wayland desktops.
Don't want a desktop app?

The mesh runs fine without it.

The desktop app is purely a convenience wrapper. The chat UI works in any browser, and the runtime CLI is what actually joins the mesh. Pick whichever path suits the user:

Browser only

Open closedmesh.com. The page calls back to your local runtime — chats stay on your machine even though the page is hosted publicly.

CLI runtime
# macOS / Linux
curl -fsSL https://closedmesh.com/install | sh

# Windows (PowerShell)
iwr https://closedmesh.com/install.ps1 | iex

Drops the runtime into ~/.local/bin (or %LOCALAPPDATA% on Windows) and registers an autostart service.