gogcli (gog)
gog is a fast, script-friendly CLI for Google services. It is JSON-first, supports multiple accounts/OAuth clients, and has explicit guardrails for agent and CI usage.
Authoritative upstream: https://github.com/steipete/gogcli
This skill was refreshed against upstream gog v0.13.0 (2026-04-20). When exact syntax matters, run gog <command> --help or gog schema --json; the command surface moves quickly, rather inconveniently for anyone fond of stale notes.
Operating rules
- Prefer
gog --json ... | jq ...for inspection and scripting. - Use
--plainonly when stable TSV is more convenient than JSON. - Use
--dry-runfor supported mutating operations when preparing a change or when user intent is ambiguous. - Use
--no-inputin automation so commands fail instead of prompting. - Use
--forceonly when the user asked for the destructive/public/send/admin operation or after you have clearly explained the effect. - Do not repair OAuth, consent, keyring, or Workspace delegation problems silently. Show the exact command the user should run.
- Do not export tokens, print secrets, open public shares, add delegates/forwarding, send mail, suspend users, or permanently delete data unless the user explicitly requested that action.
- For agent runs that must not send mail, add
--gmail-no-send, setGOG_GMAIL_NO_SEND=1, or configuregog config no-send set <account>.
Install and auth
Notes:
- Homebrew now uses
brew install gogcli; old tap examples are obsolete. gog auth adddefaults to--services user. Request the services needed for the task.--services allis accepted only as a backwards-compatible alias foruser; do not use it when you need every API.- Use
--readonly,--drive-scope readonly|file|full, and--gmail-scope readonly|fullfor least privilege. - Keep and Admin require Workspace service-account/domain-wide delegation. Google Chat, Groups, directory, and Classroom also have Workspace restrictions.
- For headless/CI, consider
--manual,--remote,--access-token, orGOG_AUTH_MODE=adc.
Read references/authentication.md for full auth patterns.
Global flags
Useful command aliases:
High-value workflows
Account selection
Gmail
For forwarding, autoreply, watch/Pub/Sub, filters, delegates, send-as, label colours, batch operations, and tracking, read references/gmail.md.
Calendar
Use RFC3339 with timezone offsets for generated datetimes. Read references/calendar.md for aliases, subscriptions, secondary calendars, extended properties, Focus Time, OOO, working locations, team calendars, and conflict detection.
Drive, Docs, Sheets, Slides, Forms, Apps Script
Read references/drive-docs.md for current file/content commands. For Docs sed formatting, read references/sedmat.md.
Other services
Read references/other-services.md for Chat, Classroom, Contacts, Tasks, People, Groups, Admin, Keep, and time utilities.
Scripting patterns
Reference map
references/command-reference.md- generated command index fromgog schema --jsonreferences/authentication.md- OAuth clients, service accounts, scopes, keyrings, headless authreferences/configuration.md- config keys, environment variables, output modes, safety switchesreferences/gmail.md- Gmail search, read, send, labels, settings, watch, tracking, autoreplyreferences/calendar.md- Calendar listing, event writes, scheduling, special events, aliasesreferences/drive-docs.md- Drive, Docs, Sheets, Slides, Forms, Apps Scriptreferences/sedmat.md- Docs sed/formatting DSLreferences/other-services.md- Chat, Classroom, Contacts, Tasks, People, Groups, Admin, Keep


