Skip to content

mxr compose

Generated from mxr compose --help. Edit the clap definitions in crates/daemon/src/cli/ and re-run npm run build in site/ to regenerate.

Compose a new email

mxr compose [OPTIONS]
FlagDescription
--to <TO>Recipient(s), comma-separated
--cc <CC>CC recipient(s)
--bcc <BCC>BCC recipient(s)
--subject <SUBJECT>Subject line
--body <BODY>Message body as string
--body-stdinRead message body from stdin
--attach <ATTACH>File path to attach (repeatable)
--from <FROM>Account name to send from
--signature <SIGNATURE>Insert this signature by name instead of the scoped default
--no-signatureDo not insert any signature
--yesSkip confirmation prompt
--dry-runShow what would be sent without sending
--format <FORMAT>[possible values: table, json, jsonl, csv, ids]
--checkBuild a transient draft from these args and run the pre-send safety pipeline against it without sending or saving. Exit non-zero only on Blocker issues. Useful for CI/pre-commit hooks: pipe a body in and assert the JSON report
--no-llmWith --check: skip LLM-backed checks (answer-coverage). Has no effect on a real send
-h, --helpPrint help

Write a new message in $EDITOR or from stdin in scripts. Add --check to run the pre-send safety pipeline against a transient draft built from these flags — useful in CI / pre-commit hooks.

Terminal window
mxr compose --to alice@example.com --subject 'Friday'
printf 'Approved' | mxr compose --to alice@example.com --subject 'Re: plan' --body-stdin --dry-run
mxr compose --to alice@example.com --body 'see attached' --check --format json # warns: missing attachment