commands.json.
Global: -a / --account EMAIL, --json on verbs that say so. Organize verbs: ids or -q.
Auth
| Command | Notes |
|---|---|
auth set-client <client.json> | Gmail Desktop OAuth client, once |
auth add [EMAIL] | Default provider gmail; browser |
auth add --provider fastmail EMAIL | Token on stdin |
auth add --provider protonmail EMAIL | Bridge mailbox password on stdin |
auth add --force … | Overwrite another provider on the same address |
auth list | email [provider] (default) |
auth default EMAIL | Default for omitted -a |
auth remove EMAIL | Local Keychain only |
auth doctor [-a EMAIL] [--json] | Credential canary |
Read
| Command | Notes |
|---|---|
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
| Command | Notes |
|---|---|
draft --to --subject --body [--cc] [--thread] [--attach]… [--json] | Never sends |
reply MESSAGE_ID --body [--reply-all] [--json] | Never sends |
drafts [--json] | |
send --yes --draft ID | Outbound |
send --yes --to --subject --body [--cc] [--html-file] [--attach]… | Outbound |
Organize
| Command | Providers |
|---|---|
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 NAME | gmail |
Gmail filters
| Command | Notes |
|---|---|
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
| Command | Notes |
|---|---|
init-skill [--target claude-code|opencode|path:DIR] [--json] | Optional skill install |
mailkit --version | |
mailkit --help |