Skip to content

CLI reference

Generated from the captured --help snapshots at crates/daemon/tests/snapshots/cli_help__*.snap. To change a flag, change the clap definition in crates/daemon/src/cli/ and the docs follow on rebuild.

mxr is a single binary with subcommands. Running mxr with no arguments launches the TUI.

For higher-level concepts (query operators, search modes, JSON output shapes), see Concepts. For what’s safe to script and pipe, see the automation contract.

  • mxr accounts: Manage accounts
  • mxr activity: Browse the local user-activity log (the git-reflog for your inbox). Strictly local: never transmitted off-device. See mxr activity --help
  • mxr archive: Archive a message (remove from inbox)
  • mxr ask: Ask a question against the local archive. Returns a citation- validated answer; the daemon rejects LLM citations that point to messages outside the retrieved set
  • mxr attachments: Manage message attachments
  • mxr briefing: Render a thread or recipient briefing, or a conversation’s context
  • mxr bug-report: Generate a sanitized diagnostic bundle
  • mxr burn: Destroy local mxr runtime state after stopping the daemon. Alias for mxr reset --hard. Preserves config.toml and credentials by default. Use –including-config to also delete config.toml. Destructive; use –dry-run to preview
  • mxr cadence: Manage the cadence watchlist
  • mxr cat: Display a message. Pass a positional ID, pipe IDs on stdin, or resolve a list with --search QUERY (then --first for the most recent match or --limit N for the top N)
  • mxr chimes: Manage local notification chimes
  • mxr commitments: List, find, keep or resolve commitments: promises made in mail
  • mxr completions: Generate shell completions
  • mxr compose: Compose a new email
  • mxr config: Configuration management
  • mxr contacts: Surface relationship analytics from the materialized contacts table
  • mxr count: Count matching messages
  • mxr daemon: Start the daemon explicitly
  • mxr decisions: List or rebuild the citation-backed decision log
  • mxr deliveries: Track packages and deliveries detected in your mail
  • mxr demo: Launch an isolated, realistic demo inbox without touching your real config
  • mxr desk: What needs you, not what arrived: replies you owe, promises coming due, threads waiting on someone, and new mail from people, each with the reason it is there. Everything else is summarised as counts
  • mxr doctor: Run diagnostics
  • mxr draft: Draft a new email or refine an existing local draft with LLM assistance
  • mxr draft-assist: Generate a draft reply for a thread, grounded on the thread context plus the user’s instruction. Output goes to stdout — pipe it into $EDITOR or your scratch buffer. Never auto-sends. Two equivalent forms:
  • mxr drafts: Manage drafts: list (default), show scheduled sends, recover orphaned in-flight sends, resume one for retry, edit, delete, or sync drafts with a provider
  • mxr events: Watch daemon events
  • mxr expert: Find people who have answered similar questions before. Either give the message id of the question OR a free-text query; the daemon ranks answerers (not askers)
  • mxr export: Export a thread or matching search results
  • mxr headers: Show message headers. Pass a positional ID, pipe IDs on stdin, or resolve a list with --search QUERY
  • mxr history: Show persisted event history
  • mxr humanize: Score or rewrite text using the deterministic humanizer gate
  • mxr invite: Inspect and respond to calendar invites in email
  • mxr invites: List calendar invites found in email
  • mxr jobs: List or inspect background jobs (large batch mutations, progress, undo ids)
  • mxr mcp: Model Context Protocol server commands
  • mxr modes: How each mode explains itself: its job, empty states, card and keys
  • mxr move: Move message to a label/folder
  • mxr notify: Unread summary for status bars
  • mxr now: The few things that need you now, from every mode.
  • mxr open: Open message in browser. Pass a positional ID or --search QUERY (with --first for the latest match, or --limit N plus --yes to open many tabs at once)
  • mxr owed: List the replies you owe: the desk’s You owe lane (mail from people in your inbox, from someone you’ve written to), most overdue against your usual pace with them first
  • mxr paper-trail: Paper trail: receipts, notifications and other automated mail in your inbox, grouped by sender, each with the reason it is here
  • mxr pin: Pin messages so a sweep leaves them where they are. Pins are local to this machine
  • mxr profile: Show or rebuild the inspectable relationship profile for a contact
  • mxr read: Mark message as read
  • mxr read-archive: Mark message as read and archive it
  • mxr reading: Reading: newsletters and lists in your inbox, grouped by sender, each with the reason it is here. Nothing here counts as unread
  • mxr remind: Set or cancel a follow-up reminder on an outbound message. Reminders fire if no reply has arrived by the given time — surfacing the message back to the user as a follow-up
  • mxr replies: Manage the reply-later queue
  • mxr reply: Reply to a message
  • mxr reply-all: Reply to all recipients
  • mxr reset: Destroy local mxr runtime state after stopping the daemon. Preserves config.toml and credentials by default. Use –including-config to also delete config.toml. Destructive; use –dry-run to preview
  • mxr response-time: Reply-latency percentiles (clock + business-hours) per direction
  • mxr restart: Restart the daemon with the current binary
  • mxr route: Route queued messages to a target label, optionally marking read and archiving
  • mxr rules: Manage rules
  • mxr saved: Manage saved searches
  • mxr screener: Triage unknown senders: classify them as allow / deny / feed / paper-trail. Local-only consent metadata; never roundtrips to the provider
  • mxr search: Search messages
  • mxr semantic: Manage semantic search profiles and indexing
  • mxr send: Send a draft by ID
  • mxr send-time: Show the recipient’s typical reply-time bucket
  • mxr sender: Show per-sender relationship aggregates: volume, response cadence, open threads. The unfair advantage of having local SQLite — every other email tool reasons over messages, not people
  • mxr senders: List top inbound senders by message volume
  • mxr setup: First-run setup wizard for demo, Gmail, or IMAP/SMTP
  • mxr signatures: Manage outgoing compose signatures
  • mxr snippets: Manage compose snippets (;name expansions)
  • mxr snooze: Snooze a message until a specified time
  • mxr snoozed: List snoozed messages
  • mxr spam: Report message as spam
  • mxr stale: List stale threads waiting for a reply (mine = my turn, theirs = theirs)
  • mxr star: Star a message
  • mxr status: Show daemon status
  • mxr storage: Roll up disk consumption by sender, mimetype, or label
  • mxr subscriptions: List senders with unsubscribe support
  • mxr suggest-recipients: Suggest “maybe include” Cc recipients for a draft. Excludes addresses already on the draft and never reveals Bcc’d addresses from prior threads
  • mxr summarize: Summarise an email thread using the configured LLM (Ollama, LM Studio, OpenAI, etc.). Requires [llm] enabled = true in config. Pass a positional thread ID or use --search QUERY plus --first (most recent match) or --limit N to summarize multiple threads in one go. Multi-summary output is separated by --- THREAD_ID ---
  • mxr sweep: Archive everything unpinned in Reading or Paper trail, or in one sender’s bundle there. Preview with –dry-run, then archive with –yes; mxr undo reverses it
  • mxr sync: Trigger or query sync. Triggering starts a sync in the daemon and returns as soon as it has started; the account keeps syncing afterwards, through the rest of a backfill and any queued tick. Use –wait to wait for the account itself to go idle
  • mxr thread: Display a thread. Pass a positional ID, pipe IDs on stdin, or resolve a list with --search QUERY (deduplicated by thread)
  • mxr threads: List threads in date-descending order. Each returned thread includes its constituent message IDs (date-ascending). Filter by account or label; paginate with –limit/–offset
  • mxr time: Preview how a time phrase resolves before using it
  • mxr todo: Things email asked you to do, ordered by when to act.
  • mxr trash: Move message to trash
  • mxr triage: Classify search results as ACTION/FYI/ROUTINE using the cached summarizer verdict
  • mxr undo: Undo a recent destructive mutation by its id (~60s window). The mutation id is printed by archive, trash, spam, mark-read, read-archive and desk done; copy it from there
  • mxr unlabel: Remove a label from a message
  • mxr unpin: Unpin messages: the next sweep takes them too
  • mxr unread: Mark message as unread
  • mxr unsend: Cancel a previously-scheduled send. The draft itself is preserved
  • mxr unsnooze: Unsnooze a message
  • mxr unstar: Unstar a message
  • mxr unsubscribe: Unsubscribe from a mailing list
  • mxr web: Start or reopen the local HTTP/WebSocket bridge and open the web app in the default browser. Runs detached by default; use mxr web stop to stop the detached bridge
  • mxr whois: Explain an entity (email or term) using local evidence
  • mxr why: Why a message is where it is: people, Reading, Paper trail or screened out, and the rule that decided it
  • mxr wrapped: Year-in-review summary: volume, time patterns, top contacts, reply discipline, storage, newsletters, superlatives. Like Spotify Wrapped but for your inbox