11 ms·
Google Workspace CLI
- sega_sai 7mo agoInteresting, but scary, given that this is not a google product. Who knows whether that breaks any TOS somehow.
- jryio 7mo agoThis appears to be published by Google itself
- deleted 7mo ago[deleted]
- joeconway 7mo ago> Disclaimer > This is not an officially supported Google product.
- Lermatroid 7mo agoIt’s published by Google, they just don’t provide active “support” for it.
- dotancohen 7mo agoCan you show that the major contributors are employed by Google? I'm not arguing, I'm genuinely asking. Thank you.
- garciasn 7mo agohttps://github.com/jpoehnelt https://github.com/jpoehnelt jpoehnelt/README.md About I 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 https://justin.poehnelt.com.
- dotancohen 7mo agoThank you!
- cvhc 7mo agoYou can check their GitHub profile. If they are in https://github.com/googlers https://github.com/googlers, then they are internally verified.
- tfsh 7mo agohttps://github.com/googleworkspace https://github.com/googleworkspace -> in the about links is also verified as part of the Alphabet enterprise - https://github.com/enterprises/alphabet https://github.com/enterprises/alphabet
- deleted 7mo ago[deleted]
- spankalee 7mo agoThis is made by Google Devrel. It's not going to break the TOS, but it could be abandoned. That happens frequently with devrel projects, since they're not actually tasked with or graded on engineering projects.
- hrmtst93837 7mo ago[flagged]
- hsaliak 7mo agoGCP Next is Apr 22-24. Hope this continues to live afer that.
- tedk-42 7mo agoHaha in the world of AI/MCPs, all of a sudden we have a push for companies to properly build out APIs/CLI tools.
- vishnugupta 7mo agoBut on the other hand a (possibly dark) pattern is emerging where companies are asking you to upgrade to a higher plan to access MCP.
- sh3rl0ck 7mo agoOne 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).
- citizenpaul 7mo agoI feel like the CLI craze started around 2020. That predates this chat GPT. CharmCLI golang Nushell rust Warp. Shell Were all around 2020 also that is when alt shells started getting popular probably for same reasons they still are.
- BarryMilo 7mo agoTook them this long to realize MCPs are just worse APIs.
- dack 7mo agoyeah 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!
- benatkin 7mo agoThey 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.
- 7mo ago
- deleted 7mo ago[deleted]
- sbinnee 7mo agoI can already see all the CTOs are getting excited to plug this in their OpenClaw instances.
- sanex 7mo agoDepends how it compares to gog.
- electriclove 7mo agoWork fine as a gog replacement for my limited use cases of reading and writing Sheets.
- skybrian 7mo agoHaving the available commands change on you dynamically seems like an anti-pattern, but I suppose an AI can deal with it.
- umairnadeem123 7mo ago[dead]
- blondin 7mo agoThis is a very interesting way of building agent skills. Seems like the imperative way of orchestration/automation is making a comeback.
- evanjrowley 7mo agoHoping Apple will do the same with iCloud.
- avaer 7mo agoIs 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-studio.html https://workspaceupdates.googleblog.com/2025/12/workspace-st...
- tomComb 7mo agoI think it is unrelated.
- loveparade 7mo agoGreat, i hope this becomes a trend now that agent skills want clis
- betaby 7mo agoI'm curious why `npm` is used to install a `rust` binary?
- varenc 7mo agoI found that strange as well. My guess is that `npm` is just the package manager people are most likely to already have 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.
- freakynit 7mo agoWhy not just downloadable binary then?
- varenc 7mo agoFor many, installing something with npm is still easier. It chooses the right binary for your OS/architecture, puts it on your PATH, and streamlines upgrades. Their Github releases provides the binaries, as well as a `curl ... | sh` install method and a guide to use github releases attestation which I liked.
- freakynit 7mo agoHmm, that's right... thanks..
- krzyk 7mo agoI feel better with `curl ... | sh` than with npm. npm suggests projects written in js, which is not something I'm comfortable. It is nice to see that this is not JS, but Rust.
- varenc 7mo agoAgreed! The `curl ... | sh` is sketchy, but it's more obviously a security risk and easier to inspect. With install hooks, `npm install ...` also allows arbitrary code execution when you run it, but this is less obvious.
- iosjunkie 7mo agoBasically Google’s take on GAM https://github.com/GAM-team/GAM https://github.com/GAM-team/GAM
- hrimfaxi 7mo agoIt's about time. Reminds me of how even Apple uses Jamf.
- webXL 7mo agogog 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 https://github.com/steipete/gogcli
- tomComb 7mo agoThis - gog - yes. But I think it is different than GAM which is an admin tool. reply
- tomComb 7mo agoYikes, I wrote that? I hate it when people write cryptic replies like that. What I meant was 'yes', Google Workspace CLI appears to quite similar to 'gogcli', the CLI written for OpenClaw. Both provide CLI access to a broad range of Google services for both workspace and regular gmail accounts. GAM, on the other hand, is an admin tool, and strictly for Google Workspace accounts.
- conception 7mo agoExcept GAM is already heavily in training data and less likely to be called incorrectly.
- pimlottc 7mo agoThat’s the first thing I thought as well, although GAM is for admin tools only. I think this is for user APIs? But it’s not really clear…
- deleted 7mo ago
- tonymet 7mo ago[flagged]
- tclancy 7mo agoInteresting 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-agents/ https://justin.poehnelt.com/posts/rewrite-your-cli-for-ai-ag...
- blks 7mo agoNo, we won’t be in fact doing that. Machine parsable, readable for other tools - yes.
- winwang 7mo agoReally 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.
- albert_e 7mo agoLooks like I am hitting some Cloudflare Block when accessing this URL
- dang 7mo agoThanks! Looks like he submitted it here, judging by the username: You need to rewrite your CLI for AI agents - https://news.ycombinator.com/item?id=47252459 https://news.ycombinator.com/item?id=47252459. I think that's pretty cool so I put the post in the SCP (https://news.ycombinator.com/item?id=26998308 https://news.ycombinator.com/item?id=26998308).
- internet2000 7mo agoClaude Opus 4.6 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.
- flakiness 7mo agoYou should use Gemini obviously </s>
- gck1 7mo agoYeah, that one can't even figure out how to write a formula, or sometimes read data when it's sitting WITHIN context of sheets. I get better experience if I just copy-paste the sheet data into Gemini web. And IIRC copy-paste is just space "delimited" by default.
- nurettin 7mo agoCan you tell it to write to /tmp/s.py instead of trying to execute it inline?
- mace01 7mo agoSeems weird to require another tool (gcloud) to set it up, but it does look to be tightly integrated with google cloud.
- justinwp 7mo agoYou can skip that setup if you already have the OAuth credentials.
- pdyc 7mo agowow 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.
- mmaunder 7mo agoForget 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.
- OpenWaygate 7mo agovery similar to gogcli(https://github.com/steipete/gogcli https://github.com/steipete/gogcli), but in RUST
- sciencesama 7mo agoWould be useful if it can atleast show google drive storage in folder structure
- mmaunder 7mo agoGoogle really know how to screw up a product experience. npm install -g @googleworkspace/cli gws auth setup { "error": { "code": 400, "message": "gcloud CLI not found. Install it from https://cloud.google.com/sdk/docs/install https://cloud.google.com/sdk/docs/install", "reason": "validationError" } } Which takes you to... https://docs.cloud.google.com/sdk/docs/install-sdk https://docs.cloud.google.com/sdk/docs/install-sdk Where 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?
- ceroxylon 7mo agoThe 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.
- jitl 7mo agogcloud cli will probably also require you to make a Google Cloud project and stuff by clicking around their godforsaken webui. hopefully they streamlined that, it took me a long time to figure out when i wanted to write some JS in my spreadsheet
- justinwp 7mo agoYou don't need to use gcloud if you already have: 1. A GCP project (needed for OAuth) 2. Enabled APIs in said project
- epicprogrammer 7mo agoI'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?
- laalshaitaan 7mo ago[flagged]
- hoppp 7mo agoGoogle will slowly win at the AI game. They got everything going, lots of free usage and they are keeping it real, unlike openAI that rides a hype train
- jitl 7mo agoyeah just like they’ve slowly won at cloud over AWS and Azure. oh wait
- candiddevmike 7mo agoI mean, they are? GCP usage/revenue is growing faster than AWS and Azure. Mostly driven by Gemini pushing folks onto the platform and them deciding "why not move everything else too".
- manbash 7mo agoWait, I am curious how Gemini "pushes" devs to GCP.
- candiddevmike 7mo agoColocating data and discounts. Cross cloud transfers are painful, and Google has a ton of on-cloud easy button integrations with Gemini and their data products.
- SV_BubbleTime 7mo agoRemember that time they used their network effects to auto-enroll all Gmail users into their Facebook competitor and instantly won?
- eitally 7mo ago
- yakkomajuri 7mo agoFor 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 project. 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 similar stuff for other products and at other companies.
- wonderfuly 7mo agoWhy cli instead of just HTTP API doc? The agent can use curl or write code to send requests.
- hedora 7mo agoCLI 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.
- wonderfuly 7mo agoWhy is it more reliable? The human usage point is fair, but I doubt how long it is still necesary.
- theshrike79 7mo agoImagine the amount of boilerplate you need around a single HTTP API call, every time. The CLI has abstracted that into one single reusable, scriptable command
- boberoni 7mo agoA CLI runs on the client, so they can embed client-side functionality like telemetry or caching.
- jitl 7mo agoif nothing else the cli gives very easy access to the HTTP api docs via `gws schema` i’d rather not waste the context tokens re implementing their cli from scratch, if indeed it does a good job.
- mindwok 7mo agoThey already have a HTTP API, but the real reason is that CLIs are emerging as the most ergonomic way for the current wave of AI agents to do stuff. There's a few benefits over APIs: - No need to worry about transport layer stuff at all, including auth or headers. This is baked in, so saves context. - They are self describing with --help and then nested --help commands, way better than trying to decipher an OpenAPI spec. You usually don't even need an agent skill, just call the --help and the LLM figures it out.
- lewisjoe 7mo agoHow 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)
- cyrusradfar 7mo agoCorrect 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.
- tgma 7mo ago"This is not an officially supported Google product." Probably someone's hobby project or 20% time at best.
- DANmode 7mo agoBetter that way, for the time being.
- htrp 7mo agoat least it's actually a google product
- sunaookami 7mo agoDoes Google still have that 20% thingy?
- tgma 7mo agoNo idea. But IIRC that specific line was associated with your own side projects that you wanted to get permission to open source and you were willing to Apache 2.0 it as opposed to asking the company to retain the copyright. They asked you to slap Apache 2.0 and add that line to README.
- jitl 7mo ago> quick setup > requires setting up gcloud cli first, necessitates making a Google Cloud project cmon google how come even your attempts at good ux start out with bad ux? let me just oauth with my regular google account like every other cli tool out there. gh cli, claude, codex - all are a simple “click ok” in the browser to log in. wtf. and the slow setup - i need to make my own oauth app & keys?? EDIT: oh yeah and get my oath app verified all so i can use it with my own account
- outlore 7mo agoAre integration vendors like Pipedream in trouble now that every company is pushing out MCP servers and CLIs to ride the AI craze? After the Twitter and Reddit API troubles of prior years, I can't imagine any company would willingly bring down the walls of their gardens and give easy access to precious user data. I'm waiting for the rug pull
- virgildotcodes 7mo agoGod, getting this set up is frustrating. I've spent 45 minutes trying to get this to work, just following their defaults the whole way through. Multiple errors and issues along the way, now I'm on `gws auth login`, and trying to pick the oAuth scopes. I go ahead and trust their defaults and select `recommended`, only to get a warning that this is too many scopes and may error out (then why is this the recommended setting??), and then yeah, it errors out when trying to authenticate in the browser. The error tells me I need to verify my app, so I go to the app settings in my cloud console and try to verify and there's no streamlined way to do this. It seems the intended approach is for me to manually add, one by one, each of the 85 scopes that are on the "recommended" list, and then go through the actual verification. Have the people that built and released this actually tried to install and run this, just a single time, purely following their own happy path?
- jitl 7mo agoi had to do all that the last time i wanted to do a little js in my google sheets. when i saw their quick start required gcloud already set up, i decided not to bother trying this out. idk why google makes something that should take 15s (clicking “ok” in an oauth popup) take tens of minutes to hours of head scratching.
- m8s 7mo agoI’ve been really unhappy with pretty much every Google product I’ve used except their consumer productivity tools — Gmail, Calendar, and Meet. Diving into Google Cloud has been extremely unsatisfactory
- brightball 7mo agoI ran a project for a company on Google Cloud a few years ago and enjoyed it once I got used to everything. I’d use it more now if they had better low end pricing to start projects there. It’s a very different experience than AWS though and takes some getting used to.
- julianozen 7mo agoSame. I was using Gemini and firebase for a work project and I was stunned how hard it was for me to use
- mosajjal 7mo agoAI Agents are becoming first-class citizens for SaaS
- drewda 7mo agoWhile I prefer Google's productivity apps to the Microsoft world in this case Google is just catching up to the APIs and tooling that Microsoft has provided for a long time: https://learn.microsoft.com/en-us/powershell/microsoftgraph/overview?view=graph-powershell-1.0 https://learn.microsoft.com/en-us/powershell/microsoftgraph/...
- ralph84 7mo agoYet somehow Microsoft Copilot doesn't know how to use that tooling.
- pimlottc 7mo ago> gws doesn't ship a static list of commands. Clever, but frustrating that they don’t bother to provide any docs on the actual commands this supports.
- benkaiser 7mo agoWould be nice if the MCP implemented the Streamable HTTP MCP spec instead of the CLI one. I know this is already a HTTP API, but making it available as an MCP server that clients like Joey[1] can consume easily over network would be nice. [1] https://github.com/benkaiser/joey-mcp-client https://github.com/benkaiser/joey-mcp-client
- bpiroman 7mo agowritten in Rust lol
- _wizard 7mo agoNeat. I've been running something very similar to this locally for a few months now. They introduced all their documentation into markdown recently. I still rely on discover API and lenient cloud project permissions, so maybe some gains there. Will compare note later.
- arthurcolle 7mo agoMy agents will follow this repo with great interest
- shivam310 7mo agoI'm surprised that this didn't officially exist before.
- mogili1 7mo agoI was excited to see this but all of that went away when I realized you need to create an app in GCP to use it. Can't really expect non technical users to set this up across the company.
- justinwp 7mo agoYeah, still no way around this unfortunately.
- heinrichhartman 7mo agoCan someone explain to me, why Google can't (or does not want to) implement the same auth flow that any other SaaS company uses: # API Keys in Settings 1. Go to Settings -> API Keys Page 2. Create Token (set scope and expiration date) # OAuth flow 1. `gws login` shows url to visit 2. Login with Google profile & select data you want to share 3. Redirect to localhost page confirms authentication I get that I need to configure Project and OAuth screens if I want to develop an Applications for other users, that uses GCP services. This is fine. But I am trying to access my own data over a (/another) HTTP API. This should not be hard.
- AJRF 7mo agoCan you name a service you think works like that? Google have over a billion very non-technical users. The friction of not having this in the account page that everyone has access too probably saves both parties lots of heartbreak.
- krzyk 7mo agogithub? I just do some click here, click there, copy paste and gh cli is ready. For google I need PhD to setup any kind of API access to my own data. And it frequently blocks you, because you can setup as a test product, add test accounts (but it can't be owner account (WTF?)) etc. I gave up on using a google calendar cli project because of all that lack of normal UX. UX for google APIs looks like it was designed by accountant. gws auth setup looks promising, but it won't work yet for personal accounts.
- larodi 7mo agoWould it help to backup all my mailboxes and be ready to ditch gmail?
- ernsheong 7mo agoArchived in 3… 2… 1…
- jngiam1 7mo agoHonestly, easier with MCP straight up: https://gmail.mintmcp.com/ https://gmail.mintmcp.com/ https://gcal.mintmcp.com/ https://gcal.mintmcp.com/ https://gdocs.mintmcp.com/ https://gdocs.mintmcp.com/ https://gsheets.mintmcp.com/ https://gsheets.mintmcp.com/ (all pass through)
- trymas 7mo agohttps://news.ycombinator.com/item?id=47208398 https://news.ycombinator.com/item?id=47208398 https://news.ycombinator.com/item?id=47157398 https://news.ycombinator.com/item?id=47157398 IMHO, CLI tools are better more often than not against MCP. EDIT: and here is similar opinion from author himself: https://news.ycombinator.com/item?id=47252459 https://news.ycombinator.com/item?id=47252459
- sjeiuhvdiidi 7mo agoVery uninteresting post. Why is this the number one post on Hacker News ? Honestly, absolutely disgusting and you can be ashamed, or ashamed for them.
- swaminarayan 7mo agoThis reminds me a bit of how the GitHub CLI evolved into a foundation for automation and tooling. Do you see the Google Workspace CLI primarily as something for humans using the terminal, or more as a stable interface that automation and AI agents can build on?
- dakolli 7mo agoI'm just not going to give agents access to my workspace account!
- swaminarayan 7mo agoI agree
- mhogers 7mo agobut may they have their own workspace account while working with you? :)
- plastic041 7mo agoIt's built for agents first, unfortunately. https://justin.poehnelt.com/posts/rewrite-your-cli-for-ai-agents/ https://justin.poehnelt.com/posts/rewrite-your-cli-for-ai-ag...
- fergie 7mo ago> gws doesn't ship a static list of commands. It reads Google's own Discovery Service at runtime and builds its entire command surface dynamically. What is the practical difference between a "discovery service"+API and an MCP server? Surely humans and LLMs are better off using discovery service"+API in all cases? What would be the benefit of MCP?
- dahcryn 7mo agoBenefit of mcp is that it exists and kinda works, and a lot of tools are available on it. I guess it's all about adoption. But inherently yeah it's a discovery service thingy. Google will never embrace mcp since it's invented by anthropic I consider it a good first attempt, but indeed hope for a sort of mcp2.0
- fergie 7mo agoRight, but surely swagger/openapi has been providing robust API discovery for years? I just don't get what LLMs don't like about it (apart from it possibly using slightly more tokens than MCP)
- theshrike79 7mo agoMCP is like "this is what the API is about, figure it out". You can also change the server side pretty liberally and the agent will figure it out. Swagger/OpenAPI is "this is EXACTLY what the API does, if you don't do it like this, you will fail". If you change something, things will start falling apart.
- allan_s 7mo agoin a lot of sphere, MCP is still the hype. And it was the hype in even more sphere some month ago. Because of FOMO a lot of higher up decided that "we must do a MCP to show that we're also part of the cool kids" and to give an answer to their even-higher-up about "What are you doing regarding IA ?" The project has been approved, a lot of time has been sunk into the project, so nobody wants to admit that "hmmm actually now it's irrelevant our existing API + a skill.md is enough" I've seen that in at least 4 companies my friends work in, so I would be surprised if it's not something like that here too. On the contrary claude code, in my experience, has been perfectly able to use `stripe` `gh` and to construct on the fly a figma cli (once instructed to do it).
- plastic041 7mo agoThe fact that humans can use this feels like a side effect. The developer says it's "built for agents first" and "AI agents would be the primary consumers of every command, every flag, and every byte of output"[1]. [1] https://justin.poehnelt.com/posts/rewrite-your-cli-for-ai-agents/ https://justin.poehnelt.com/posts/rewrite-your-cli-for-ai-ag...
- deleted 7mo ago[deleted]
- arjie 7mo agoI've been using `gog` but I'd rather have an agent-first thing. I don't want a big bad MCP that occupies all context all the time. I need my claw to be aware on how to edit things. As it so happens, right now `gog` works. But I'm eager to see how this develops.
- benjaminwootton 7mo agoThey need something like this as it's hard and flaky to automate Google apps with AI. However, step 2 drops me to a fairly technical looking page where I have to configure Google Cloud. If they had a one click installer to automate Google Apps it would be an absolute killer use case for AI for me.
- jillesvangurp 7mo agoGenerating a good cli isn't all that hard for agentic coding tools. When you do it manually it's highly repetitive work. But all you are doing is low level plumbing. Given some parsed arguments, call a function, return the result (with some formatting, prettying, etc.). In the end it's just a facade for an API, library, or whatever else you want to have a cli for. Easy to write. Easy to test. But manually going through your API resource by resource, parameter by parameter, etc. takes a long time. An LLM just blazes through that in a few minutes. Generate some tests, tweak as needed, and you are good to go. I did a few CLIs with codex in the last few weeks. I do simple ops with this stuff. I've had a few use cases for new features where previously I would have had to build some kind of quick and dirty admin UI just to use and test a new API feature before being able to integrate it into our product. With a generated cli, I can just play with it from the command line. Or make codex do that for me. A good cli with a modern command line argument parser, well documented options, bash/zsh auto complete, pretty colors, etc. is generally nice to have. I mapped resources to commands and sub commands, made it add parameters with sensible defaults or optional ones. Then I got lazy and just asked it what else it thought it was missing, it made some suggestions and I gave it the thumbs up and it all got added. I even generated a simple interactive TUI at some point. Because why not? I also made it generate a md skill file explaining how to use the cli that you can just drop in your skills directory.
- codeulike 7mo agoBut manually going through your API resource by resource, parameter by parameter, etc. takes a long time. This CLI dynamically generates itself at run time though gws doesn't ship a static list of commands. It reads Google's own Discovery Service at runtime and builds its entire command surface dynamically
- qalmakka 7mo ago> gws doesn't ship a static list of commands. It reads Google's own Discovery Service at runtime and builds its entire command surface dynamically You're not exactly describing rocket science. This is basically how websites work, there's never been anything stopping anyone from doing dynamic UI in TUIs except the fact that TUI frameworks were dog poop until a few years ago (and there was no Windows Terminal, so no Windows support). Try doing that in ncurses instead of Rataui or whatever, it's horrendous
- gbrindisi 7mo agothe most annoying thing with Google Workspace is that you need super admin privilege to properly audit the environment programmatically, I believe because of the cloud-identity api.
- ksri 7mo agoI have been working on extrasuite (https://github.com/think41/extrasuite https://github.com/think41/extrasuite). This is like terraform, but for google drive files. It provides a git like pull/push workflow to edit sheets/docs/slides. `pull` converts the google file into a local folder with agent friendly files. For example, a google sheet becomes a folder with a .tsv, a formula.json and so on. The agent simply edits these files and `push`es the changes. Similarly, a google doc becomes an XML file that is pure content. The agent edits it and calls push - the tool figures out the right batchUpdate API calls to bring the document in sync. None of the existing tools allow you to edit documents. Invoking batchUpdate directly is error prone and token inefficient. Extrasuite solves these issues. In addition, Extrasuite also uses a unique service token that is 1:1 mapped to the user. This means that edits show up as "Alice's agent" in google drive version history. This is secure - agents can only access the specific files or folders you explicitly share with the agent. This is still very much alpha - but we have been using this internally for our 100 member team. Google sheets, docs, forms and app scripts work great - all using the same pull/push metaphor. Google slides needs some work.
- sothatsit 7mo agoWe have been using something similar for editing Confluence pages. Download XML, edit, upload. It is very effective, much better than direct edit commands. It’s a great pattern.
- holmb 7mo agoI would be very interested in this if you could share? Maintaining a Knowledge Base without a Git workflow is a pain currently.
- sothatsit 7mo agoI'm afraid I can't easily share this, as we have embedded a lot of company-specific information in our setup, particularly for cross-linking between confluence/jira/zendesk and other systems. I can try explain it though, and then Claude Code is great at implementing these simple CLI tools and writing the skills. We wrote CLIs for Confluence, Jira, and Zendesk, with skills to match. We use a simple OAuth flow for users to login (e.g., they would run jira login). Then confluence/jira/zendesk each have REST APIs to query pages/issues/tickets and submit changes, which is what our CLIs would use. Claude Code was exceptional at finding the documentation for these and implementing them. Only took a couple days to set these up and Claude Code is now remarkably good at loading the skills and using the CLIs. We use the skills to embed a lot of domain-specific information about projects, organisation of pages, conventions, standard workflows, etc. Being able to embed company-specific links between services has been remarkably useful. For example, we look for specific patterns in pages like AIT-553 or zd124132 and then can provide richer cross-links to Jira or Zendesk that help agents navigate between services. This has made agents really efficient at finding information, and it makes them much more likely to actually read from multiple systems. Before we made changes like this, they would often rabbit-hole only looking at confluence pages, or only looking at jira issues, even when there was a lot of very relevant information in other systems. My favourite is the confluence integration though, as I like to record a lot of worklog-style information in there that I would previously write down as markdown files. It's nicer to have these in Confluence as then they are accessible no matter what repo I am working in, what region I am working in, or what branch or feature I'm working on. I've been meaning to try to set something similar up for my personal projects using the new Obsidian CLI.
- hrmtst93837 7mo ago[flagged]
- whizzter 7mo agoYeah that github name made my spider senses tingle, large scale credentials harvesting?
- yenepho 7mo agoAlso the use of the google logo. Edit: Oh, I think this actually is an official account. Very confusing
- ivanjermakov 7mo agoI'm still confused, @googleworkspace is not affiliated with Google? Seems like it was made by Google employee: https://justin.poehnelt.com/posts/rewrite-your-cli-for-ai-agents/ https://justin.poehnelt.com/posts/rewrite-your-cli-for-ai-ag...
- hrmtst93837 7mo ago[flagged]
- jsnell 7mo agoMost projects under the "google" org will have exactly the same disclaimer about not being official Google products.
- hrmtst93837 7mo ago[flagged]
- abustamam 7mo agoCouldn't Google do a cease and desist for that kind of impersonation?
- lloydatkinson 7mo agoGoogle will wait for businesses to become very coupled to this and then kill off the CLI just because.
- mansilladev 7mo agoI remember reading gog setup instructions, and thinking, "Create oauth app/client? That's bonkers." And as cool+useful as this project looks, it's quite a bit harder to get going, especially if you're not familiar with Google Console and OAuth (or not a dev). Reading lots of comments about "MCP vs CLI" -- reminds me a bit of the "agent vs. script/app/rpa" debates. It's usually not one or the other, but rather, both.. or the right tool for the job (and that can shift over time). Biggest complaint we have about MCP is bigger context windows and token spend. Tools do exist that address this. I have just one MCP endpoint with a half dozen tools behind it, including Gmail, Google Calendar, Docs, Github, Notion, and more. Uses tool search tool (ToolIQ) with tiny context footprint. Give it a whirl. https://venn.ai https://venn.ai
- fs111 7mo agoFor the love of god, please google, give us personal access tokens and not this Oauth madness inside GCP. It is impossible to get that in any big enterprise.
- javadhu 7mo agoNice, now I can use this alongside claude to auto document my research work. Also, what I find fascinating is that the repo was initialized 3 days ago so it seems it's still a work in progress.
- shanehoban 7mo agoFeel like this should be at the top of the README - not the bottom > Disclaimer > Caution > This is not an officially supported Google product.
- lightningspirit 7mo agoYeah, I was surprised by that as well.
- dnw 7mo agoSchema Discovery Service is interesting but I have been wondering whether it is finally time to start implementing HATEOAS[0] in REST services. [0] https://roy.gbiv.com/untangled/2008/rest-apis-must-be-hypertext-driven https://roy.gbiv.com/untangled/2008/rest-apis-must-be-hypert...
- spwa4 7mo agoThis is effectively why people want agents, right? To be able to bypass all the stuff companies "optimize", ie. the ad-filled websites. The inserted extra conversations that now literally get triggered BECAUSE you're chatting to someone else. The ... In other words: this is the FANGs worst enemy. This is adblock * 1000, as far as consumers are concerned.
- moralestapia 7mo ago`npm install ...` I wonder why they didn't do this on Python or Ruby, them being the superior languages where `==` works, blah, blah ...
- climike 7mo agoBuilding www.cliwatch.com, so you can keep an eye on how agent-friendly your CLI is ;) feel free to request a benchmark against your CLI docs. Cheers
- corby 7mo agoI think we all have been working on our own bespoke CLI tools. MCPs are bloated, insecure token hogs. CLIs are easy to write and you can cut it down to only what you need, saving thousands of tokens per prompt. This is another one I'll add to my repertoire of claude CLIs to replace the MCP.
- philipallstar 7mo ago> This is not an officially supported Google product.
- julianozen 7mo agoDamn, so it won’t have the legendary Google promise of reliability and maintenance.
- petercooper 7mo agoCommon for them. Even for projects on the main google GH org more often than not there'll be stuff like "not an official Google product" and "it is just code that happens to be owned by Google" in the README.
- wg0 7mo agoSeems to be built by using Claud code?
- mococa 7mo agoGood for AI agents.
- d4rkp4ttern 7mo agoRelated, I often work with markdown docs (usually created via CLI agents like Claude Code) and need to collaborate with others in google docs, which is extremely markdown-unfriendly[1], so I built small quality-of-life CLI tools to convert Gdocs -> md and vice versa, called gdoc2md and md2gdoc: https://pchalasani.github.io/claude-code-tools/integrations/google-docs/ https://pchalasani.github.io/claude-code-tools/integrations/... They handle embedded images in both directions. There are similar gsheet2csv and csv2gsheet tools in the same repo. Similar to the posted tool, there is a first time set up involving creating an app, that is documented above. [1] in the sense there are multiple annoying clicks/steps to get a markdown doc to look good in Gdocs. You'd know the pain if you've tried it.
- greymalik 7mo agoPaste from markdown (Chrome only) works _really_ well for me. What are the extra steps you’re running into?
- d4rkp4ttern 7mo agoInteresting, in my Arc browser, I just tried File -> open -> upload -> blah.md and it does seem to render fine. This exact thing did not work a few weeks ago, meaning the various header markers etc showed up as raw "##" etc, and I had to further select something like "open as new doc" to finally make it look good.
- z3ugma 7mo agoRight click > "Paste from Markdown" instead of just straight up pasting in
- d4rkp4ttern 7mo agoImages wouldn't work though, right? I'd be amazed if that worked. My CLI tools handle those.
- 7mo ago
- imglorp 7mo agoIt's funny because all these cloud services are suddenly motivated to have truly useful CLIs.
- 948382828528 7mo agoWhat's the over/under on this being killed by Google within the next year?
- udioron 7mo agoWhat a shame Google Photos have no decent API or CLI. Photos could have been the best SAAS but changes in the API make it terribely unusable. I wish I could use an API/CLI to query/geoquery my photos.
- k4rnaj1k 7mo ago[dead]
- krzyk 7mo agoIs Google Workspace some separate thing from well, normal Google? I mean I have personal gmail,drive, keep, etc. Will it work there?
- abustamam 7mo agoIt should, as long as you have access to Google cloud for Auth. https://workspace.google.com/ https://workspace.google.com/ Google Workspace is their corporate offering (think Microsoft suite competitor)
- krzyk 7mo agohttps://github.com/googleworkspace/cli/issues/119 https://github.com/googleworkspace/cli/issues/119 Looks like it is not available for @gmail.com accounts, because of that bug.
- rot13maxi 7mo agoThe move to CLIs has been really interesting lately. They're easy for agents to use. They're composable with other shell tools. It's going to be interesting to see if mcp sticks around or if everything just moves to service specific CLIs.
- clouedoc 7mo agoI think this blog post from the author is interesting: https://justin.poehnelt.com/posts/rewrite-your-cli-for-ai-agents/ https://justin.poehnelt.com/posts/rewrite-your-cli-for-ai-ag...
- oofbey 7mo agoYet another way Google might decide you’ve violated their ToS and cut you off from your entire digital life without warning or recourse. Sounds handy. But use at your own risk.
- tonymet 7mo ago750 mb and enough iops to make a small vm instance explode at launch. I wish google would use their own tools like golang to produce 50mb installs.
- autojunjie 7mo agothis is just insane, now my lobster can stably do everything on my behalf vs. you do it all via computer use
- raphaelmolly8 7mo ago[dead]
- conor__m 7mo agoTotally thought this was built by Google. Great product!
- cypherpunks01 7mo agoMe: huh, 0.4.4 version, this project must have been around for a little while. checks https://github.com/googleworkspace/cli/tags https://github.com/googleworkspace/cli/tags v0.1.1 2 days ago v0.2.2 yesterday v0.3.3 18 hours ago v0.4.2 9 hours ago v0.5.0 8 minutes ago Interesting times we live in..
- KerrickStaley 7mo agoTried this out today and it feels half-baked unfortunately. I can't get auth working (https://github.com/googleworkspace/cli/issues/198 https://github.com/googleworkspace/cli/issues/198). The decision to pass all params as a JSON string to --params makes it unfriendly for humans to experiment with, although Claude Code managed to one-shot the right command for me, so I guess this is fine. This is an intentional design per https://justin.poehnelt.com/posts/rewrite-your-cli-for-ai-agents/ https://justin.poehnelt.com/posts/rewrite-your-cli-for-ai-ag...
- femtowin 7mo ago[dead]