Skip to content
Briskmail
See availability

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 draft
briskmail draft --to dana@example.com --subject "Thursday" --body "Can we move to 3pm?"
ok

Step 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 draft
printf 'Notes from today:\n- ship Friday\n' | briskmail draft --to team@example.com --subject Notes --body-file -
ok

A 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 reply
briskmail reply 18f2a9c4be01d7a3 --body "Thursday works. See you then."
ok

It 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 search
briskmail search "from:dana@example.com" --json

Or skip the id: open the conversation yourself and have the agent reply to whatever is on screen with --current.