Releases: googleworkspace/cli
0.7.0
Release Notes
Minor Changes
- e1505af: Remove multi-account, domain-wide delegation, and impersonation support. Removes
gws auth list,gws auth default,--accountflag,GOOGLE_WORKSPACE_CLI_ACCOUNTandGOOGLE_WORKSPACE_CLI_IMPERSONATED_USERenv vars.
Patch Changes
- 54b3b31: Move x-goog-user-project header from default client headers to API request builder, fixing Discovery Document fetches failing with 403 when the quota project lacks certain APIs enabled
Install gws 0.7.0
Install prebuilt binaries via shell script
curl --proto '=https' --tlsv1.2 -LsSf https://github.com/googleworkspace/cli/releases/download/v0.7.0/gws-installer.sh | shInstall prebuilt binaries via powershell script
powershell -ExecutionPolicy Bypass -c "irm https://github.com/googleworkspace/cli/releases/download/v0.7.0/gws-installer.ps1 | iex"Install prebuilt binaries into your npm project
npm install @googleworkspace/cli@0.7.0Download gws 0.7.0
| File | Platform | Checksum |
|---|---|---|
| gws-aarch64-apple-darwin.tar.gz | Apple Silicon macOS | checksum |
| gws-x86_64-apple-darwin.tar.gz | Intel macOS | checksum |
| gws-x86_64-pc-windows-msvc.zip | x64 Windows | checksum |
| gws-aarch64-unknown-linux-gnu.tar.gz | ARM64 Linux | checksum |
| gws-x86_64-unknown-linux-gnu.tar.gz | x64 Linux | checksum |
| gws-aarch64-unknown-linux-musl.tar.gz | ARM64 MUSL Linux | checksum |
| gws-x86_64-unknown-linux-musl.tar.gz | x64 MUSL Linux | checksum |
Verifying GitHub Artifact Attestations
The artifacts in this release have attestations generated with GitHub Artifact Attestations. These can be verified by using the GitHub CLI:
gh attestation verify <file-path of downloaded artifact> --repo googleworkspace/cliYou can also download the attestation from GitHub and verify against that directly:
gh attestation verify <file-path of downloaded artifact> --bundle <file-path of downloaded attestation>0.6.3
Release Notes
Patch Changes
-
322529d: Document all environment variables and enable GOOGLE_WORKSPACE_CLI_CONFIG_DIR in release builds
-
2173a92: Send x-goog-user-project header when using ADC with a quota_project_id
-
1f47420: fix: extract CLA label job into dedicated workflow to prevent feedback loop
The Automation workflow's
check_run: [completed]trigger caused a feedback
loop — every workflow completion fired a check_run event, re-triggering
Automation, which produced another check_run event, and so on. Moving the
CLA label job to its owncla.ymlworkflow eliminates the trigger from
Automation entirely. -
132c3b1: fix: warn on credential file permission failures instead of ignoring
Replaced silent
let _ =onset_permissionscalls insave_encrypted
witheprintln!warnings so users are aware if their credential files
end up with insecure permissions. Also log keyring access failures
instead of silently falling through to file storage. -
a2cc523: Add
x86_64-unknown-linux-muslbuild target for Linux musl/static binary support -
c86b964: Fix multi-account selection: MCP server now respects
GOOGLE_WORKSPACE_CLI_ACCOUNTenv var (#221), and--accountflag before service name no longer causes parse errors (#181) -
ff53538: Fix scope selection to use first (broadest) scope instead of all method scopes, preventing gmail.metadata restrictions from blocking query parameters
-
c80eb52: Replace strip_suffix(".readonly").unwrap() with unwrap_or fallback
Two call sites used
.strip_suffix(".readonly").unwrap()which would
panic if a scope URL marked asis_readonlydidn't actually end with
".readonly". While the current data makes this unlikely, using
unwrap_oris a defensive improvement that prevents potential panics
from inconsistent discovery data. -
9a780d7: Log token cache decryption/parse errors instead of silently swallowing
Previously,
load_from_diskused four nestedif let Okblocks that
silently returned an empty map on any failure. When the encryption key
changed or the cache was corrupted, tokens silently stopped loading and
users were forced to re-authenticate with no explanation.Now logs specific warnings to stderr for decryption failures, invalid
UTF-8, and JSON parse errors, with a hint to re-authenticate. -
6daf90d: Fix MCP tool schemas to conditionally include
body,upload, andpage_allproperties only when the underlying Discovery Document method supports them.bodyis included only when a request body is defined,uploadonly whensupportsMediaUploadis true, andpage_allonly when the method has apageTokenparameter. Also drops emptybody: {}objects that LLMs commonly send on GET methods, preventing 400 errors from Google APIs.
Install gws 0.6.3
Install prebuilt binaries via shell script
curl --proto '=https' --tlsv1.2 -LsSf https://github.com/googleworkspace/cli/releases/download/v0.6.3/gws-installer.sh | shInstall prebuilt binaries via powershell script
powershell -ExecutionPolicy Bypass -c "irm https://github.com/googleworkspace/cli/releases/download/v0.6.3/gws-installer.ps1 | iex"Install prebuilt binaries into your npm project
npm install @googleworkspace/cli@0.6.3Download gws 0.6.3
| File | Platform | Checksum |
|---|---|---|
| gws-aarch64-apple-darwin.tar.gz | Apple Silicon macOS | checksum |
| gws-x86_64-apple-darwin.tar.gz | Intel macOS | checksum |
| gws-x86_64-pc-windows-msvc.tar.gz | x64 Windows | checksum |
| gws-aarch64-unknown-linux-gnu.tar.gz | ARM64 Linux | checksum |
| gws-x86_64-unknown-linux-gnu.tar.gz | x64 Linux | checksum |
| gws-aarch64-unknown-linux-musl.tar.gz | ARM64 MUSL Linux | checksum |
| gws-x86_64-unknown-linux-musl.tar.gz | x64 MUSL Linux | checksum |
Verifying GitHub Artifact Attestations
The artifacts in this release have attestations generated with GitHub Artifact Attestations. These can be verified by using the GitHub CLI:
gh attestation verify <file-path of downloaded artifact> --repo googleworkspace/cliYou can also download the attestation from GitHub and verify against that directly:
gh attestation verify <file-path of downloaded artifact> --bundle <file-path of downloaded attestation>0.6.0
Release Notes
Minor Changes
-
b38b760: Add Application Default Credentials (ADC) support.
gwsnow discovers ADC as a fourth credential source, after the encrypted
and plaintext credential files. The lookup order is:GOOGLE_WORKSPACE_CLI_TOKENenv var (raw access token, highest priority)GOOGLE_WORKSPACE_CLI_CREDENTIALS_FILEenv var- Encrypted credentials (
~/.config/gws/credentials.enc) - Plaintext credentials (
~/.config/gws/credentials.json) - ADC —
GOOGLE_APPLICATION_CREDENTIALSenv var (hard error if file missing), then
~/.config/gcloud/application_default_credentials.json(silent if absent)
This means
gcloud auth application-default login --client-id-file=client_secret.json
is now a fully supported auth flow — no need to rungws auth loginseparately.
Bothauthorized_userandservice_accountADC formats are supported.
Install gws 0.6.0
Install prebuilt binaries via shell script
curl --proto '=https' --tlsv1.2 -LsSf https://github.com/googleworkspace/cli/releases/download/v0.6.0/gws-installer.sh | shInstall prebuilt binaries via powershell script
powershell -ExecutionPolicy Bypass -c "irm https://github.com/googleworkspace/cli/releases/download/v0.6.0/gws-installer.ps1 | iex"Install prebuilt binaries into your npm project
npm install @googleworkspace/cli@0.6.0Download gws 0.6.0
| File | Platform | Checksum |
|---|---|---|
| gws-aarch64-apple-darwin.tar.gz | Apple Silicon macOS | checksum |
| gws-x86_64-apple-darwin.tar.gz | Intel macOS | checksum |
| gws-x86_64-pc-windows-msvc.tar.gz | x64 Windows | checksum |
| gws-aarch64-unknown-linux-gnu.tar.gz | ARM64 Linux | checksum |
| gws-x86_64-unknown-linux-gnu.tar.gz | x64 Linux | checksum |
| gws-aarch64-unknown-linux-musl.tar.gz | ARM64 MUSL Linux | checksum |
Verifying GitHub Artifact Attestations
The artifacts in this release have attestations generated with GitHub Artifact Attestations. These can be verified by using the GitHub CLI:
gh attestation verify <file-path of downloaded artifact> --repo googleworkspace/cliYou can also download the attestation from GitHub and verify against that directly:
gh attestation verify <file-path of downloaded artifact> --bundle <file-path of downloaded attestation>0.5.0
Release Notes
Minor Changes
- 9cf6e0e: Add
--tool-mode compact|fullflag togws mcp. Compact mode exposes one tool per service plus agws_discovermeta-tool, reducing context window usage from 200-400 tools to ~26.
Patch Changes
- 0a16d0b: Add
-s/--servicesflag togws auth loginto filter the scope picker
by service name (e.g.-s drive,gmail,sheets). Also expands the workspace
admin scope blocklist to includechat.admin.*andclassroom.*patterns. - 5205467: fix(setup): drain stale keypresses between TUI screen transitions
Install gws 0.5.0
Install prebuilt binaries via shell script
curl --proto '=https' --tlsv1.2 -LsSf https://github.com/googleworkspace/cli/releases/download/v0.5.0/gws-installer.sh | shInstall prebuilt binaries via powershell script
powershell -ExecutionPolicy Bypass -c "irm https://github.com/googleworkspace/cli/releases/download/v0.5.0/gws-installer.ps1 | iex"Install prebuilt binaries into your npm project
npm install @googleworkspace/cli@0.5.0Download gws 0.5.0
| File | Platform | Checksum |
|---|---|---|
| gws-aarch64-apple-darwin.tar.gz | Apple Silicon macOS | checksum |
| gws-x86_64-apple-darwin.tar.gz | Intel macOS | checksum |
| gws-x86_64-pc-windows-msvc.tar.gz | x64 Windows | checksum |
| gws-aarch64-unknown-linux-gnu.tar.gz | ARM64 Linux | checksum |
| gws-x86_64-unknown-linux-gnu.tar.gz | x64 Linux | checksum |
| gws-aarch64-unknown-linux-musl.tar.gz | ARM64 MUSL Linux | checksum |
Verifying GitHub Artifact Attestations
The artifacts in this release have attestations generated with GitHub Artifact Attestations. These can be verified by using the GitHub CLI:
gh attestation verify <file-path of downloaded artifact> --repo googleworkspace/cliYou can also download the attestation from GitHub and verify against that directly:
gh attestation verify <file-path of downloaded artifact> --bundle <file-path of downloaded attestation>0.4.4
Release Notes
Patch Changes
- e1e08eb: Fix highlight color on light terminal themes by using reverse video instead of a dark-gray background
Install gws 0.4.4
Install prebuilt binaries via shell script
curl --proto '=https' --tlsv1.2 -LsSf https://github.com/googleworkspace/cli/releases/download/v0.4.4/gws-installer.sh | shInstall prebuilt binaries via powershell script
powershell -ExecutionPolicy Bypass -c "irm https://github.com/googleworkspace/cli/releases/download/v0.4.4/gws-installer.ps1 | iex"Install prebuilt binaries into your npm project
npm install @googleworkspace/cli@0.4.4Download gws 0.4.4
| File | Platform | Checksum |
|---|---|---|
| gws-aarch64-apple-darwin.tar.gz | Apple Silicon macOS | checksum |
| gws-x86_64-apple-darwin.tar.gz | Intel macOS | checksum |
| gws-x86_64-pc-windows-msvc.tar.gz | x64 Windows | checksum |
| gws-aarch64-unknown-linux-gnu.tar.gz | ARM64 Linux | checksum |
| gws-x86_64-unknown-linux-gnu.tar.gz | x64 Linux | checksum |
| gws-aarch64-unknown-linux-musl.tar.gz | ARM64 MUSL Linux | checksum |
Verifying GitHub Artifact Attestations
The artifacts in this release have attestations generated with GitHub Artifact Attestations. These can be verified by using the GitHub CLI:
gh attestation verify <file-path of downloaded artifact> --repo googleworkspace/cliYou can also download the attestation from GitHub and verify against that directly:
gh attestation verify <file-path of downloaded artifact> --bundle <file-path of downloaded attestation>0.4.3
Release Notes
Patch Changes
-
fc6bc95: Exclude Workspace-admin-only scopes from the "Recommended" scope preset.
Scopes that require Google Workspace domain-admin access (
apps.*,
cloud-identity.*,ediscovery,directory.readonly,groups) now return
400 invalid_scopewhen used by personal@gmail.comaccounts. These scopes
are no longer included in the "Recommended" template, preventing login failures
for non-Workspace users.Workspace admins can still select these scopes manually via the "Full Access"
template or by picking them individually in the scope picker.Adds a new
is_workspace_admin_scope()helper (mirroring the existing
is_app_only_scope()) that centralises this detection logic. -
2aa6084: docs: Comprehensive README overhaul addressing user feedback.
Added a Prerequisites section prior to the Quick Start to highlight the optional
gclouddependency.
Expanded the Authentication section with a decision matrix to help users choose the correct authentication path.
Added prominent warnings about OAuth "testing mode" limitations (the 25-scope cap) and the strict requirement to explicitly add the authorizing account as a "Test user" (#130).
Added a dedicated Troubleshooting section detailing fixes for common OAuth consent errors, "Access blocked" issues, andredirect_uri_mismatchfailures.
Included shell escaping examples for Google Sheets A1 notation (!).
Clarified thenpminstallation rationale and added explicit links to pre-built native binaries on GitHub Releases.
Install gws 0.4.3
Install prebuilt binaries via shell script
curl --proto '=https' --tlsv1.2 -LsSf https://github.com/googleworkspace/cli/releases/download/v0.4.3/gws-installer.sh | shInstall prebuilt binaries via powershell script
powershell -ExecutionPolicy Bypass -c "irm https://github.com/googleworkspace/cli/releases/download/v0.4.3/gws-installer.ps1 | iex"Install prebuilt binaries into your npm project
npm install @googleworkspace/cli@0.4.3Download gws 0.4.3
| File | Platform | Checksum |
|---|---|---|
| gws-aarch64-apple-darwin.tar.gz | Apple Silicon macOS | checksum |
| gws-x86_64-apple-darwin.tar.gz | Intel macOS | checksum |
| gws-x86_64-pc-windows-msvc.tar.gz | x64 Windows | checksum |
| gws-aarch64-unknown-linux-gnu.tar.gz | ARM64 Linux | checksum |
| gws-x86_64-unknown-linux-gnu.tar.gz | x64 Linux | checksum |
| gws-aarch64-unknown-linux-musl.tar.gz | ARM64 MUSL Linux | checksum |
Verifying GitHub Artifact Attestations
The artifacts in this release have attestations generated with GitHub Artifact Attestations. These can be verified by using the GitHub CLI:
gh attestation verify <file-path of downloaded artifact> --repo googleworkspace/cliYou can also download the attestation from GitHub and verify against that directly:
gh attestation verify <file-path of downloaded artifact> --bundle <file-path of downloaded attestation>0.4.2
Release Notes
Patch Changes
-
d3e90e4: fix: use ~/.config/gws on all platforms for consistent config path
Previously used
dirs::config_dir()which resolves to different paths per OS
(e.g. ~/Library/Application Support/gws on macOS, %APPDATA%\gws on Windows),
contradicting the documented ~/.config/gws/ path. Now uses ~/.config/gws/
everywhere with a fallback to the legacy OS-specific path for existing installs.
Install gws 0.4.2
Install prebuilt binaries via shell script
curl --proto '=https' --tlsv1.2 -LsSf https://github.com/googleworkspace/cli/releases/download/v0.4.2/gws-installer.sh | shInstall prebuilt binaries via powershell script
powershell -ExecutionPolicy Bypass -c "irm https://github.com/googleworkspace/cli/releases/download/v0.4.2/gws-installer.ps1 | iex"Install prebuilt binaries into your npm project
npm install @googleworkspace/cli@0.4.2Download gws 0.4.2
| File | Platform | Checksum |
|---|---|---|
| gws-aarch64-apple-darwin.tar.gz | Apple Silicon macOS | checksum |
| gws-x86_64-apple-darwin.tar.gz | Intel macOS | checksum |
| gws-x86_64-pc-windows-msvc.tar.gz | x64 Windows | checksum |
| gws-aarch64-unknown-linux-gnu.tar.gz | ARM64 Linux | checksum |
| gws-x86_64-unknown-linux-gnu.tar.gz | x64 Linux | checksum |
| gws-aarch64-unknown-linux-musl.tar.gz | ARM64 MUSL Linux | checksum |
Verifying GitHub Artifact Attestations
The artifacts in this release have attestations generated with GitHub Artifact Attestations. These can be verified by using the GitHub CLI:
gh attestation verify <file-path of downloaded artifact> --repo googleworkspace/cliYou can also download the attestation from GitHub and verify against that directly:
gh attestation verify <file-path of downloaded artifact> --bundle <file-path of downloaded attestation>0.4.1
Release Notes
Patch Changes
-
dbda001: Add "Enter project ID manually" option to project picker in
gws auth setup.Users with large numbers of GCP projects often hit the 10-second listing timeout.
The picker now includes a "⌨ Enter project ID manually" item so users can type a
known project ID directly without waiting forgcloud projects listto complete.
Install gws 0.4.1
Install prebuilt binaries via shell script
curl --proto '=https' --tlsv1.2 -LsSf https://github.com/googleworkspace/cli/releases/download/v0.4.1/gws-installer.sh | shInstall prebuilt binaries via powershell script
powershell -ExecutionPolicy Bypass -c "irm https://github.com/googleworkspace/cli/releases/download/v0.4.1/gws-installer.ps1 | iex"Install prebuilt binaries into your npm project
npm install @googleworkspace/cli@0.4.1Download gws 0.4.1
| File | Platform | Checksum |
|---|---|---|
| gws-aarch64-apple-darwin.tar.gz | Apple Silicon macOS | checksum |
| gws-x86_64-apple-darwin.tar.gz | Intel macOS | checksum |
| gws-x86_64-pc-windows-msvc.tar.gz | x64 Windows | checksum |
| gws-aarch64-unknown-linux-gnu.tar.gz | ARM64 Linux | checksum |
| gws-x86_64-unknown-linux-gnu.tar.gz | x64 Linux | checksum |
| gws-aarch64-unknown-linux-musl.tar.gz | ARM64 MUSL Linux | checksum |
Verifying GitHub Artifact Attestations
The artifacts in this release have attestations generated with GitHub Artifact Attestations. These can be verified by using the GitHub CLI:
gh attestation verify <file-path of downloaded artifact> --repo googleworkspace/cliYou can also download the attestation from GitHub and verify against that directly:
gh attestation verify <file-path of downloaded artifact> --bundle <file-path of downloaded attestation>0.3.5
Release Notes
Patch Changes
-
4bca693: fix: credential masking panic and silent token write errors
Fixed
gws auth exportmasking which panicked on short strings and showed
the entire secret instead of masking it. Also fixed silent token cache write
failures insave_to_diskthat returnedOk(())even when the write failed. -
f84ce37: Fix URL template path expansion to safely encode path parameters, including
Sheetsrangevalues with Unicode and reserved characters.{var}expansions
now encode as a path segment,{+var}preserves slashes while encoding each
segment, and invalid path parameter/template mismatches fail fast. -
eb0347a: fix: correct author email typo in package.json
-
70d0cdd: Fix Slides presentations.get failure caused by flatPath placeholder mismatch
When a Discovery Document's
flatPathuses placeholder names that don't match
the method's parameter names (e.g.,{presentationsId}vspresentationId),
build_urlnow falls back to thepathfield which uses RFC 6570 operators
that resolve correctly.Fixes #118
-
37ab483: Add flake.nix for nix & NixOS installs
-
1991d53: Add prominent disclaimer that this is not an officially supported Google product to README, --help, and --version output
Install gws 0.3.5
Install prebuilt binaries via shell script
curl --proto '=https' --tlsv1.2 -LsSf https://github.com/googleworkspace/cli/releases/download/v0.3.5/gws-installer.sh | shInstall prebuilt binaries via powershell script
powershell -ExecutionPolicy Bypass -c "irm https://github.com/googleworkspace/cli/releases/download/v0.3.5/gws-installer.ps1 | iex"Install prebuilt binaries into your npm project
npm install @googleworkspace/cli@0.3.5Download gws 0.3.5
| File | Platform | Checksum |
|---|---|---|
| gws-aarch64-apple-darwin.tar.gz | Apple Silicon macOS | checksum |
| gws-x86_64-apple-darwin.tar.gz | Intel macOS | checksum |
| gws-x86_64-pc-windows-msvc.tar.gz | x64 Windows | checksum |
| gws-x86_64-unknown-linux-gnu.tar.gz | x64 Linux | checksum |
Verifying GitHub Artifact Attestations
The artifacts in this release have attestations generated with GitHub Artifact Attestations. These can be verified by using the GitHub CLI:
gh attestation verify <file-path of downloaded artifact> --repo googleworkspace/cliYou can also download the attestation from GitHub and verify against that directly:
gh attestation verify <file-path of downloaded artifact> --bundle <file-path of downloaded attestation>0.3.4
Release Notes
Patch Changes
-
704928b: fix(setup): enable APIs individually and surface gcloud errors
Previously
gws auth setupused a single batchgcloud services enablecall
for all Workspace APIs. If any one API failed, the entire batch was marked as
failed and stderr was silently discarded. APIs are now enabled individually and
in parallel, with error messages surfaced to the user.
Install gws 0.3.4
Install prebuilt binaries via shell script
curl --proto '=https' --tlsv1.2 -LsSf https://github.com/googleworkspace/cli/releases/download/v0.3.4/gws-installer.sh | shInstall prebuilt binaries via powershell script
powershell -ExecutionPolicy Bypass -c "irm https://github.com/googleworkspace/cli/releases/download/v0.3.4/gws-installer.ps1 | iex"Install prebuilt binaries into your npm project
npm install @googleworkspace/cli@0.3.4Download gws 0.3.4
| File | Platform | Checksum |
|---|---|---|
| gws-aarch64-apple-darwin.tar.gz | Apple Silicon macOS | checksum |
| gws-x86_64-apple-darwin.tar.gz | Intel macOS | checksum |
| gws-x86_64-pc-windows-msvc.tar.gz | x64 Windows | checksum |
| gws-x86_64-unknown-linux-gnu.tar.gz | x64 Linux | checksum |
Verifying GitHub Artifact Attestations
The artifacts in this release have attestations generated with GitHub Artifact Attestations. These can be verified by using the GitHub CLI:
gh attestation verify <file-path of downloaded artifact> --repo googleworkspace/cliYou can also download the attestation from GitHub and verify against that directly:
gh attestation verify <file-path of downloaded artifact> --bundle <file-path of downloaded attestation>