openclaw/gogcliPublic

Google Workspace in your terminal.

AI summary: A unified, task-first CLI for automating Google Workspace operations.

Stars
8.5K
+5 today
Forks
706
Watchers
26
Open issues
2
Open PRs
0
Contributors
~138
Commits
1.9K
Branches
39

GoMITCreated Dec 12, 2025Last push 3d agoLatest release v0.42.0+23 stars this week+104 this month

Quick answers

What is gogcli?
A unified, task-first CLI for automating Google Workspace operations.
What does gogcli do?
gog consolidates the sprawling Google Workspace APIs into a single CLI binary designed for both human operators and automated scripts. It provides task-first commands that abstract away the complexity of raw REST resources, enabling practical workflows like auditing Drive sharing, sending Gmail, resolving calendar names, editing Docs, and managing Workspace users. It enforces strict operational contracts to make automation reliable, offering stable JSON output for CI environments, comprehensive exit codes, and robust read-only flags to prevent accidental modifications. It essentially turns Google Workspace into a scriptable command-line toolkit.
Who is gogcli for?
DevOps engineers, IT admins, and developers needing a scriptable, predictable interface to manage and automate Google Workspace.
How do I get started with gogcli?
gog --account you@gmail.com --readonly calendar events --today
How popular is gogcli on GitHub?
openclaw/gogcli has 8,467 stars and 706 forks on GitHub, and gained 23 stars in the last 7 days.
What license does gogcli use?
openclaw/gogcli is released under the MIT license.

Star history

since Jul 29, 2026
02.5K5K7.5KJul 2026Aug 2026Sep 2026Oct 2026
8.5K stars as of Oct 3, 2026. Measured daily since Jul 29, 2026; GitHub no longer exposes earlier star timestamps.

Update history

1 recorded
  • Oct 4, 2026Previously tracked as steipete/gogcli; its 1 daily snapshot and 3 trending appearances were merged into this profile. Stars: 8,226 on 2026-07-29 under the old name, 8,467 on 2026-10-03 (+241).

Contribution activity

