Current as of mailkit 0.4.0. Also in commands.json. Global: -a / --account EMAIL, --json on verbs that say so. Organize verbs: ids or -q.

Auth

CommandNotes
auth set-client <client.json>Gmail Desktop OAuth client, once
auth add [EMAIL]Default provider gmail; browser
auth add --provider fastmail EMAILToken on stdin
auth add --provider protonmail EMAILBridge mailbox password on stdin
auth add --force …Overwrite another provider on the same address
auth listemail [provider] (default)
auth default EMAILDefault for omitted -a
auth remove EMAILLocal Keychain only
auth doctor [-a EMAIL] [--json]Credential canary

Read

CommandNotes
read [--unread] [--max N] [-q QUERY] [--json]Inbox if no query
search QUERY [--max N] [--json]See read.md for syntax
show MESSAGE_ID [--json]Full body
thread THREAD_ID [--json]Gmail only

Write

CommandNotes
draft --to --subject --body [--cc] [--thread] [--attach]… [--json]Never sends
reply MESSAGE_ID --body [--reply-all] [--json]Never sends
drafts [--json]
send --yes --draft IDOutbound
send --yes --to --subject --body [--cc] [--html-file] [--attach]…Outbound

Organize

CommandProviders
archive [IDS] [-q]gmail, protonmail
mark-read / mark-unread [IDS] [-q]gmail, protonmail
trash [IDS] [-q]gmail, protonmail
untrash [IDS] [-q]gmail
label [IDS] --add/--remove [--create] [-q]gmail
labels / labels-create NAMEgmail

Gmail filters

CommandNotes
filter list [--json]
filter create --label NAME […]Future mail
filter delete ID
reconcile [--json]Backlog
file-inbox [--older-than N] [--json]Default 1 day

Other

CommandNotes
init-skill [--target claude-code|opencode|path:DIR] [--json]Optional skill install
mailkit --version
mailkit --help