Lesson 1 of 4
Your first draft from Claude Code
You describe the email. Claude Code writes it and runs briskmail draft. Briskmail opens a compose window with everything filled in, and you send it, or don't.
The command isn't available to install yet Coming soon. The steps below are what using it looks like.
Claude Code cannot send mail this way. draft stops at an open window: it saves no draft and has no send path. That makes it the safe place to start.
Step 1 of 4 Ask for the email
In Claude Code, say what you want and name the tool:
Write a short email to dana@example.com asking to move Thursday's call to 3pm. Open it in Briskmail with briskmail draft.Claude Code runs something like this:
briskmail draftbriskmail draft --to dana@example.com --subject "Thursday" --body "Can we move to 3pm?"
okStep 2 of 4 Allow it once
The first time, macOS asks whether the program Claude Code is running in (Terminal, Ghostty, VS Code) may control Briskmail. Click Allow.
If you click Don't Allow, the command exits with code 2 and says where to change it: System Settings ▸ Privacy & Security ▸ Automation.
Step 3 of 4 Finish it yourself
The compose window is an ordinary Briskmail window. Change a word, add an attachment, then Send, or close it. The command itself saved nothing, and all it told Claude Code was ok. It never sees what you change.
Step 4 of 4 Longer emails
Quoting a long body on one line is where agents trip. --body-file - reads it from stdin instead, so line breaks and quote marks arrive as written:
briskmail draftprintf 'Notes from today:\n- ship Friday\n' | briskmail draft --to team@example.com --subject Notes --body-file -
okA long or multi-line body is easier through stdin than through quotes.
Replying
briskmail reply works the same way for an existing message. Briskmail fills in the recipients and subject so the reply lands in the thread, then waits for you.
briskmail replybriskmail reply 18f2a9c4be01d7a3 --body "Thursday works. See you then."
okIt needs Gmail's id for the message. The window commands never return ids, or anything else from your mail. Ids come from list and search, which need the Read and organize switch:
briskmail searchbriskmail search "from:dana@example.com" --jsonOr skip the id: open the conversation yourself and have the agent reply to whatever is on screen with --current.