commits per day, last 52 weeks
SepOctNovDecJanFebMarAprMayJunJulAugSepMonWedFri2025-09-27: 0 commits2025-09-28: 0 commits2025-09-29: 0 commits2025-09-30: 0 commits2025-10-01: 0 commits2025-10-02: 0 commits2025-10-03: 0 commits2025-10-04: 0 commits2025-10-05: 0 commits2025-10-06: 0 commits2025-10-07: 0 commits2025-10-08: 0 commits2025-10-09: 0 commits2025-10-10: 0 commits2025-10-11: 0 commits2025-10-12: 0 commits2025-10-13: 0 commits2025-10-14: 0 commits2025-10-15: 0 commits2025-10-16: 0 commits2025-10-17: 0 commits2025-10-18: 0 commits2025-10-19: 0 commits2025-10-20: 0 commits2025-10-21: 0 commits2025-10-22: 0 commits2025-10-23: 0 commits2025-10-24: 0 commits2025-10-25: 0 commits2025-10-26: 0 commits2025-10-27: 0 commits2025-10-28: 0 commits2025-10-29: 0 commits2025-10-30: 0 commits2025-10-31: 0 commits2025-11-01: 0 commits2025-11-02: 0 commits2025-11-03: 0 commits2025-11-04: 0 commits2025-11-05: 0 commits2025-11-06: 0 commits2025-11-07: 0 commits2025-11-09: 0 commits2025-11-10: 0 commits2025-11-11: 0 commits2025-11-12: 0 commits2025-11-13: 0 commits2025-11-14: 0 commits2025-11-15: 0 commits2025-11-16: 0 commits2025-11-17: 0 commits2025-11-18: 0 commits2025-11-19: 0 commits2025-11-20: 0 commits2025-11-21: 0 commits2025-11-22: 0 commits2025-11-23: 0 commits2025-11-24: 0 commits2025-11-25: 0 commits2025-11-26: 0 commits2025-11-27: 0 commits2025-11-28: 0 commits2025-11-29: 0 commits2025-11-30: 0 commits2025-12-01: 0 commits2025-12-02: 0 commits2025-12-03: 0 commits2025-12-04: 0 commits2025-12-05: 0 commits2025-12-06: 0 commits2025-12-07: 0 commits2025-12-08: 0 commits2025-12-09: 0 commits2025-12-10: 0 commits2025-12-11: 0 commits2025-12-12: 40 commits2025-12-13: 0 commits2025-12-14: 0 commits2025-12-15: 0 commits2025-12-16: 2 commits2025-12-17: 11 commits2025-12-18: 3 commits2025-12-19: 0 commits2025-12-20: 3 commits2025-12-21: 1 commit2025-12-22: 0 commits2025-12-23: 0 commits2025-12-24: 24 commits2025-12-25: 0 commits2025-12-26: 47 commits2025-12-27: 0 commits2025-12-28: 13 commits2025-12-29: 0 commits2025-12-30: 0 commits2025-12-31: 19 commits2026-01-01: 1 commit2026-01-02: 30 commits2026-01-03: 14 commits2026-01-04: 2 commits2026-01-05: 14 commits2026-01-06: 0 commits2026-01-07: 11 commits2026-01-08: 45 commits2026-01-09: 40 commits2026-01-10: 9 commits2026-01-11: 9 commits2026-01-12: 3 commits2026-01-13: 15 commits2026-01-14: 3 commits2026-01-15: 5 commits2026-01-16: 18 commits2026-01-17: 38 commits2026-01-18: 2 commits2026-01-19: 13 commits2026-01-20: 4 commits2026-01-21: 12 commits2026-01-22: 4 commits2026-01-23: 0 commits2026-01-24: 2 commits2026-01-25: 0 commits2026-01-26: 2 commits2026-01-27: 0 commits2026-01-28: 0 commits2026-01-29: 0 commits2026-01-30: 6 commits2026-01-31: 8 commits2026-02-01: 17 commits2026-02-02: 1 commit2026-02-03: 0 commits2026-02-04: 2 commits2026-02-05: 0 commits2026-02-06: 3 commits2026-02-07: 1 commit2026-02-08: 1 commit2026-02-09: 1 commit2026-02-10: 0 commits2026-02-11: 0 commits2026-02-12: 2 commits2026-02-13: 11 commits2026-02-14: 36 commits2026-02-15: 17 commits2026-02-16: 15 commits2026-02-17: 1 commit2026-02-18: 2 commits2026-02-19: 1 commit2026-02-20: 0 commits2026-02-21: 1 commit2026-02-22: 0 commits2026-02-23: 3 commits2026-02-24: 0 commits2026-02-25: 0 commits2026-02-26: 5 commits2026-02-27: 0 commits2026-02-28: 0 commits2026-03-01: 3 commits2026-03-02: 7 commits2026-03-03: 13 commits2026-03-04: 0 commits2026-03-05: 1 commit2026-03-06: 0 commits2026-03-07: 46 commits2026-03-08: 65 commits2026-03-09: 37 commits2026-03-10: 0 commits2026-03-11: 1 commit2026-03-12: 0 commits2026-03-13: 1 commit2026-03-14: 1 commit2026-03-15: 0 commits2026-03-16: 0 commits2026-03-17: 0 commits2026-03-18: 0 commits2026-03-19: 0 commits2026-03-20: 0 commits2026-03-21: 0 commits2026-03-22: 0 commits2026-03-23: 0 commits2026-03-24: 0 commits2026-03-25: 0 commits2026-03-26: 0 commits2026-03-27: 0 commits2026-03-28: 0 commits2026-03-29: 0 commits2026-03-30: 0 commits2026-03-31: 0 commits2026-04-01: 0 commits2026-04-02: 0 commits2026-04-03: 0 commits2026-04-04: 0 commits2026-04-05: 0 commits2026-04-06: 0 commits2026-04-07: 0 commits2026-04-08: 0 commits2026-04-09: 0 commits2026-04-10: 0 commits2026-04-11: 0 commits2026-04-12: 0 commits2026-04-13: 0 commits2026-04-14: 0 commits2026-04-15: 0 commits2026-04-16: 0 commits2026-04-17: 0 commits2026-04-18: 0 commits2026-04-19: 0 commits2026-04-20: 52 commits2026-04-21: 4 commits2026-04-22: 1 commit2026-04-23: 1 commit2026-04-24: 0 commits2026-04-25: 0 commits2026-04-26: 2 commits2026-04-27: 42 commits2026-04-28: 32 commits2026-04-29: 1 commit2026-04-30: 0 commits2026-05-01: 0 commits2026-05-02: 0 commits2026-05-03: 1 commit2026-05-04: 17 commits2026-05-05: 18 commits2026-05-06: 2 commits2026-05-07: 1 commit2026-05-08: 0 commits2026-05-09: 13 commits2026-05-10: 13 commits2026-05-11: 8 commits2026-05-12: 2 commits2026-05-13: 0 commits2026-05-14: 10 commits2026-05-15: 13 commits2026-05-16: 0 commits2026-05-17: 13 commits2026-05-18: 0 commits2026-05-19: 0 commits2026-05-20: 12 commits2026-05-21: 2 commits2026-05-22: 20 commits2026-05-23: 4 commits2026-05-24: 0 commits2026-05-25: 0 commits2026-05-26: 0 commits2026-05-27: 0 commits2026-05-28: 3 commits2026-05-29: 0 commits2026-05-30: 14 commits2026-05-31: 35 commits2026-06-01: 89 commits2026-06-02: 0 commits2026-06-03: 3 commits2026-06-04: 0 commits2026-06-05: 0 commits2026-06-06: 3 commits2026-06-07: 10 commits2026-06-08: 8 commits2026-06-09: 10 commits2026-06-10: 13 commits2026-06-11: 17 commits2026-06-12: 219 commits2026-06-13: 90 commits2026-06-14: 16 commits2026-06-15: 11 commits2026-06-16: 0 commits2026-06-17: 3 commits2026-06-18: 8 commits2026-06-19: 35 commits2026-06-20: 4 commits2026-06-21: 4 commits2026-06-22: 7 commits2026-06-23: 6 commits2026-06-24: 3 commits2026-06-25: 0 commits2026-06-26: 6 commits2026-06-27: 0 commits2026-06-28: 0 commits2026-06-29: 0 commits2026-06-30: 2 commits2026-07-01: 3 commits2026-07-02: 0 commits2026-07-03: 5 commits2026-07-04: 0 commits2026-07-05: 0 commits2026-07-06: 9 commits2026-07-07: 0 commits2026-07-08: 0 commits2026-07-09: 4 commits2026-07-10: 3 commits2026-07-11: 10 commits2026-07-12: 0 commits2026-07-13: 1 commit2026-07-14: 0 commits2026-07-15: 1 commit2026-07-16: 4 commits2026-07-17: 0 commits2026-07-18: 0 commits2026-07-19: 1 commit2026-07-20: 0 commits2026-07-21: 4 commits2026-07-22: 0 commits2026-07-23: 0 commits2026-07-24: 0 commits2026-07-25: 0 commits2026-07-26: 1 commit2026-07-27: 8 commits2026-07-28: 0 commits2026-07-29: 0 commits2026-07-30: 0 commits2026-07-31: 0 commits2026-08-01: 0 commits2026-08-02: 12 commits2026-08-03: 0 commits2026-08-04: 0 commits2026-08-05: 2 commits2026-08-06: 1 commit2026-08-07: 0 commits2026-08-08: 8 commits2026-08-09: 9 commits2026-08-10: 3 commits2026-08-11: 1 commit2026-08-12: 1 commit2026-08-13: 4 commits2026-08-14: 3 commits2026-08-15: 2 commits2026-08-16: 1 commit2026-08-17: 0 commits2026-08-18: 0 commits2026-08-19: 0 commits2026-08-20: 0 commits2026-08-21: 4 commits2026-08-22: 0 commits2026-08-23: 2 commits2026-08-24: 1 commit2026-08-25: 22 commits2026-08-26: 2 commits2026-08-27: 1 commit2026-08-28: 1 commit2026-08-29: 0 commits2026-08-30: 0 commits2026-08-31: 4 commits2026-09-01: 1 commit2026-09-02: 15 commits2026-09-03: 7 commits2026-09-04: 1 commit2026-09-05: 5 commits2026-09-06: 0 commits2026-09-07: 3 commits2026-09-08: 0 commits2026-09-09: 0 commits2026-09-10: 0 commits2026-09-11: 13 commits2026-09-12: 7 commits2026-09-13: 4 commits2026-09-14: 1 commit2026-09-15: 0 commits2026-09-16: 0 commits2026-09-17: 0 commits2026-09-18: 0 commits2026-09-19: 0 commits2026-09-20: 0 commits2026-09-21: 6 commits2026-09-22: 8 commits2026-09-23: 1 commit2026-09-24: 13 commits2026-09-25: 2 commits2026-09-26: 0 commits
1,896 commits in the last yearLessMore

