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-watch" ~/.claude/skills/googleworkspace-cli-gws-gmail-watch && rm -rf "$T"
manifest:
skills/gws-gmail-watch/SKILL.mdsource content
gmail +watch
PREREQUISITE: Read
for auth, global flags, and security rules. If missing, run../gws-shared/SKILL.mdto create it.gws generate-skills
Watch for new emails and stream them as NDJSON
Usage
gws gmail +watch
Flags
| Flag | Required | Default | Description |
|---|---|---|---|
| — | — | GCP project ID for Pub/Sub resources |
| — | — | Existing Pub/Sub subscription name (skip setup) |
| — | — | Existing Pub/Sub topic with Gmail push permission already granted |
| — | — | Comma-separated Gmail label IDs to filter (e.g., INBOX,UNREAD) |
| — | 10 | Max messages per pull batch |
| — | 5 | Seconds between pulls |
| — | full | Gmail message format: full, metadata, minimal, raw |
| — | — | Pull once and exit |
| — | — | Delete created Pub/Sub resources on exit |
| — | — | Write each message to a separate JSON file in this directory |
Examples
gws gmail +watch --project my-gcp-project gws gmail +watch --project my-project --label-ids INBOX --once gws gmail +watch --subscription projects/p/subscriptions/my-sub gws gmail +watch --project my-project --cleanup --output-dir ./emails
Tips
- Gmail watch expires after 7 days — re-run to renew.
- Without --cleanup, Pub/Sub resources persist for reconnection.
- Press Ctrl-C to stop gracefully.
See Also
- gws-shared — Global flags and auth
- gws-gmail — All send, read, and manage email commands