Discussion
Search code, repositories, users, issues, pull requests...
sega_sai: Interesting, but scary, given that this is not a google product. Who knows whether that breaks any TOS somehow.
jryio: This appears to be published by Google itself
joeconway: > Disclaimer> This is not an officially supported Google product.
Lermatroid: It’s published by Google, they just don’t provide active “support” for it.
tedk-42: Haha in the world of AI/MCPs, all of a sudden we have a push for companies to properly build out APIs/CLI tools.
blondin: This is a very interesting way of building agent skills. Seems like the imperative way of orchestration/automation is making a comeback.
sbinnee: I can already see all the CTOs are getting excited to plug this in their OpenClaw instances.
sanex: Depends how it compares to gog.
dotancohen: Can you show that the major contributors are employed by Google? I'm not arguing, I'm genuinely asking. Thank you.
cvhc: You can check their GitHub profile. If they are in https://github.com/googlers, then they are internally verified.
garciasn: https://github.com/jpoehneltjpoehnelt/README.mdAboutI am a Developer Relations Engineer at Google. Currently I am on the Google Workspace DevRel team and was on the Google Maps Platform before that. Previously I worked at Descartes Labs and the US Geological Survey.Check out my website at https://justin.poehnelt.com.
skybrian: Having the available commands change on you dynamically seems like an anti-pattern, but I suppose an AI can deal with it.
avaer: Is this basically a CLI version of [1]? If so, I'm glad Google is being forward thinking about how developers actually want to use their apps.Better this than a Google dashboard, or slopped together third party libs. I know Google says they don't support it, but they'll probably support it better than someone outside of Google can support it.[1] https://workspaceupdates.googleblog.com/2025/12/workspace-st...
evanjrowley: Hoping Apple will do the same with iCloud.
paxys: Lol
wepple: Don’t hold your breath
betaby: I'm curious why `npm` is used to install a `rust` binary?
loveparade: Great, i hope this becomes a trend now that agent skills want clis
BarryMilo: Took them this long to realize MCPs are just worse APIs.
sh3rl0ck: One of the very few good things from the AI race has been everyone finally publishing more data APIs out in the open, and making their tools usable via CLIs (or extensible APIs).
hsaliak: GCP Next is Apr 22-24. Hope this continues to live afer that.
brunoborges: NPM as a cross platform package distribution system works really well.The install script checks the OS and Arch, and pulls the right Rust binary.Then, they get upgrade mechanism out of the box too, and an uninstall mechanism.NPM has become the de facto standard for installing any software these days, because it is present on every OS.
iosjunkie: Basically Google’s take on GAM https://github.com/GAM-team/GAM
hrimfaxi: It's about time. Reminds me of how even Apple uses Jamf.
tonymet: Knowing Google it’s a 1.3gb install
varenc: I found that strange as well. My guess is that `npm` is just the package manager people are most likely to already have already installed and doing it this way makes it easy. They might think asking people to install Cargo is too much effort. Wonder if the pattern of using npm to install non-node tools will keep gaining traction.
dack: yeah there's way more demand, and at the same time, it's way easier for the company to build and maintain (with the help of AI). Great to see!
mace01: Seems weird to require another tool (gcloud) to set it up, but it does look to be tightly integrated with google cloud.
internet2000: Claude couldn't figure out how to use it to write to a Google Sheet (something to do with escaping the !?) and fell back to calling the sheets API directly with gcloud auth.
danpalmer: To my knowledge NPM isn't shipped in _any_ major OSes. It's available to install on all, just like most package managers, but I'm not sure it's in the default distributions of macOS, Windows, or the major Linux distros?
anilgulecha: No package manager is. But of the ones that are installed by users, npm is probably the most popular.
spullara: I have always said that if we had done for developers what we are doing for agents the whole world would have been a much better place.
pdyc: wow this will gel very well with my current project. Main hurdle i was facing was connecting with individual services via google oauth to get the data.
benatkin: They aren't doing that though. At least not yet. It's generated from the discovery tool, which amounts to the spec of the existing API. If they want a high powered CLI they need to dig into the servers behind Google Workspace like they have when they've improved the web apps.
freakynit: Why not just downloadable binary then?
spinagon: What about pip? It's either installed or immediately available on many OSes
mmaunder: Google really know how to screw up a product experience.npm install -g @googleworkspace/cligws auth setup{ "error": { "code": 400, "message": "gcloud CLI not found. Install it from https://cloud.google.com/sdk/docs/install", "reason": "validationError" } }Which takes you to...https://docs.cloud.google.com/sdk/docs/install-sdkWhere you have to download a tarball, extract it and run a shell script.I mean how hard is it to just imitate everyone else out there and make it a straight up npm install?
mountainriver: Yeah except you need to install NPM, whereas with a rust binary, which can easily compile cross platform, you don’t.Honestly I’m shocked to see so many people supporting this
webXL: gog too, which my openclaw agent always stubbornly wants to use instead of delegating to a subagent + custom calendar/imap proxy server I built.https://github.com/steipete/gogcli
ryandrake: Perhaps we will finally emerge from this decades-long dark age of bloated, do-everything GUI development tools being the fashionable happy path.
cobbal: They're not doing so here, but shipping a wasm-compiled binary with npm that uses node's WASI API is a really easy way to ship a cross-platform CLI utility. Just needs ~20 lines of JS wrapping it to set up the args and file system.
mountainriver: Doesn’t this seem excessive over just using rust’s cross platform builds?
sciencesama: Would be useful if it can atleast show google drive storage in folder structure
varenc: For many, installing something with npm is still easier. It chooses the right binary for your OS/architecture and puts it on your PATH. And then it also streamlines upgrades.In their GitHub releases they do provide the binaries for each build type if that's what you want.
OpenWaygate: very similar to gogcli(https://github.com/steipete/gogcli), but in RUST
tclancy: Interesting post from the main contributor about this (at least I assume it’s what he’s referencing) https://justin.poehnelt.com/posts/rewrite-your-cli-for-ai-ag...
winwang: Really interesting. I was thinking about something similar regarding the shape of code. I have no qualms recommending my agents take static analysis to the extreme, though it would cumbersome for most people.
mmaunder: Forget the Gemini extension - Gemini CLI sucks. Forget the MCP - MCP is beyond dead. But for codex or claude cli this is a game changer. Next question is how programmatic have they made the sheets interface... because Gemini sucks at sheets.
oefrha: > The install script checks the OS and Arch, and pulls the right Rust binary.That's the arbitrary code execution at install time aspect of npm that developers should be extra wary of in this day and age. Saner node package managers like pnpm ignore the build script and you have to explicitly approve it on a case-by-case basis.That said, you can execute code with build.rs with cargo too. Cargo is just not a build artifact distribution mechanism.
piperswe: `pip install` either doesn’t work out of the box or has the chance to clobber system files though
yakkomajuri: For all people have to say about Pete the openclaw guy he's been perhaps one of the most vocal voices about CLIs > MCPs (or maybe his is just the loudest?) and he also built a GSuite CLI that probably inspired this.I mean it's great that we get this, hopefully it can continue to be maintained and I'd love to see a push for more stuff like this for other products and at other companies.
shubhamintech: The MCP/AI angle here is real - there's been more API documentation written in the last 12 months than in the prior 5 years combined. What started as "make it work with AI agents" is quietly forcing companies to build things that humans can actually use programmatically too. Kind of a nice side effect of the agentic push.
epicprogrammer: I've built a few internal tools using the Workspace APIs, and while they are powerful, the rate limits on the Drive API can be brutal if you are doing bulk operations. Does this repository handle automatic backoff and retries, or do we need to wrap it ourselves?
jamesmishra: Why should the package's original language matter?When I use apt-get, I have no idea what languages the packages were written in.
forrestthewoods: About 90% of “make codebase better for LLMs” is just good old fashioned better engineering that is also good for humans.
cyrusradfar: Correct me if I'm wrong but the UX difficulty with the Google API ecosystem isn't resolved. It's the goddamn permissioning and service accounts. Great to have a CLI that every other minute says, "you can't do this" -- the CLI really needed to solve this to check my boxes.
lewisjoe: How to expose my product suite's API to AI has been a roller coster ride. First it was tool calling hooks, then MCP, then later folks found out AI is better at coding so MCPs suddenly became code-mode, then people realized skills are better at context and eventually now Google has launched cli approach.Remember this repo is not an agent. It's just a cli tool to operate over gsuite documents that happens to have an MCP command and a bunch of skills prebundled.That's a new one. I guess the hope is agents are good at navigating cli and it also democratizes the ecosystem to be used by any agent as opposed to Microsoft (which only allows Copilot to work in its ecosystem)
wonderfuly: Why cli instead of just HTTP API doc? The agent can use curl or write code to send requests.
boberoni: A CLI runs on the client, so they can embed client-side functionality like telemetry or caching.
hedora: CLI is probably more reliable. Also, the ergonomics for the person setting up the machine for the AI are better. They can check to see if the command is working without screwing with curl. It's also possible a human might want to use the software / service they're paying for.
tomComb: This - gog - yes. But I think it is different than GAM which is an admin tool. reply
ceroxylon: The readme is AI generated, so I am assuming the lack of effort and hand-off to the bots extends to the rest of this repository.The contributors are a Google DRE, 5 bots / automating services, and a dev in Canada.
tfsh: https://github.com/googleworkspace -> in the about links is also verified as part of the Alphabet enterprise - https://github.com/enterprises/alphabet
tomComb: I think it is unrelated.
Lord_Zero: Can you link to a sample of how I can do this?
wonderfuly: Why is it more reliable? The human usage point is fair, but I doubt how long it is still necesary.
nikanj: This is about eight years old. The python situation has mostly gotten worse since https://xkcd.com/1987/
nikanj: Well, mostly because you can now task an LLM with writing the docs.
fragmede: Which is why curl | bash is so popular. But when you're doing that, in this day and age, you might as well install a compiled native app that Claude generated.
voidhorse: Totally. I was just remarking today how funny it is that it was apparently ok for humans to suffer from a dearth if documentation for years, but suddenly, once the machines need it, everyone is frantic to make their tools as usable and well-documented as possible