Signals and awards

derived from tracked data
  • Very active

    1,896 commits in 52 weeks

  • Community-driven

    ~138 contributors

  • Permissive license

    MIT

  • Continuous integration

    Automated checks passing

  • Repeat trending

    3 trending appearances

What gogcli does

gog consolidates the sprawling Google Workspace APIs into a single CLI binary designed for both human operators and automated scripts. It provides task-first commands that abstract away the complexity of raw REST resources, enabling practical workflows like auditing Drive sharing, sending Gmail, resolving calendar names, editing Docs, and managing Workspace users. It enforces strict operational contracts to make automation reliable, offering stable JSON output for CI environments, comprehensive exit codes, and robust read-only flags to prevent accidental modifications. It essentially turns Google Workspace into a scriptable command-line toolkit.

DevOps engineers, IT admins, and developers needing a scriptable, predictable interface to manage and automate Google Workspace.

  • Unified Workspace access: Manages Gmail, Calendar, Drive, Docs, Admin, and over a dozen other Google services from a single binary.
  • Task-oriented abstraction: Replaces raw API calls with practical workflows like finding unread mail or auditing folder permissions.
  • Automation-ready output: Supports `--json` and `--plain` stdout for script parsing, while strictly routing warnings and prompts to stderr.
  • Safety guardrails: Includes `--readonly`, `--gmail-no-send`, and `--no-input` flags for secure, non-interactive CI execution.
  • Flexible authentication: Supports account aliases, OAuth clients, direct access tokens, OS keyrings, and Workspace service accounts.

Where teams use it

CI/CD reporting

Runs non-interactively in a CI pipeline to parse test results and append them directly to a Google Sheet.

Security auditing

Executes read-only queries to dump Drive folder sharing permissions to a JSON file for scheduled compliance reviews.

Agent tool integration

Provides autonomous coding agents with a predictable, CLI-based tool to safely interact with a user's calendar or email.

Workspace administration

IT admins use bulk commands to manage Workspace users, update group memberships, and back up account data via the terminal.

Getting started: gog --account you@gmail.com --readonly calendar events --today

README

main branch

gog 🧭 — Google Workspace from the terminal

gogcli banner

CI Release Go License Homebrew

gog is one command-line client for Gmail, Calendar, Drive, Docs, Sheets, and the wider Google Workspace surface. It is built for people, scripts, CI, and agents that need explicit account routing, machine-readable output, and safety controls.

gog --readonly gmail search 'is:unread newer_than:7d' --max 10 --json
gog --readonly calendar events --today --json
gog --readonly drive audit sharing --parent <folderId> --json

For least-privilege Gmail authorization, use gog auth add you@example.com --services gmail --gmail-scope send for sending only, or --gmail-scope read-send to also read messages without mailbox-modification or settings-management permissions.

Install

Homebrew is the shortest path on macOS and Linux:

brew install openclaw/tap/gogcli
gog --version

With Go:

go install github.com/openclaw/gogcli/cmd/gog@latest
gog --version

Install scripts using the former github.com/steipete/gogcli module path should switch to github.com/openclaw/gogcli as shown above.

Docker images, Windows archives, raw macOS/Linux binaries, and source builds are covered in the install guide.

Quick start

Create a Desktop OAuth client in a Google Cloud project, download its JSON file, and authorize only the services you need:

gog auth credentials set ~/Downloads/client_secret_*.json
gog auth add you@gmail.com --services gmail,calendar,drive
export GOG_ACCOUNT=you@gmail.com
gog auth doctor --check
gog gmail search 'newer_than:7d' --max 10

