CLI reference
Generated from the captured
--helpsnapshots atcrates/daemon/tests/snapshots/cli_help__*.snap. To change a flag, change the clap definition incrates/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.
All commands
Section titled “All commands”mxr accounts: Manage accountsmxr activity: Browse the local user-activity log (the git-reflog for your inbox). Strictly local: never transmitted off-device. Seemxr activity --helpmxr 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 setmxr attachments: Manage message attachments
mxr briefing: Render a thread or recipient briefing, or a conversation’s contextmxr bug-report: Generate a sanitized diagnostic bundlemxr burn: Destroy local mxr runtime state after stopping the daemon. Alias formxr 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 watchlistmxr cat: Display a message. Pass a positional ID, pipe IDs on stdin, or resolve a list with--search QUERY(then--firstfor the most recent match or--limit Nfor the top N)mxr chimes: Manage local notification chimesmxr commitments: List, find, keep or resolve commitments: promises made in mailmxr completions: Generate shell completionsmxr compose: Compose a new emailmxr config: Configuration managementmxr contacts: Surface relationship analytics from the materialized contacts tablemxr count: Count matching messages
mxr daemon: Start the daemon explicitlymxr decisions: List or rebuild the citation-backed decision logmxr deliveries: Track packages and deliveries detected in your mailmxr demo: Launch an isolated, realistic demo inbox without touching your real configmxr 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 countsmxr doctor: Run diagnosticsmxr draft: Draft a new email or refine an existing local draft with LLM assistancemxr 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$EDITORor 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 eventsmxr 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 forward: Forward a message
mxr headers: Show message headers. Pass a positional ID, pipe IDs on stdin, or resolve a list with--search QUERYmxr history: Show persisted event historymxr humanize: Score or rewrite text using the deterministic humanizer gate
mxr invite: Inspect and respond to calendar invites in emailmxr invites: List calendar invites found in email
mxr jobs: List or inspect background jobs (large batch mutations, progress, undo ids)
mxr label: Apply a label to a messagemxr labels: Manage labelsmxr llm: Inspect local/cloud LLM provider statusmxr logs: View daemon logs
mxr mcp: Model Context Protocol server commandsmxr modes: How each mode explains itself: its job, empty states, card and keysmxr move: Move message to a label/folder
mxr notify: Unread summary for status barsmxr 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--firstfor the latest match, or--limit Nplus--yesto 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 heremxr pin: Pin messages so a sweep leaves them where they are. Pins are local to this machinemxr profile: Show or rebuild the inspectable relationship profile for a contact
mxr read: Mark message as readmxr read-archive: Mark message as read and archive itmxr reading: Reading: newsletters and lists in your inbox, grouped by sender, each with the reason it is here. Nothing here counts as unreadmxr 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-upmxr replies: Manage the reply-later queuemxr reply: Reply to a messagemxr reply-all: Reply to all recipientsmxr 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 previewmxr response-time: Reply-latency percentiles (clock + business-hours) per directionmxr restart: Restart the daemon with the current binarymxr route: Route queued messages to a target label, optionally marking read and archivingmxr rules: Manage rules
mxr saved: Manage saved searchesmxr screener: Triage unknown senders: classify them as allow / deny / feed / paper-trail. Local-only consent metadata; never roundtrips to the providermxr search: Search messagesmxr semantic: Manage semantic search profiles and indexingmxr send: Send a draft by IDmxr send-time: Show the recipient’s typical reply-time bucketmxr 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 peoplemxr senders: List top inbound senders by message volumemxr setup: First-run setup wizard for demo, Gmail, or IMAP/SMTPmxr signatures: Manage outgoing compose signaturesmxr snippets: Manage compose snippets (;nameexpansions)mxr snooze: Snooze a message until a specified timemxr snoozed: List snoozed messagesmxr spam: Report message as spammxr stale: List stale threads waiting for a reply (mine = my turn, theirs = theirs)mxr star: Star a messagemxr status: Show daemon statusmxr storage: Roll up disk consumption by sender, mimetype, or labelmxr subscriptions: List senders with unsubscribe supportmxr suggest-recipients: Suggest “maybe include” Cc recipients for a draft. Excludes addresses already on the draft and never reveals Bcc’d addresses from prior threadsmxr summarize: Summarise an email thread using the configured LLM (Ollama, LM Studio, OpenAI, etc.). Requires[llm] enabled = truein config. Pass a positional thread ID or use--search QUERYplus--first(most recent match) or--limit Nto 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 undoreverses itmxr 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/–offsetmxr time: Preview how a time phrase resolves before using itmxr todo: Things email asked you to do, ordered by when to act.mxr trash: Move message to trashmxr 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 byarchive,trash,spam,mark-read,read-archiveanddesk done; copy it from theremxr unlabel: Remove a label from a messagemxr unpin: Unpin messages: the next sweep takes them toomxr unread: Mark message as unreadmxr unsend: Cancel a previously-scheduled send. The draft itself is preservedmxr unsnooze: Unsnooze a messagemxr unstar: Unstar a messagemxr unsubscribe: Unsubscribe from a mailing list
mxr version: Show versionmxr voice: Show or rebuild the account-level user voice profile
mxr web: Start or reopen the local HTTP/WebSocket bridge and open the web app in the default browser. Runs detached by default; usemxr web stopto stop the detached bridgemxr whois: Explain an entity (email or term) using local evidencemxr why: Why a message is where it is: people, Reading, Paper trail or screened out, and the rule that decided itmxr wrapped: Year-in-review summary: volume, time patterns, top contacts, reply discipline, storage, newsletters, superlatives. Like Spotify Wrapped but for your inbox