openclaw/extensions
hugh.li 9dd449045a
fix(google-gemini-cli-auth): fix Gemini CLI OAuth failures on Windows (#40729)
* fix(google-gemini-cli-auth): fix Gemini CLI OAuth failures on Windows

Two issues prevented Gemini CLI OAuth from working on Windows:

1. resolveGeminiCliDirs: the first candidate `dirname(dirname(resolvedPath))`
   can resolve to an unrelated ancestor directory (e.g. the nvm root
   `C:\Users\<user>\AppData\Local\nvm`) when gemini is installed via nvm.
   The subsequent `findFile` recursive search (depth 10) then picks up an
   `oauth2.js` from a completely different package (e.g.
   `discord-api-types/payloads/v10/oauth2.js`), which naturally does not
   contain Google OAuth credentials, causing silent extraction failure.

   Fix: validate candidate directories before including them — only keep
   candidates that contain a `package.json` or a `node_modules/@google/
   gemini-cli-core` subdirectory.

2. resolvePlatform: returns "WINDOWS" on win32, but Google's loadCodeAssist
   API rejects it as an invalid Platform enum value (400 INVALID_ARGUMENT),
   just like it rejects "LINUX".

   Fix: use "PLATFORM_UNSPECIFIED" for all non-macOS platforms.

* test(google-gemini-cli-auth): keep oauth regressions portable

* chore(changelog): add google gemini cli auth fix note

---------

Co-authored-by: Vincent Koc <vincentkoc@ieee.org>
2026-04-04 23:22:36 +09:00
..
acpx style(providers): normalize import and wrap formatting 2026-04-04 12:19:08 +01:00
amazon-bedrock fix(ci): restore provider runtime seams 2026-04-04 23:19:23 +09:00
anthropic refactor(providers): flatten passthrough provider hooks 2026-04-04 23:16:53 +09:00
anthropic-vertex refactor(providers): add family replay and tool hooks 2026-04-04 19:33:31 +09:00
bluebubbles
brave
browser refactor(browser): share lifecycle cleanup helpers 2026-04-04 12:17:46 +01:00
byteplus style(providers): normalize import and wrap formatting 2026-04-04 12:19:08 +01:00
chutes
cloudflare-ai-gateway
copilot-proxy
deepgram
deepseek fix(ci): await async provider test registration 2026-04-04 09:28:43 +01:00
device-pair refactor: split device-pair command helpers 2026-04-04 19:55:04 +09:00
diagnostics-otel
diffs chore(deps): update workspace dependencies 2026-04-04 22:40:08 +09:00
discord chore(deps): update workspace dependencies 2026-04-04 22:40:08 +09:00
duckduckgo
elevenlabs
exa
fal
feishu chore(deps): update workspace dependencies 2026-04-04 22:40:08 +09:00
firecrawl
github-copilot refactor(providers): drop trivial stream lambdas 2026-04-04 21:14:00 +09:00
google fix(google-gemini-cli-auth): fix Gemini CLI OAuth failures on Windows (#40729) 2026-04-04 23:22:36 +09:00
googlechat refactor(plugin-sdk): split runtime helper seams 2026-04-04 08:53:19 +01:00
groq
huggingface
image-generation-core
imessage fix(ci): align stale provider and channel tests 2026-04-04 09:35:14 +01:00
irc
kilocode test(providers): cover stream family plugin hooks 2026-04-04 23:20:28 +09:00
kimi-coding refactor(providers): drop trivial stream lambdas 2026-04-04 21:14:00 +09:00
line
litellm
llm-task
lobster
matrix refactor(plugin-sdk): split runtime helper seams 2026-04-04 08:53:19 +01:00
mattermost fix(mattermost): add groups property to config schema (#57618) (#58271) 2026-04-04 16:37:53 +03:00
media-understanding-core
memory-core fix(ci): repair plugin boundary and bootstrap regressions 2026-04-04 15:09:48 +01:00
memory-lancedb chore(deps): update workspace dependencies 2026-04-04 22:40:08 +09:00
microsoft
microsoft-foundry
minimax fix: resolve MiniMax portal usage auth 2026-04-04 12:42:30 +01:00
mistral
modelstudio refactor: share native streaming compat helpers 2026-04-04 12:18:45 +01:00
moonshot test(providers): cover stream family plugin hooks 2026-04-04 23:20:28 +09:00
msteams fix(ci): restore contract-safe core imports 2026-04-04 15:09:48 +01:00
nextcloud-talk refactor(plugin-sdk): split runtime helper seams 2026-04-04 08:53:19 +01:00
nostr
nvidia
ollama refactor(providers): drop trivial stream lambdas 2026-04-04 21:14:00 +09:00
open-prose
openai refactor(providers): flatten passthrough provider hooks 2026-04-04 23:16:53 +09:00
opencode test(providers): cover opencode replay family hooks 2026-04-04 23:21:41 +09:00
opencode-go test(providers): cover opencode replay family hooks 2026-04-04 23:21:41 +09:00
openrouter fix(ci): sync openrouter stream hook seams 2026-04-04 15:09:49 +01:00
openshell
perplexity
phone-control
qianfan
qqbot
searxng
sglang
shared
signal fix(ci): align browser and signal test expectations 2026-04-04 09:38:53 +01:00
slack fix(slack): pre-set shuttingDown before app.stop() to prevent orphaned ping intervals (#56646) 2026-04-04 20:49:23 +08:00
speech-core
stepfun
synology-chat fix: harden synology chat TLS helper defaults 2026-04-04 20:21:13 +09:00
synthetic
talk-voice
tavily
telegram fix(ci): repair plugin boundary and bootstrap regressions 2026-04-04 15:09:48 +01:00
thread-ownership
tlon chore(deps): update workspace dependencies 2026-04-04 22:40:08 +09:00
together
twitch chore(deps): update workspace dependencies 2026-04-04 22:40:08 +09:00
venice test(providers): cover xai tool compat seam 2026-04-04 23:18:31 +09:00
vercel-ai-gateway
vllm
voice-call
volcengine style(providers): normalize import and wrap formatting 2026-04-04 12:19:08 +01:00
whatsapp
xai refactor(providers): flatten passthrough provider hooks 2026-04-04 23:16:53 +09:00
xiaomi
zai refactor(providers): add stream family hooks 2026-04-04 20:19:53 +09:00
zalo chore(deps): update workspace dependencies 2026-04-04 22:40:08 +09:00
zalouser
.npmignore
AGENTS.md
CLAUDE.md