First sync
Open the TUI
Section titled “Open the TUI”mxrmxr auto-starts the daemon on first run. No separate process to manage.
Trigger sync
Section titled “Trigger sync”mxr sync --wait # blocks until first sync finishesmxr sync --status # check progress at any timemxr status --watch # live daemon statusFor developers: run the daemon in the foreground
If you’re debugging the daemon itself, run it explicitly so its logs print to your terminal:
# Terminal 1: keep this runningmxr daemon --foreground
# Terminal 2: any other mxr command will use this daemonmxr statusIn normal use you don’t need this — mxr, mxr sync, and friends auto-start a background daemon if one isn’t already running.
Verify local data
Section titled “Verify local data”mxr search "label:inbox" --format idsmxr labelsmxr thread THREAD_IDWhat happens after sync finishes
Section titled “What happens after sync finishes”Current runtime behavior:
- envelopes + bodies are already in SQLite
- lexical search is already fresh for that sync batch
- semantic chunks are persisted for the changed messages
- embeddings are generated only if semantic search is enabled
Useful checks:
mxr search "deployment" --mode lexicalmxr semantic statusmxr doctor --semantic-statusWhat to expect in the TUI
Section titled “What to expect in the TUI”- Left sidebar: system labels, user labels, saved searches
- Center list: threads by default
- Right pane: preview or thread view
- First-run walkthrough after account setup, plus
ofrom Help to reopen it later 1-5: switch Mailbox, Search, Rules, Accounts, DiagnosticsCtrl-p: command palette?: full help modal/: full-index SearchCtrl-f: filter only the current mailboxgc: edit config from anywhere
If something looks wrong
Section titled “If something looks wrong”mxr doctor --checkmxr events --format jsonmxr logs --level errormxr bug-report --stdout