The five-minute quickstart covers API enablement, the OAuth consent screen, weekly-token-expiry avoidance, headless authorization, and account defaults.

Work with Google services

Commands follow the resource you are working with. These are the common entry points; the examples and generated command index cover the full surface.

Work Start with
Mail and calendars gog gmail search, gog calendar events
Files and sharing gog drive ls, gog drive audit sharing
Docs, Sheets, Slides, and Forms gog docs, gog sheets, gog slides, gog forms
Contacts and tasks gog contacts, gog tasks
Meetings and chat gog meet, gog chat, gog zoom
Analytics and publishing gog analytics, gog searchconsole, gog adsense, gog youtube
Workspace administration gog admin, gog groups, gog keep
Discovery API fallback gog api describe, gog api call

Generic API commands support service-hosted Discovery documents such as Meet v2 when the default central Directory returns 404. Explicit GOG_DISCOVERY_BASE_URL overrides retain their existing behavior.

Consumer Google accounts work with user-facing APIs. Admin Directory, Cloud Identity Groups, Chat, Keep, and domain-wide delegation require a managed Google Workspace domain. The Workspace Admin guide explains that setup.

Automate safely

--json emits structured output and --plain emits stable TSV. Prompts, progress, and warnings go to stderr. --no-input, --readonly, exact command allowlists, Gmail no-send policy, dry-run plans, and untrusted-content wrapping let the caller define a narrower execution boundary.

gog --account you@gmail.com \
  --enable-commands-exact gmail.search,gmail.get \
  --gmail-no-send --readonly --no-input --wrap-untrusted --json \
  gmail search 'newer_than:7d'

See Automation for output and exit-code contracts, and Safety Profiles for binaries with command policy and locked flag values baked in at build time.

Accounts and authentication

One installation can route among multiple Google accounts, named OAuth client projects, direct access tokens, Application Default Credentials, and Workspace service accounts. Tokens use the platform keyring by default; headless systems can use the encrypted file backend.

gog auth list --check
gog auth alias set work you@company.com
gog --account work gmail search 'is:unread'

See OAuth clients for client selection and service accounts, and Paths and State for GOG_HOME, XDG paths, and keyring storage.

Discover the contract

The running binary generates its command schema, reference pages, and agent skills from the same command tree:

gog schema --json
gog schema gmail search --json
gog help drive inventory

gog mcp exposes a typed stdio MCP server without a generic shell or command bridge. It is read-only by default; writes require explicit command and tool authorization. See the MCP guide.

Supported OAuth services

The generated table below records the user OAuth and Workspace service-account surface. gog auth services reports the same information from the installed binary.

Service User APIs Scopes Notes
gmail yes Gmail API https://www.googleapis.com/auth/gmail.modify
https://www.googleapis.com/auth/gmail.settings.basic
https://www.googleapis.com/auth/gmail.settings.sharing
calendar yes Calendar API https://www.googleapis.com/auth/calendar
chat yes Chat API https://www.googleapis.com/auth/chat.spaces
https://www.googleapis.com/auth/chat.messages
https://www.googleapis.com/auth/chat.memberships
https://www.googleapis.com/auth/chat.users.readstate.readonly
https://www.googleapis.com/auth/chat.messages.reactions.create
https://www.googleapis.com/auth/chat.messages.reactions.readonly
classroom yes Classroom API https://www.googleapis.com/auth/classroom.courses
https://www.googleapis.com/auth/classroom.rosters
https://www.googleapis.com/auth/classroom.coursework.students
https://www.googleapis.com/auth/classroom.coursework.me
https://www.googleapis.com/auth/classroom.courseworkmaterials
https://www.googleapis.com/auth/classroom.announcements
https://www.googleapis.com/auth/classroom.topics
https://www.googleapis.com/auth/classroom.guardianlinks.students
https://www.googleapis.com/auth/classroom.profile.emails
https://www.googleapis.com/auth/classroom.profile.photos
drive yes Drive API https://www.googleapis.com/auth/drive
driveactivity yes Drive Activity API https://www.googleapis.com/auth/drive.activity.readonly Read-only audit/activity scope; authorize with --services driveactivity
drivelabels yes Drive Labels API https://www.googleapis.com/auth/drive.labels.readonly Read-only Drive label schema; authorize with --services drivelabels
docs yes Docs API, Drive API https://www.googleapis.com/auth/drive
https://www.googleapis.com/auth/documents
Export/copy/create via Drive
slides yes Slides API, Drive API https://www.googleapis.com/auth/drive
https://www.googleapis.com/auth/presentations
Create/edit presentations
contacts yes People API https://www.googleapis.com/auth/contacts
https://www.googleapis.com/auth/contacts.other.readonly
https://www.googleapis.com/auth/directory.readonly
Contacts + other contacts + directory
tasks yes Tasks API https://www.googleapis.com/auth/tasks
sheets yes Sheets API, Drive API https://www.googleapis.com/auth/drive
https://www.googleapis.com/auth/spreadsheets
Export via Drive
people yes People API profile OIDC profile scope
forms yes Forms API https://www.googleapis.com/auth/forms.body
https://www.googleapis.com/auth/forms.responses.readonly
sites yes Drive API https://www.googleapis.com/auth/drive New Google Sites are exposed as Drive files
meet yes Meet REST API https://www.googleapis.com/auth/meetings.space.created
https://www.googleapis.com/auth/meetings.space.readonly
https://www.googleapis.com/auth/meetings.space.settings
appscript yes Apps Script API https://www.googleapis.com/auth/script.projects
https://www.googleapis.com/auth/script.deployments
https://www.googleapis.com/auth/script.processes
analytics yes Analytics Admin API, Analytics Data API https://www.googleapis.com/auth/analytics.readonly GA4 account summaries + reporting
searchconsole yes Search Console API https://www.googleapis.com/auth/webmasters Search Analytics + sitemap management + URL Inspection
adsense no AdSense Management API https://www.googleapis.com/auth/adsense.readonly Consumer OAuth; explicit opt-in with --services adsense; read-only
ads yes Google Ads API https://www.googleapis.com/auth/adwords OAuth scope only
groups no Cloud Identity API https://www.googleapis.com/auth/cloud-identity.groups.readonly Workspace only
keep no Keep API https://www.googleapis.com/auth/keep Workspace only; service account (domain-wide delegation)
admin no Admin SDK Directory API https://www.googleapis.com/auth/admin.directory.user
https://www.googleapis.com/auth/admin.directory.group
https://www.googleapis.com/auth/admin.directory.group.member
Workspace only; service account with domain-wide delegation required
youtube yes YouTube Data API v3 https://www.googleapis.com/auth/youtube.readonly Most read operations also work with API key only (config youtube_api_key or GOG_YOUTUBE_API_KEY)
photos yes Photos Library API https://www.googleapis.com/auth/photoslibrary.readonly.appcreateddata Read-only app-created media only after Google Photos Library API scope changes
photospicker no Photos Picker API https://www.googleapis.com/auth/photospicker.mediaitems.readonly Consumer OAuth; explicit opt-in with --services photospicker; selected media only

