gmail +reply
PREREQUISITE: Read ../gws-shared/SKILL.md for auth, global flags, and security rules. If missing, run gws generate-skills to create it.
Reply to a message (handles threading automatically)
Usage
gws gmail +reply --message-id <ID> --body <TEXT>
Flags
| Flag |
Required |
Default |
Description |
--message-id |
✓ |
— |
Gmail message ID to reply to |
--body |
✓ |
— |
Reply body, used verbatim (plain text, or HTML with --html). \n is NOT a newline — use $'...' or a real line break |
--from |
— |
— |
Sender address (for send-as/alias; omit to use account default) |
--to |
— |
— |
Additional To email address(es), comma-separated |
--attach |
— |
— |
Attach a file (can be specified multiple times) |
--cc |
— |
— |
CC email address(es), comma-separated |
--bcc |
— |
— |
BCC email address(es), comma-separated |
--html |
— |
— |
Treat --body as HTML content (default is plain text) |
--dry-run |
— |
— |
Show the request that would be sent without executing it |
--draft |
— |
— |
Save as draft instead of sending |
Examples
gws gmail +reply --message-id 18f1a2b3c4d --body 'Thanks, got it!'
gws gmail +reply --message-id 18f1a2b3c4d --body 'Looping in Carol' --cc carol@example.com
gws gmail +reply --message-id 18f1a2b3c4d --body 'Adding Dave' --to dave@example.com
gws gmail +reply --message-id 18f1a2b3c4d --body '<b>Bold reply</b>' --html
gws gmail +reply --message-id 18f1a2b3c4d --body 'Updated version' -a updated.docx
gws gmail +reply --message-id 18f1a2b3c4d --body 'Draft reply' --draft
# Multi-line body — $'...' quoting turns \n into a real newline:
gws gmail +reply --message-id 18f1a2b3c4d --body $'Hi John,\n\nConfirmed for Tuesday.\n\nBlake'
# Long body — read it from a file instead of quoting inline:
gws gmail +reply --message-id 18f1a2b3c4d --body "$(cat reply.txt)"
Tips
- IMPORTANT: --body is verbatim. Writing --body "Hi,\n\nThanks" sends a literal backslash-n to the recipient; it does NOT create a line break. Use $'Hi,\n\nThanks' or "$(cat file.txt)". See gws-shared Shell Tips.
- Automatically sets In-Reply-To, References, and threadId headers.
- Quotes the original message in the reply body.
- --to adds extra recipients to the To field.
- Use -a/--attach to add file attachments. Can be specified multiple times.
- With --html, the quoted block uses Gmail's gmail_quote CSS classes and preserves HTML formatting. Use fragment tags (, , , etc.) — no / wrapper needed.
- With --html, inline images in the quoted message are preserved via cid: references.
- Use --draft to save the reply as a draft instead of sending it immediately.
- For reply-all, use +reply-all instead.
See Also
1---
2name: gws-gmail-reply
3description: "Gmail: Reply to a message (handles threading automatically)."
4metadata:
5 version: 0.22.5
6 openclaw:
7 category: "productivity"
8 requires:
9 bins:
10 - gws
11 cliHelp: "gws gmail +reply --help"
12---1314
15# gmail +reply
16
17> **PREREQUISITE:** Read `../gws-shared/SKILL.md` for auth, global flags, and security rules. If missing, run `gws generate-skills` to create it.
18
19Reply to a message (handles threading automatically)
20
21## Usage
22
23```bash
24gws gmail +reply --message-id <ID> --body <TEXT>
25```
26
27## Flags
28
29| Flag | Required | Default | Description |
30|------|----------|---------|-------------|
31| `--message-id` | ✓ | — | Gmail message ID to reply to |
32| `--body` | ✓ | — | Reply body, used verbatim (plain text, or HTML with --html). \n is NOT a newline — use $'...' or a real line break |
33| `--from` | — | — | Sender address (for send-as/alias; omit to use account default) |
34| `--to` | — | — | Additional To email address(es), comma-separated |
35| `--attach` | — | — | Attach a file (can be specified multiple times) |
36| `--cc` | — | — | CC email address(es), comma-separated |
37| `--bcc` | — | — | BCC email address(es), comma-separated |
38| `--html` | — | — | Treat --body as HTML content (default is plain text) |
39| `--dry-run` | — | — | Show the request that would be sent without executing it |
40| `--draft` | — | — | Save as draft instead of sending |
41
42## Examples
43
44```bash
45gws gmail +reply --message-id 18f1a2b3c4d --body 'Thanks, got it!'
46gws gmail +reply --message-id 18f1a2b3c4d --body 'Looping in Carol' --cc carol@example.com
47gws gmail +reply --message-id 18f1a2b3c4d --body 'Adding Dave' --to dave@example.com
48gws gmail +reply --message-id 18f1a2b3c4d --body '<b>Bold reply</b>' --html
49gws gmail +reply --message-id 18f1a2b3c4d --body 'Updated version' -a updated.docx
50gws gmail +reply --message-id 18f1a2b3c4d --body 'Draft reply' --draft
51# Multi-line body — $'...' quoting turns \n into a real newline:
52gws gmail +reply --message-id 18f1a2b3c4d --body $'Hi John,\n\nConfirmed for Tuesday.\n\nBlake'
53# Long body — read it from a file instead of quoting inline:
54gws gmail +reply --message-id 18f1a2b3c4d --body "$(cat reply.txt)"
55```
56
57## Tips
58
59- IMPORTANT: --body is verbatim. Writing --body "Hi,\n\nThanks" sends a literal backslash-n to the recipient; it does NOT create a line break. Use $'Hi,\n\nThanks' or "$(cat file.txt)". See gws-shared Shell Tips.
60- Automatically sets In-Reply-To, References, and threadId headers.
61- Quotes the original message in the reply body.
62- --to adds extra recipients to the To field.
63- Use -a/--attach to add file attachments. Can be specified multiple times.
64- With --html, the quoted block uses Gmail's gmail_quote CSS classes and preserves HTML formatting. Use fragment tags (<p>, <b>, <a>, etc.) — no <html>/<body> wrapper needed.
65- With --html, inline images in the quoted message are preserved via cid: references.
66- Use --draft to save the reply as a draft instead of sending it immediately.
67- For reply-all, use +reply-all instead.
68
69## See Also
70
71- [gws-shared](../gws-shared/SKILL.md) — Global flags and auth
72- [gws-gmail](../gws-gmail/SKILL.md) — All send, read, and manage email commands