v0.19.0

googleworkspace/cliv0.19.0Mar 23, 2026by github-actions[bot]

AI Summary

Minor release refactoring authentication commands and adding simulation capabilities.

Key Highlights

  • Refactored all gws auth subcommands to use clap for structured argument parsing.
  • Added --dry-run support to events helpers to simulate requests without API calls.
  • Fixed YAML frontmatter generation for generated skills to pass validation.

New Features

  • Structured argument parsing for auth subcommands.
  • Dry-run mode for events helpers.
  • Improved auth error propagation.

Full Release Notes

## Release Notes

### Minor Changes

- a078945: Refactor all `gws auth` subcommands to use clap for argument parsing

  Replace manual argument parsing in `handle_auth_command`, `handle_login`, `resolve_scopes`, and `handle_export` with structured `clap::Command` definitions. Introduces `ScopeMode` enum for type-safe scope selection and adds proper `--help` support for all auth subcommands.

### Patch Changes

- 8a749c2: feat(helpers): add --dry-run support to events helper commands

  Add dry-run mode to `gws events +renew` and `gws events +subscribe` commands.
  When --dry-run is specified, the commands will print what actions would be
  taken without making any API calls. This allows agents to simulate requests
  and learn without reaching the server.

- d679401: Fix `mask_secret` panic on multi-byte UTF-8 secrets by using char-based indexing instead of byte-offset slicing
- d341de2: Handle --help/-h in `gws auth setup` before launching the setup wizard, preventing accidental project creation when users just want usage info
- f157208: fix: use block-style YAML sequences in generated SKILL.md frontmatter

  Replace flow sequences (`bins: ["gws"]`, `skills: [...]`) with block-style
  sequences (`bins:\n  - gws`) in all generated SKILL.md frontmatter templates.

  Flow sequences are valid YAML but rejected by `strictyaml`, which the
  Agent Skills reference implementation (`agentskills validate`) uses to parse
  frontmatter. This caused all 93 generated skills to fail validation.

  Fixes #521

- b4d5e26: Fix auth error propagation: properly propagate errors when token directory creation or permission setting fails, instead of silently ignoring them

## Install gws 0.19.0

### Install prebuilt binaries via shell script

```sh
curl --proto '=https' --tlsv1.2 -LsSf https://github.com/googleworkspace/cli/releases/download/v0.19.0/gws-installer.sh | sh
```

### Install prebuilt binaries via powershell script

```sh
powershell -ExecutionPolicy Bypass -c "irm https://github.com/googleworkspace/cli/releases/download/v0.19.0/gws-installer.ps1 | iex"
```

### Install prebuilt binaries into your npm project

```sh
npm install @googleworkspace/cli@0.19.0
```

## Download gws 0.19.0

|  File  | Platform | Checksum |
|--------|----------|----------|
| [gws-aarch64-apple-darwin.tar.gz](https://github.com/googleworkspace/cli/releases/download/v0.19.0/gws-aarch64-apple-darwin.tar.gz) | Apple Silicon macOS | [checksum](https://github.com/googleworkspace/cli/releases/download/v0.19.0/gws-aarch64-apple-darwin.tar.gz.sha256) |
| [gws-x86_64-apple-darwin.tar.gz](https://github.com/googleworkspace/cli/releases/download/v0.19.0/gws-x86_64-apple-darwin.tar.gz) | Intel macOS | [checksum](https://github.com/googleworkspace/cli/releases/download/v0.19.0/gws-x86_64-apple-darwin.tar.gz.sha256) |
| [gws-x86_64-pc-windows-msvc.zip](https://github.com/googleworkspace/cli/releases/download/v0.19.0/gws-x86_64-pc-windows-msvc.zip) | x64 Windows | [checksum](https://github.com/googleworkspace/cli/releases/download/v0.19.0/gws-x86_64-pc-windows-msvc.zip.sha256) |
| [gws-aarch64-unknown-linux-gnu.tar.gz](https://github.com/googleworkspace/cli/releases/download/v0.19.0/gws-aarch64-unknown-linux-gnu.tar.gz) | ARM64 Linux | [checksum](https://github.com/googleworkspace/cli/releases/download/v0.19.0/gws-aarch64-unknown-linux-gnu.tar.gz.sha256) |
| [gws-x86_64-unknown-linux-gnu.tar.gz](https://github.com/googleworkspace/cli/releases/download/v0.19.0/gws-x86_64-unknown-linux-gnu.tar.gz) | x64 Linux | [checksum](https://github.com/googleworkspace/cli/releases/download/v0.19.0/gws-x86_64-unknown-linux-gnu.tar.gz.sha256) |
| [gws-aarch64-unknown-linux-musl.tar.gz](https://github.com/googleworkspace/cli/releases/download/v0.19.0/gws-aarch64-unknown-linux-musl.tar.gz) | ARM64 MUSL Linux | [checksum](https://github.com/googleworkspace/cli/releases/download/v0.19.0/gws-aarch64-unknown-linux-musl.tar.gz.sha256) |
| [gws-x86_64-unknown-linux-musl.tar.gz](https://github.com/googleworkspace/cli/releases/download/v0.19.0/gws-x86_64-unknown-linux-musl.tar.gz) | x64 MUSL Linux | [checksum](https://github.com/googleworkspace/cli/releases/download/v0.19.0/gws-x86_64-unknown-linux-musl.tar.gz.sha256) |

## 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](https://cli.github.com/manual/gh_attestation_verify):
```sh
gh attestation verify <file-path of downloaded artifact> --repo googleworkspace/cli
```

You can also download the attestation from [GitHub](https://github.com/googleworkspace/cli/attestations) and verify against that directly:
```sh
gh attestation verify <file-path of downloaded artifact> --bundle <file-path of downloaded attestation>
```