Documentation

gog is open source and is not affiliated with Google.

Credits

Inspired by Mario Zechner's gmcli, gccli, and gdcli.

Development

The project requires the Go version declared in go.mod.

make build
make test
make ci

See live testing for opt-in Google API smoke tests and releasing for the maintainer workflow.

License

MIT

View on GitHub

Recent activity

commits and pull requests

Recent open issues

view all

Releases and announcements

58 total
  1. v0.42.0v0.42.0Sep 25, 20262K downloads

    ## 0.42.0 - 2026-09-25 **Highlights:** Batch editing across Sheets, Docs, Slides, and Forms; native Contacts batch commands; typed Gmail MCP tools; `auth_required` exit code, allowlist rejection, and correct `batch end --continue-on-error` exit status. - Sheets: queue structural edits across commands with `--batch`, reuse one captured metadata snapshot, and submit an atomic update with explicit endpoint permission and guarded non-atomic recovery. (#1099) — thanks @sebsnyk. - Sheets: submit atomic structural request arrays with `sheets batch-request`, preserving explicit JSON values, previewing exact requests, and requiring explicit grants in restricted command policies. (#1108) — thanks @gurgeous. - Slides: queue native slides, elements, text, and table edits across commands with `--batch`, then submit one revision-locked atomic update while preserving generated IDs and explicit service permissions. (#1097) — thanks @sebsnyk. - Forms: queue questions, moves, deletions, and settings with `--batch`, project append positions under the queue lock, and submit one revision-locked atomic update with explicit service permissions. (#1100) — thanks @sebsnyk. - Contacts: add native batch ge

  2. v0.41.0v0.41.0Sep 22, 20265.9K downloads

    ## 0.41.0 - 2026-09-22 **Highlights:** Raw RFC822 drafts, Search Console URL inspection, automatic Slides image sizing, and fixes for lost Gmail results, cancellation, and Sheets crashes. - Dependencies: retain patched gRPC 1.83.2 with Google API 0.298 to avoid GHSA-2v4p-qf9q-27wj; gog does not use the affected xDS server. (#1150) - Gmail: stage and replace raw RFC822 drafts, retrieve their MIME, and preview safely offline; bound raw draft/send input to 35 MiB while preserving no-send policies. (#1126) — thanks @darkamenosa. - Search Console: add `searchconsole inspect` for per-URL index status via the URL Inspection API (coverage state, indexing/page-fetch/robots.txt state, canonical, sitemaps, last crawl time), using the existing `webmasters` OAuth scope. (#1094) — thanks @laihenyi. - Slides: derive either missing image dimension from local files or anonymously readable public HTTPS images, preserving explicit size pairs and documenting the public-fetch requirement. (#1112) — thanks @sebsnyk. - Sheets: return an error instead of crashing when append responses omit update metadata, without retrying the potentially completed write. (#1142) — thanks @SebTardif. - Calendar: show fa

  3. v0.40.0v0.40.0Sep 11, 202617.6K downloads

    ## 0.40.0 - 2026-09-11 **Highlights:** Preserve Slides styling, format paragraphs, and reuse cached Discovery documents; duplicate or inspect individual spreadsheet tabs and sort Drive files. - Slides: preserve leading text styling during `insert-text --replace`, including template inheritance, with revision protection and correct empty-target and UTF-16 handling. (#1111, #1122) — thanks @sebsnyk. - Slides: add `paragraph-style` for shape and table-cell alignment, spacing, indentation, and direction, with explicit field masks and zero-value support. (#1098, #1123) — thanks @sebsnyk. - API: cache Discovery documents for 24 hours with bounded disk usage, isolated endpoint/version keys, and explicit `--no-cache` bypass; keep API responses and authorization checks uncached. (#1106, #1121) — thanks @gurgeous. - Sheets: duplicate a tab within its spreadsheet, with an explicit destination name and optional insertion index. (#1102, #1116) — thanks @gurgeous. - Sheets: filter raw API reads by exact tab title with `--sheet`, including A1-like names and apostrophes, while retaining spreadsheet metadata and the grid-data opt-in. (#1104, #1115) — thanks @gurgeous. - Drive: add opt-in `ls --so

  4. v0.39.1v0.39.1Sep 5, 202612K downloads

    ## 0.39.1 - 2026-09-05 ### Highlights - Backups: stop repeated page tokens across Drive, Calendar, Contacts, Tasks, Groups, Admin, Keep, Workspace, and Apps Script without adding new page limits; retain earlier ACL and membership rows on ordinary API failures. (#1078, #1079, #1080, #1081, #1082, #1087) — thanks @SebTardif. - Calendar: stop cyclic recurring-instance lookups while preserving success as soon as the requested occurrence is found. (#1084, #1087) — thanks @SebTardif. - Gmail: stop cyclic query scans before bulk message changes or automatic replies, including empty result pages. (#1086, #1087) — thanks @SebTardif. - Drive and Contacts: stop tree, inventory, disk-usage, and contact-dedupe scans on repeated page tokens before emitting a partial report or applying contact changes. (#1083, #1085, #1087) — thanks @SebTardif. - Docs: stop open-comment scans when Drive repeats a page token, preserving first-open-page results. (#1087) — thanks @SebTardif. - Dependencies: refresh Google API support modules, tracking worker tooling and Undici, pnpm, and the Pages deployment action while retaining Go 1.26 compatibility. - MCP: update the protocol SDK to 1.0 while preserving existi

  5. v0.39.0v0.39.0Sep 3, 20264.6K downloads

    ## 0.39.0 - 2026-09-03 ### Highlights - AdSense: add explicitly opted-in read-only account, inventory, and report commands, including saved reports and validated reporting timezones. (#1047) — thanks @ptz0n. - Chat: search messages across Workspace spaces with paging, formatted text, optional read-state metadata, and read-only/untrusted-output support; unavailable read state stays unknown. (#1069, #1068) — thanks @wrgrant. - Auth: explicitly select a Google Cloud quota project with `--quota-project` or `GOG_QUOTA_PROJECT`, preserving default auth behavior and forwarding the setting through Gmail watch and MCP requests. (#1056, #1055) — thanks @prateek. - Gmail: expose flattened `reply_to` in message JSON and default metadata reads, including sanitized messages and threads, with untrusted-content wrapping support. (#1057) — thanks @hashtag1974. - Docs: accept the A3 page-size preset in `docs page-layout` and `docs write`, preserving the current page mode unless explicitly changed. (#1050) — thanks @ryo-touch. ### Fixes and maintenance - Chat: wrap `formattedText` in existing raw Chat and Discovery API JSON responses when `--wrap-untrusted` is enabled, preserving ordinary JSON ou

