- Local — the desktop app’s loopback bridge. Fast, offline-capable, mutates SQLite directly via the same code paths the UI uses (audio cleanup, sync hooks, search index, broadcast all run).
- Remote — the cloud REST API at
api.openwhispr.com. Works when the desktop app is closed or you’re on a different machine.
Auto-detection (default)
In auto mode, the CLI picks a backend in this order:- The
--localor--remoteflag (if passed) - The
OPENWHISPR_BACKENDenvironment variable (local,remote, orauto) - The
backendkey in~/.openwhispr/cli-config.json - Auto: local if the desktop bridge is reachable, otherwise remote if an API key is configured, otherwise an error with guidance
Force a backend
When to prefer each
Capability matrix
Mixing local and remote during a meeting
If the desktop app is recording or has just finished a meeting, prefer--local. The local SQLite is authoritative until sync reconciles. Running destructive commands against remote during this window can drift the two copies until the next sync pulls them back together.