You signed in with another tab or window. Reload to refresh your session.You signed out in another tab or window. Reload to refresh your session.You switched accounts on another tab or window. Reload to refresh your session.Dismiss alert
This commit was created on GitHub.com and signed with GitHub’s verified signature.
[0.0.1] - 2026-11-12
Fixed
An interactive account without enabledServices, with or without mode, gets the services the default account enables: every manifest service except keep, admin-reports and modelarmor. Its sign-in form starts on Read-only and still offers Read and write, unless its access says otherwise. Jelly adds each named account as the jelly declaration says, { "mode": "interactive" }, and the plugin refused that with OPTIONS_INVALID (accounts.<alias>.enabledServices), so OpenCode did not load it and Google Workspace could not be signed in to at all. A headless account still names its services. (#26)
/gws-install names gws once: "gws 0.22.5 is installed and verified.", not "gws gws 0.22.5 …". The version it reports is the binary's own --version line, which already starts with gws, as /gws-status, gws_status and the status dialog show it. (#29)
Known limits
Platforms. macOS (arm64, x64) and Linux (glibc, arm64, x64) only. Windows and musl have no release binary, so the tools refuse with GWS_UNAVAILABLE unless binary.path names a gws 0.22.5 executable.
Operations. The tools are the operations in the manifest generated from the pinned gws 0.22.5. A method that a later gws adds arrives with a plugin release, and gws_catalog lists only the manifest.
Services the default sign-in leaves out. Keep needs domain-wide delegation that a Workspace admin sets up, admin reports need a Workspace admin account, and Model Armor cannot run. A method that only a Chat app or a Classroom add-on can run (appOnly) fails with AUTH_SCOPE_MISSING under a Google sign-in.
Unverified OAuth apps. An External client left in Testing shows unverified-app warnings, and its refresh tokens expire after 7 days, so each account signs in again weekly.
A cancelled commit may have been applied.CANCELLED means the call stopped while gws ran. Check the state with gws_read before planning the change again.
Asks need an answerer. At access: "ask-changes", opencode run and scripts cannot answer a prompt, so a commit there needs an allow rule for it, or access: "all".
Output and time limits. A result that is too large stops with OUTPUT_LIMIT, and a slow call with TIMEOUT. Narrow the request with fields, a smaller page size, maxPages or maxItems.
Tested hosts. Tested on OpenCode 2.2.3, 2.2.4, 2.2.5 and 2.2.6. A later 2.2 release loads, and /gws-status marks it untested.
Audit lines can drop. The audit log is written off the call path, with a 100 ms budget per line. A write that stalls past it is abandoned: its line and any queued behind it are lost. The call's result is not affected. The sink then stops writing until the plugin reloads, and /gws-status shows that some audit records could not be saved.
Updates are not automatic for a Git install, and opencode plugin update and opencode plugin check do not work on one: to move to a newer release, remove the old entry and add the new tag.