Desktop App
The Coffer Desktop app is the recommended installation path for daily-driver use. It packages everything you need — the daemon, the shim, and the Web UI — in a single installer with no Python required.
What the Desktop app is
The Desktop app is a Tauri 2 shell (Rust + WebView) that bundles the Coffer daemon and MCP shim as PyInstaller-built sidecar binaries. Because the binaries are self-contained, end users need no Python install. The Web UI from spec 002 renders inside the Tauri window.
See Architecture → Distribution for the two-tier release design (CLI-only archive vs. CLI+desktop bundle) and the ADR behind it.
How it runs
On every launch the Desktop app:
Detects or spawns the daemon — it reads
~/.coffer/daemon.jsonto find a running daemon. If none is reachable, it spawnscoffer-daemonas a detached background process that survives the Desktop window closing.Deploys the shim + daemon — idempotently copies the bundled
coffer-mcp-shimandcoffer-daemonto a stable user-writable PATH location:- macOS / Linux:
~/.coffer/bin/
Co-locating the daemon lets the shim auto-spawn it after a reboot, even when the Desktop app isn't running.
- macOS / Linux:
Shows a system-tray icon — always present while the app is running.
Closing the main window hides it to the tray; the daemon stays alive and your MCP clients keep working. To actually quit, use Quit from the tray menu.
Tray menu
| Item | What it does |
|---|---|
| Open | Restore the main window (the same one the close button hid). |
| Restart daemon | Stop the local daemon process and start a fresh one on the same port. |
| Quit | Stop the Desktop process and the daemon, removing the tray icon. |
Installation
Download
Go to the GitHub Releases page and download the file for your platform:
| Platform | File |
|---|---|
| macOS, Apple silicon (M-series) | Coffer_<version>_aarch64-unsigned.dmg |
Coffer ships macOS (Apple Silicon) builds only. The -unsigned suffix marks the DMG as not yet notarised (see macOS Gatekeeper below). Verify the download against the release's SHA256SUMS file.
Install
- macOS: open the DMG and drag Coffer.app to
/Applications.
macOS Gatekeeper
Until Coffer has an Apple Developer ID, the DMG ships unsigned, so on first open macOS may say Coffer is "damaged". (For the "damaged" message, right-click → Open does not help.) Clear the quarantine flag:
xattr -dr com.apple.quarantine /Applications/Coffer.appIf it still won't open, re-apply an ad-hoc signature:
codesign --force --deep --sign - /Applications/Coffer.appNotarisation is a current non-goal; the runbook for enabling it once a Developer ID is available lives in docs/distribution/macos-notarization.md.
First launch
On first launch:
- The main window opens to the Resources welcome view (the Web UI documented in the Web UI guide).
- The daemon starts on a free port (default 8000, falling back to 8001–8009) and writes
~/.coffer/daemon.json. - The shim is deployed to its PATH location (see above).
- The tray icon appears.
If the shim's target directory is not yet on PATH, Coffer shows a one-time prompt on Settings → App with the exact line to add to your shell rc file.
CLI-only alternative
For headless servers or machines where you do not want the Desktop app, download the CLI-only archive (coffer-cli-<triple>.tar.gz) from the same Releases page. It contains coffer (management CLI), coffer-daemon, and coffer-mcp-shim — extract, put them on PATH, and point your MCP clients at the shim (the daemon auto-spawns on first use).