Code frequency

additions and deletions
+108.7K-108.7KWeek of 2025-12-07: +10,271 linesWeek of 2025-12-07: -263 linesWeek of 2025-12-14: +3,148 linesWeek of 2025-12-14: -73 linesWeek of 2025-12-21: +22,749 linesWeek of 2025-12-21: -4,666 linesWeek of 2025-12-28: +18,783 linesWeek of 2025-12-28: -10,099 linesWeek of 2026-01-04: +31,458 linesWeek of 2026-01-04: -4,295 linesWeek of 2026-01-11: +18,153 linesWeek of 2026-01-11: -1,976 linesWeek of 2026-01-18: +3,382 linesWeek of 2026-01-18: -560 linesWeek of 2026-01-25: +1,055 linesWeek of 2026-01-25: -381 linesWeek of 2026-02-01: +1,155 linesWeek of 2026-02-01: -205 linesWeek of 2026-02-08: +24,244 linesWeek of 2026-02-08: -3,516 linesWeek of 2026-02-15: +9,334 linesWeek of 2026-02-15: -1,325 linesWeek of 2026-02-22: +22,327 linesWeek of 2026-02-22: -403 linesWeek of 2026-03-01: +10,361 linesWeek of 2026-03-01: -1,559 linesWeek of 2026-03-08: +20,767 linesWeek of 2026-03-08: -10,498 linesWeek of 2026-03-15: +0 linesWeek of 2026-03-15: -0 linesWeek of 2026-03-22: +0 linesWeek of 2026-03-22: -0 linesWeek of 2026-03-29: +0 linesWeek of 2026-03-29: -0 linesWeek of 2026-04-05: +0 linesWeek of 2026-04-05: -0 linesWeek of 2026-04-12: +0 linesWeek of 2026-04-12: -0 linesWeek of 2026-04-19: +9,395 linesWeek of 2026-04-19: -1,792 linesWeek of 2026-04-26: +20,949 linesWeek of 2026-04-26: -3,043 linesWeek of 2026-05-03: +41,493 linesWeek of 2026-05-03: -6,458 linesWeek of 2026-05-10: +20,777 linesWeek of 2026-05-10: -3,783 linesWeek of 2026-05-17: +15,792 linesWeek of 2026-05-17: -853 linesWeek of 2026-05-24: +5,087 linesWeek of 2026-05-24: -712 linesWeek of 2026-05-31: +10,980 linesWeek of 2026-05-31: -1,560 linesWeek of 2026-06-07: +108,674 linesWeek of 2026-06-07: -56,031 linesWeek of 2026-06-14: +20,912 linesWeek of 2026-06-14: -8,816 linesWeek of 2026-06-21: +10,543 linesWeek of 2026-06-21: -382 linesWeek of 2026-06-28: +2,209 linesWeek of 2026-06-28: -78 linesWeek of 2026-07-05: +11,162 linesWeek of 2026-07-05: -1,861 linesWeek of 2026-07-12: +2,647 linesWeek of 2026-07-12: -86 linesWeek of 2026-07-19: +270 linesWeek of 2026-07-19: -16 linesWeek of 2026-07-26: +2,065 linesWeek of 2026-07-26: -508 linesWeek of 2026-08-02: +5,383 linesWeek of 2026-08-02: -5,002 linesWeek of 2026-08-09: +10,128 linesWeek of 2026-08-09: -827 linesWeek of 2026-08-16: +83 linesWeek of 2026-08-16: -11 linesWeek of 2026-08-23: +7,497 linesWeek of 2026-08-23: -856 linesWeek of 2026-08-30: +11,354 linesWeek of 2026-08-30: -1,044 linesWeek of 2026-09-06: +5,475 linesWeek of 2026-09-06: -4,172 linesWeek of 2026-09-13: +1,393 linesWeek of 2026-09-13: -154 linesWeek of 2026-09-20: +10,554 linesWeek of 2026-09-20: -1,406 linesWeek of 2026-09-27: +0 linesWeek of 2026-09-27: -0 linesDec 7, 2025Sep 27, 2026
+532K lines added, -139.3K removed over the last year.

