gemini-cli-extensions / gemini-cli-extensions/workspace
OAuth scope upgrade needed: spreadsheets.readonly → spreadsheets for write tools
Nobody has claimed this yet.
- Dominant language
- TypeScript
- Stars
- 638
- Forks
- 107
- PR merge metrics
- No merged PRs in 30d
Description
Summary
Implementing Google Sheets write tools (create, update, append, clear, add/delete sheet) requires upgrading the OAuth scope from spreadsheets.readonly to spreadsheets (full read/write access).
The current scope is defined in workspace-server/src/index.ts:
'https://www.googleapis.com/auth/spreadsheets.readonly',
This needs to become:
'https://www.googleapis.com/auth/spreadsheets',
Why this matters
This scope change requires updating the Google OAuth consent screen configuration — it cannot be shipped as a code-only change. The Google Cloud project's OAuth consent screen must be configured to request the broader spreadsheets scope, and users will need to re-authorize to grant the new permission.
What this unblocks
There are several open feature requests that all depend on Sheets write access:
- #232 —
sheets.insertText - #242 —
sheets.create - #244 —
sheets.batchInsertText - #87 — Support direct appending to Google Sheets
We have a working implementation ready (with tests) for the following tools, pending this scope change:
| Tool | Description |
|---|---|
sheets.updateRange |
Write values to a specific range |
sheets.appendRange |
Append rows after last data |
sheets.clearRange |
Clear values from a range |
sheets.createSpreadsheet |
Create a new spreadsheet |
sheets.addSheet |
Add a new tab to an existing spreadsheet |
sheets.deleteSheet |
Delete a tab by its numeric sheet ID |
Considerations
- Per #111, some users may want granular control over scopes. This change should ideally be paired with a mechanism to opt in/out of write scopes.
- Per #86, changing scopes triggers a re-authorization prompt for existing users — the UX for this should be considered.
Action needed
The Google Cloud project owner / team needs to:
- Update the OAuth consent screen to include the
spreadsheetsscope - Ensure the scope is approved for production use (if the app is verified)
Contributor guide
First steps
- Read the whole issue, then the project's contributing guide.
- Comment on the issue to say you are picking it up — it saves two people doing the same work.
- Fork the repository and make your change on a branch.
- Open a pull request that references the issue number.
Research direction
Start in workspace-server/src/index.ts around line 84, then review the Google Cloud OAuth consent screen configuration and the re-authorization implications described in the issue. Done means the code requests the full spreadsheets scope, the consent screen includes and approves it for production, and the Sheets write tools can be used.
Written by the indexing model from the issue text.
Assessment
- Tech stack
- google-cloud, typescript
- Domain
- authentication, cloud
- Issue type
- Feature
- Difficulty
- 4/5
- Estimated time
- 3-5 days
- Activity status
- Quiet
- Clarity
- Mostly clear
- Newbie friendliness
- 45/100