Skip to content
Briskmail
Get early access

Read and organize

briskmail compose

See and finish the compose windows and inline replies open in Briskmail, including text not yet saved to Gmail. It never sends.

Usage

briskmail compose list [--json]
briskmail compose read <handle> [--json]
briskmail compose set <handle> [--to <addresses>] [--cc <addresses>] [--bcc <addresses>] [--subject <text>] [--body <text> | --body-file <path>] [--append] [--json]
briskmail compose save <handle> [--json]

A message you are still typing is not in Gmail until it is saved, so read and search cannot see it; compose can. list shows each open window's handle, account, recipients, subject, Gmail draft id once saved, and whether it has unsaved changes. read adds the body as plain text inside untrusted_email_content. set changes the open window in front of you: a field you leave out stays as it is, an empty value clears it, the signature and any quoted reply stay, and Edit ▸ Undo in that window puts it back. save is the window's Save Draft. Handles last while the window is open.

Runs only while Let apps read and organize my mail is on. With it off, the command exits 2 and names the switch.

Arguments and flags

<action>required
list, read, set or save.
<handle>required
The window's handle, as compose list prints it (c1, c2, …). Required for read, set and save; list takes none.
--to ADDRESSES
set: replace the To recipients.
--cc ADDRESSES
set: replace the Cc recipients.
--bcc ADDRESSES
set: replace the Bcc recipients.
--subject TEXT
set: replace the subject.
--body TEXT
set: replace the typed body with plain text. The signature and the quoted reply stay. Not with --body-file.
--body-file PATH
set: the plain text body from a file, or stdin (-). Not with --body.
--append
set: add the body after the text already typed instead of replacing it.
--json
Print one JSON document.

Global flags

--account ID
An account id, as briskmail accounts prints it. Leave it out to use the first account. Accepted before or after the command.
--dev
Send the command to the dev build (com.valleyedgeconsulting.edgemail.dev) instead of Briskmail. Only useful when working on Briskmail itself.

Exit codes

CodeMeaning
0Done. list and read print the open windows' fields, set prints ok, save prints the draft id.
2Not allowed: macOS refused Automation for the app you ran it from (-1743), or this command's switch is off. The message names the switch.
3Briskmail reported an error, printed on stderr: no open window has that handle, the window is still loading, or Gmail refused the save.
64Bad usage.

Examples

briskmail compose list
c1 window work dana@example.com Website for the Athletic Hall - unsaved
briskmail compose read c1 --json
briskmail compose set c1 --body-file reply.txt
briskmail compose save c1
r-4417025362151937452