install
source · Clone the upstream repo
git clone https://github.com/googleworkspace/cli
Claude Code · Install into ~/.claude/skills/
T=$(mktemp -d) && git clone --depth=1 https://github.com/googleworkspace/cli "$T" && mkdir -p ~/.claude/skills && cp -r "$T/skills/gws-gmail-send" ~/.claude/skills/googleworkspace-cli-gws-gmail-send && rm -rf "$T"
manifest:
skills/gws-gmail-send/SKILL.mdsource content
gmail +send
PREREQUISITE: Read
for auth, global flags, and security rules. If missing, run../gws-shared/SKILL.mdto create it.gws generate-skills
Send an email
Usage
gws gmail +send --to <EMAILS> --subject <SUBJECT> --body <TEXT>
Flags
| Flag | Required | Default | Description |
|---|---|---|---|
| ✓ | — | Recipient email address(es), comma-separated |
| ✓ | — | Email subject |
| ✓ | — | Email body (plain text, or HTML with --html) |
| — | — | Sender address (for send-as/alias; omit to use account default) |
| — | — | Attach a file (can be specified multiple times) |
| — | — | CC email address(es), comma-separated |
| — | — | BCC email address(es), comma-separated |
| — | — | Treat --body as HTML content (default is plain text) |
| — | — | Show the request that would be sent without executing it |
| — | — | Save as draft instead of sending |
Examples
gws gmail +send --to alice@example.com --subject 'Hello' --body 'Hi Alice!' gws gmail +send --to alice@example.com --subject 'Hello' --body 'Hi!' --cc bob@example.com gws gmail +send --to alice@example.com --subject 'Hello' --body '<b>Bold</b> text' --html gws gmail +send --to alice@example.com --subject 'Hello' --body 'Hi!' --from alias@example.com gws gmail +send --to alice@example.com --subject 'Report' --body 'See attached' -a report.pdf gws gmail +send --to alice@example.com --subject 'Files' --body 'Two files' -a a.pdf -a b.csv gws gmail +send --to alice@example.com --subject 'Hello' --body 'Hi!' --draft
Tips
- Handles RFC 5322 formatting, MIME encoding, and base64 automatically.
- Use --from to send from a configured send-as alias instead of your primary address.
- Use -a/--attach to add file attachments. Can be specified multiple times. Total size limit: 25MB.
- With --html, use fragment tags (<p>, <b>, <a>, <br>, etc.) — no <html>/<body> wrapper needed.
- Use --draft to save the message as a draft instead of sending it immediately.
[!CAUTION] This is a write command — confirm with the user before executing.
See Also
- gws-shared — Global flags and auth
- gws-gmail — All send, read, and manage email commands