Commits per week

last 52 weeks
3670Week of 2025-09-27: 0 commitsWeek of 2025-10-04: 0 commitsWeek of 2025-10-11: 0 commitsWeek of 2025-10-18: 0 commitsWeek of 2025-10-25: 0 commitsWeek of 2025-11-01: 0 commitsWeek of 2025-11-09: 0 commitsWeek of 2025-11-16: 0 commitsWeek of 2025-11-23: 0 commitsWeek of 2025-11-30: 0 commitsWeek of 2025-12-07: 40 commitsWeek of 2025-12-14: 19 commitsWeek of 2025-12-21: 72 commitsWeek of 2025-12-28: 77 commitsWeek of 2026-01-04: 121 commitsWeek of 2026-01-11: 91 commitsWeek of 2026-01-18: 37 commitsWeek of 2026-01-25: 16 commitsWeek of 2026-02-01: 24 commitsWeek of 2026-02-08: 51 commitsWeek of 2026-02-15: 37 commitsWeek of 2026-02-22: 8 commitsWeek of 2026-03-01: 70 commitsWeek of 2026-03-08: 105 commitsWeek of 2026-03-15: 0 commitsWeek of 2026-03-22: 0 commitsWeek of 2026-03-29: 0 commitsWeek of 2026-04-05: 0 commitsWeek of 2026-04-12: 0 commitsWeek of 2026-04-19: 58 commitsWeek of 2026-04-26: 77 commitsWeek of 2026-05-03: 52 commitsWeek of 2026-05-10: 46 commitsWeek of 2026-05-17: 51 commitsWeek of 2026-05-24: 17 commitsWeek of 2026-05-31: 130 commitsWeek of 2026-06-07: 367 commitsWeek of 2026-06-14: 77 commitsWeek of 2026-06-21: 26 commitsWeek of 2026-06-28: 10 commitsWeek of 2026-07-05: 26 commitsWeek of 2026-07-12: 6 commitsWeek of 2026-07-19: 5 commitsWeek of 2026-07-26: 9 commitsWeek of 2026-08-02: 23 commitsWeek of 2026-08-09: 23 commitsWeek of 2026-08-16: 5 commitsWeek of 2026-08-23: 29 commitsWeek of 2026-08-30: 33 commitsWeek of 2026-09-06: 23 commitsWeek of 2026-09-13: 5 commitsWeek of 2026-09-20: 30 commitsSep 27, 2025Sep 20, 2026
1.9K commits in the last 52 weeks.

When work happens

