Bug Description
In gws 0.6.0, calling gmail users drafts create via the MCP server (or CLI) rejects any --params JSON shape with:
Invalid --params JSON: invalid type: string "{\"userId\":\"me\"}", expected a map at line 1 column 21
The identical params shape works fine for other Gmail endpoints in the same version — messages.list, messages.get, threads.get all accept --params '{"userId":"me", ...}' without issue. Only drafts.create rejects it.
When the call comes from an MCP wrapper (Claude Code's tool-use bridge), the error also surfaces as Request body failed schema validation: $: Expected object when --params is omitted entirely, suggesting the params parser is required and is parsing the value as a string instead of deserializing it as a map.
Repro
npm install -g @googleworkspace/cli@0.6.0
gws gmail users drafts create --params '{"userId":"me"}' --json '{"message":{"raw":"<base64url-mime>"}}'
# → Invalid --params JSON: invalid type: string ..., expected a map
Same params shape works fine on other endpoints:
gws gmail users messages list --params '{"userId":"me","q":"in:inbox","maxResults":5}'
# → works
Status in newer versions
Verified on @googleworkspace/cli@0.15.0 (the highest version that still runs on Ubuntu 22.04 / GLIBC 2.35 — 0.22.x requires GLIBC 2.39): the same call passes --params deserialization and progresses to the auth layer (where it then fails because 0.15.0 cannot read 0.6.0's encrypted token cache, an unrelated migration concern).
So the bug is fixed somewhere between 0.6.0 and 0.15.0. This issue is mostly a paper trail / upgrade prompt for anyone still pinned to 0.6.0.
Environment
@googleworkspace/cli@0.6.0 (installed via npm install -g)
- Ubuntu 22.04 / GLIBC 2.35 / Node v20.19.5
- Used as the MCP server in Claude Code (
gws mcp -s drive,gmail,calendar)
Suggested resolution
If 0.6.0 is no longer supported: close as "upgrade to >= 0.15.0". Otherwise a backport could be considered, though the GLIBC requirement bump in newer versions (0.16+ → GLIBC 2.39) is a separate migration blocker for users on older distros.
— Filed via Claude Code during a paralegal-onboarding outreach session where the drafts_create MCP tool was the last remaining manual step in an otherwise automated pipeline.
Bug Description
In
gws 0.6.0, callinggmail users drafts createvia the MCP server (or CLI) rejects any--paramsJSON shape with:The identical params shape works fine for other Gmail endpoints in the same version —
messages.list,messages.get,threads.getall accept--params '{"userId":"me", ...}'without issue. Onlydrafts.createrejects it.When the call comes from an MCP wrapper (Claude Code's tool-use bridge), the error also surfaces as
Request body failed schema validation: $: Expected objectwhen--paramsis omitted entirely, suggesting the params parser is required and is parsing the value as a string instead of deserializing it as a map.Repro
Same params shape works fine on other endpoints:
Status in newer versions
Verified on
@googleworkspace/cli@0.15.0(the highest version that still runs on Ubuntu 22.04 / GLIBC 2.35 — 0.22.x requires GLIBC 2.39): the same call passes--paramsdeserialization and progresses to the auth layer (where it then fails because 0.15.0 cannot read 0.6.0's encrypted token cache, an unrelated migration concern).So the bug is fixed somewhere between 0.6.0 and 0.15.0. This issue is mostly a paper trail / upgrade prompt for anyone still pinned to 0.6.0.
Environment
@googleworkspace/cli@0.6.0(installed vianpm install -g)gws mcp -s drive,gmail,calendar)Suggested resolution
If 0.6.0 is no longer supported: close as "upgrade to >= 0.15.0". Otherwise a backport could be considered, though the GLIBC requirement bump in newer versions (0.16+ → GLIBC 2.39) is a separate migration blocker for users on older distros.
— Filed via Claude Code during a paralegal-onboarding outreach session where the
drafts_createMCP tool was the last remaining manual step in an otherwise automated pipeline.