weekday and hour
SunMonTueWedThuFriSat036912151821Sun 0:00 — 15 commitsSun 1:00 — 16 commitsSun 2:00 — 13 commitsSun 3:00 — 15 commitsSun 4:00 — 16 commitsSun 5:00 — 18 commitsSun 6:00 — 9 commitsSun 7:00 — 5 commitsSun 8:00 — 3 commitsSun 9:00 — 7 commitsSun 10:00 — 4 commitsSun 11:00 — 14 commitsSun 12:00 — 4 commitsSun 13:00 — 4 commitsSun 14:00 — 4 commitsSun 15:00 — 2 commitsSun 16:00 — 12 commitsSun 17:00 — 9 commitsSun 18:00 — 18 commitsSun 19:00 — 15 commitsSun 20:00 — 10 commitsSun 21:00 — 12 commitsSun 22:00 — 11 commitsSun 23:00 — 18 commitsMon 0:00 — 17 commitsMon 1:00 — 15 commitsMon 2:00 — 20 commitsMon 3:00 — 37 commitsMon 4:00 — 15 commitsMon 5:00 — 25 commitsMon 6:00 — 24 commitsMon 7:00 — 15 commitsMon 8:00 — 15 commitsMon 9:00 — 12 commitsMon 10:00 — 16 commitsMon 11:00 — 19 commitsMon 12:00 — 12 commitsMon 13:00 — 24 commitsMon 14:00 — 19 commitsMon 15:00 — 7 commitsMon 16:00 — 8 commitsMon 17:00 — 5 commitsMon 18:00 — 4 commitsMon 19:00 — 14 commitsMon 20:00 — 10 commitsMon 21:00 — 10 commitsMon 22:00 — 13 commitsMon 23:00 — 10 commitsTue 0:00 — 8 commitsTue 1:00 — 6 commitsTue 2:00 — 9 commitsTue 3:00 — 6 commitsTue 4:00 — 9 commitsTue 5:00 — 7 commitsTue 6:00 — 8 commitsTue 7:00 — 7 commitsTue 8:00 — 17 commitsTue 9:00 — 6 commitsTue 10:00 — 9 commitsTue 11:00 — 3 commitsTue 12:00 — 1 commitsTue 13:00 — 1 commitsTue 14:00 — 1 commitsTue 15:00 — 8 commitsTue 16:00 — 8 commitsTue 17:00 — 8 commitsTue 18:00 — 5 commitsTue 19:00 — 0 commitsTue 20:00 — 2 commitsTue 21:00 — 8 commitsTue 22:00 — 5 commitsTue 23:00 — 4 commitsWed 0:00 — 5 commitsWed 1:00 — 2 commitsWed 2:00 — 2 commitsWed 3:00 — 3 commitsWed 4:00 — 3 commitsWed 5:00 — 2 commitsWed 6:00 — 5 commitsWed 7:00 — 3 commitsWed 8:00 — 7 commitsWed 9:00 — 8 commitsWed 10:00 — 4 commitsWed 11:00 — 0 commitsWed 12:00 — 2 commitsWed 13:00 — 9 commitsWed 14:00 — 1 commitsWed 15:00 — 4 commitsWed 16:00 — 5 commitsWed 17:00 — 20 commitsWed 18:00 — 12 commitsWed 19:00 — 12 commitsWed 20:00 — 12 commitsWed 21:00 — 13 commitsWed 22:00 — 9 commitsWed 23:00 — 5 commitsThu 0:00 — 7 commitsThu 1:00 — 6 commitsThu 2:00 — 2 commitsThu 3:00 — 7 commitsThu 4:00 — 5 commitsThu 5:00 — 8 commitsThu 6:00 — 4 commitsThu 7:00 — 6 commitsThu 8:00 — 7 commitsThu 9:00 — 10 commitsThu 10:00 — 6 commitsThu 11:00 — 9 commitsThu 12:00 — 15 commitsThu 13:00 — 7 commitsThu 14:00 — 5 commitsThu 15:00 — 4 commitsThu 16:00 — 3 commitsThu 17:00 — 5 commitsThu 18:00 — 4 commitsThu 19:00 — 7 commitsThu 20:00 — 8 commitsThu 21:00 — 5 commitsThu 22:00 — 0 commitsThu 23:00 — 4 commitsFri 0:00 — 10 commitsFri 1:00 — 15 commitsFri 2:00 — 8 commitsFri 3:00 — 13 commitsFri 4:00 — 26 commitsFri 5:00 — 12 commitsFri 6:00 — 22 commitsFri 7:00 — 22 commitsFri 8:00 — 21 commitsFri 9:00 — 23 commitsFri 10:00 — 38 commitsFri 11:00 — 20 commitsFri 12:00 — 21 commitsFri 13:00 — 36 commitsFri 14:00 — 30 commitsFri 15:00 — 43 commitsFri 16:00 — 31 commitsFri 17:00 — 28 commitsFri 18:00 — 24 commitsFri 19:00 — 24 commitsFri 20:00 — 22 commitsFri 21:00 — 15 commitsFri 22:00 — 11 commitsFri 23:00 — 6 commitsSat 0:00 — 10 commitsSat 1:00 — 10 commitsSat 2:00 — 14 commitsSat 3:00 — 12 commitsSat 4:00 — 9 commitsSat 5:00 — 10 commitsSat 6:00 — 15 commitsSat 7:00 — 9 commitsSat 8:00 — 10 commitsSat 9:00 — 11 commitsSat 10:00 — 10 commitsSat 11:00 — 11 commitsSat 12:00 — 9 commitsSat 13:00 — 18 commitsSat 14:00 — 14 commitsSat 15:00 — 19 commitsSat 16:00 — 20 commitsSat 17:00 — 13 commitsSat 18:00 — 11 commitsSat 19:00 — 16 commitsSat 20:00 — 19 commitsSat 21:00 — 13 commitsSat 22:00 — 18 commitsSat 23:00 — 20 commits
Commit volume by weekday and hour (UTC). Larger dots mean more commits.
DateListRankStars gained
Feb 16, 2026daily#16+167
Feb 15, 2026daily#17+215
Feb 14, 2026daily#6+258
  • avelino/awesome-go

    A curated list of awesome Go frameworks, libraries and software

    186.9K stars · Go

  • kubernetes/kubernetes

    Production-Grade Container Scheduling and Management

    128.3K stars · Go

  • microsoft/TypeScript

    TypeScript is a superset of JavaScript that compiles to clean JavaScript output.

    111.3K stars · Go

  • JuliusBrussee/caveman

    🪨 why use many token when few token do trick. Viral skill + proxy for coding agents that cuts 65% of tokens by talking like a caveman.

    109.8K stars · Go

  • infiniflow/ragflow

    RAGFlow is a leading open-source Retrieval-Augmented Generation (RAG) engine that fuses cutting-edge RAG with Agent capabilities to create a superior context layer for LLMs

    91.7K stars · Go

  • caddyserver/caddy

    Fast and extensible multi-platform HTTP/1-2-3 web server with automatic HTTPS

    76.5K stars · Go