#Gemini Cli models not present

1 messages · Page 1 of 1 (latest)

tawny robin
#

I have installed openclaw v2026.5.7 on my linux as well as on windows pc but im unable to find gemini-cli model as it shows in v2026.4.2

tranquil stirrupBOT
#

To help others find answers, you can mark your question as solved via Right click solution message -> Apps -> ✅ Mark Solution

agile mantleBOT
#

This is expected-ish in newer OpenClaw: the Gemini CLI integration was moved toward canonical google/* model refs with the CLI backend stored separately.

So in 2026.5.7 you usually won’t pick a separate-looking google-gemini-cli/... model the same way as older versions. Use the Google model ref, then the Gemini CLI runtime/auth handles execution.

Try this:

openclaw plugins enable google
npm install -g @google/gemini-cli   # if gemini is not already on PATH
openclaw models auth login --provider google-gemini-cli --set-default
openclaw models list --provider google
openclaw models status

Docs say the Gemini CLI path is:

  • Provider/auth login: google-gemini-cli
  • Default model in current docs: google/gemini-3.1-pro-preview
#
  • Runtime: google-gemini-cli
  • Legacy refs like google-gemini-cli/* are compatibility aliases now; new config should use google/* + the CLI runtime.

Docs: https://docs.openclaw.ai/providers/google

If openclaw models list --provider google still shows nothing after the login, paste the output of:

openclaw --version
openclaw models status
openclaw models auth list --provider google-gemini-cli

and we can narrow down whether it’s auth, plugin enablement, or PATH/gemini CLI discovery. 🦞

tawny robin
#
~  openclaw --version
OpenClaw 2026.5.7 (eeef486)
~  openclaw models status

🦞 OpenClaw 2026.5.7 (eeef486) — I've seen your commit messages. We'll work on that together.

Config        : ~\.openclaw\openclaw.json
Agent dir     : ~\.openclaw\agents\main\agent
Default       : google/gemini-3.1-pro-preview
Fallbacks (0) : -
Image model   : -
Image fallbacks (0): -
Aliases (1)   : gemini -> google/gemini-3.1-pro-preview
Configured models (1): google/gemini-3.1-pro-preview

Auth overview
Auth store    : ~\.openclaw\agents\main\agent\auth-profiles.json
Shell env     : off
Providers w/ OAuth/tokens (1): google-gemini-cli (1)
- google effective=env:AIzaSyB1...O4hwIhok | env=AIzaSyB1...O4hwIhok | source=env: GOOGLE_API_KEY
- google-gemini-cli effective=profiles:~\.openclaw\agents\main\agent\auth-profiles.json | profiles=1 (oauth=1, token=0, api_key=0) | google-gemini-cli:siddh.mistry396321@gmail.com=OAuth (siddh.mistry396321@gmail.com)

OAuth/token status
- google-gemini-cli usage: Pro 100% left · Flash 100% left
  - google-gemini-cli:siddh.mistry396321@gmail.com (siddh.mistry396321@gmail.com) expiring expires in 49m
~  openclaw models auth list --provider google-gemini-cli

🦞 OpenClaw 2026.5.7 (eeef486) — Hot reload for config, cold sweat for deploys.

Agent: main
Auth state file: ~\.openclaw\agents\main\agent\auth-state.json
Provider: google-gemini-cli
Profiles:
- google-gemini-cli:siddh.mistry396321@gmail.com (siddh.mistry396321@gmail.com) [google-gemini-cli/oauth; expires 2026-05-12T11:09:42.906Z]
agile mantleBOT
#

Good, this actually shows Gemini CLI auth is present and healthy:

Providers w/ OAuth/tokens (1): google-gemini-cli (1)

The confusing bit is that your configured model is canonical now:

Default: google/gemini-3.1-pro-preview

In 2026.5.x, google-gemini-cli/... is mostly a legacy compatibility ref. If you want that google/gemini-3.1-pro-preview model to run through the local Gemini CLI/OAuth backend instead of the normal Google API key path, add the runtime policy:

openclaw config set agents.defaults.models '{"google/gemini-3.1-pro-preview":{"agentRuntime":{"id":"google-gemini-cli"}}}' --strict-json --merge
openclaw models status

Your status also shows GOOGLE_API_KEY is configured for the normal google provider, so without that runtime policy OpenClaw may just use the direct Gemini API path.

#

If you want to verify live routing after that, run a tiny test message in a fresh session and then check /status or openclaw models status. If it still doesn’t show/use the CLI runtime, try:

openclaw doctor --fix
openclaw gateway restart

Small note: your Gemini CLI OAuth profile says it expires in ~49 minutes. It should refresh, but if calls start failing around then, rerun:

openclaw models auth login --provider google-gemini-cli --set-default
tawny robin
#

still the same

agile mantleBOT
#

If by “same” you mean the picker/list still does not show google-gemini-cli/... as a separate model, that’s expected in 2026.5.7. I checked the current code: the model picker intentionally hides legacy runtime refs like google-gemini-cli/... and shows the canonical google/gemini-... model instead.

The thing to verify is not whether the model name changes, but whether the runtime policy is set.

Run these and paste the output:

openclaw config get agents.defaults.models --json
openclaw config get models.providers.google.agentRuntime --json
openclaw models list --provider google

If you just want to force all google/* agent models through Gemini CLI, use provider-wide runtime config instead:

openclaw config set models.providers.google.agentRuntime '{"id":"google-gemini-cli"}' --strict-json
#
openclaw gateway restart
openclaw models status

After that, the default may still display as google/gemini-3.1-pro-preview — that part is normal. The CLI/OAuth backend is selected by agentRuntime.id: "google-gemini-cli", not by showing a separate google-gemini-cli/... model in the picker.

tawny robin
#

i want like this google-gemini-cli/gemini-2.5-flash

agile mantleBOT
#

Got it. In 2026.5.7, you can still request that route, but OpenClaw may normalize the display away from google-gemini-cli/....

Try the direct legacy ref first:

openclaw models set google-gemini-cli/gemini-2.5-flash
openclaw models status

If it normalizes back to google/..., set the equivalent new-style config explicitly:

openclaw config set agents.defaults.model '{"primary":"google/gemini-2.5-flash","fallbacks":[]}' --strict-json
openclaw config set agents.defaults.models '{"google/gemini-2.5-flash":{"alias":"gemini-cli-flash","agentRuntime":{"id":"google-gemini-cli"}}}' --strict-json --merge
openclaw gateway restart
openclaw models status
#

That means: model = google/gemini-2.5-flash, execution backend = Gemini CLI OAuth.

Important: if your goal is for the UI/status picker to literally show google-gemini-cli/gemini-2.5-flash, that’s the part that changed — 2026.5.x intentionally hides legacy runtime refs in the picker and prefers canonical google/* names. The routing should be controlled by agentRuntime.id: "google-gemini-cli" now.

tawny robin
#
PowerShell 7.6.1
Use 'Show-Help' to display help
Loading personal and system profiles took 1893ms.
~  openclaw config set agents.defaults.model '{"primary":"google/gemini-2.5-flash","fallbacks":[]}' --strict-json

🦞 OpenClaw 2026.5.7 (eeef486) — I'm the assistant your terminal demanded, not the one your sleep schedule requested.

Config overwrite: C:\Users\mistr\.openclaw\openclaw.json (sha256 91a4eb073c95aae5cdd647e2ce1e159d87be5db1d77af0ba6d2a374aee75a4fc -> 795a286f2120b78379cf783bfbd021d3629b175ce678b87d27fae4f2b2f2c59c, backup=C:\Users\mistr\.openclaw\openclaw.json.bak)
Updated agents.defaults.model. Restart the gateway to apply.
~  openclaw config set agents.defaults.models '{"google/gemini-2.5-flash":{"alias":"gemini-cli-flash","agentRuntime":{"id":"google-gemini-cli"}}}' --strict-json --merge

🦞 OpenClaw 2026.5.7 (eeef486) — Powered by open source, sustained by spite and good documentation.

Error: Config validation failed: agents.defaults.models.google/gemini-2.5-flash: Unrecognized key: "agentRuntime"
~  openclaw gateway restart

🦞 OpenClaw 2026.5.7 (eeef486) — I'll do the boring stuff while you dramatically stare at the logs like it's cinema.

Restarted Scheduled Task: OpenClaw Gateway
~  openclaw models status

🦞 OpenClaw 2026.5.7 (eeef486) — You had me at 'openclaw gateway start.'

Config        : ~\.openclaw\openclaw.json
Agent dir     : ~\.openclaw\agents\main\agent
Default       : google/gemini-2.5-flash
Fallbacks (0) : -
Image model   : -
Image fallbacks (0): -
Aliases (0)   : -
Configured models (1): google-gemini-cli/gemini-2.5-flash

Auth overview
Auth store    : ~\.openclaw\agents\main\agent\auth-profiles.json
Shell env     : off
Providers w/ OAuth/tokens (1): google-gemini-cli (1)
- google effective=env:AIzaSyB1...O4hwIhok | env=AIzaSyB1...O4hwIhok | source=env: GOOGLE_API_KEY
- google-gemini-cli effective=profiles:~\.openclaw\agents\main\agent\auth-profiles.json | profiles=1 (oauth=1, token=0, api_key=0) | google-gemini-cli:siddh.mistry396321@gmail.com=OAuth (siddh.mistry396321@gmail.com)

OAuth/token status
- google-gemini-cli usage: Pro 100% left · Flash 100% left
  - google-gemini-cli:siddh.mistry396321@gmail.com (siddh.mistry396321@gmail.com) expiring expires in 52m
agile mantleBOT
#

Nice — you’re basically there now.

This line is the important one:

Configured models (1): google-gemini-cli/gemini-2.5-flash

So OpenClaw has the Gemini CLI model configured. The Default: google/gemini-2.5-flash display is the newer normalization layer showing the canonical Google model name, while the configured entry still preserves the Gemini CLI route.

The command I gave with agentRuntime was wrong for your exact 2026.5.7 schema — sorry, claws slipped there. Your version rejects agents.defaults.models.*.agentRuntime, so don’t use that path on 2026.5.7.

To make sure it’s selected, run:

openclaw models set google-gemini-cli/gemini-2.5-flash
#
openclaw models status

If status still says:

Configured models (1): google-gemini-cli/gemini-2.5-flash
Providers w/ OAuth/tokens: google-gemini-cli

then you’re set. If actual replies still use the API-key path instead of CLI OAuth, temporarily remove/disable GOOGLE_API_KEY from the gateway environment and restart — right now you have both google API key auth and google-gemini-cli OAuth available, which can make routing look ambiguous.

tawny robin
#

Error: spawn gemini ENOENT while chatting

agile mantleBOT
#

Yep, that error is clear now: spawn gemini ENOENT means the gateway process cannot find the gemini executable on PATH.

On Windows this is common because the OpenClaw Gateway runs as a Scheduled Task and may not inherit your PowerShell PATH.

Do this in PowerShell:

npm install -g @google/gemini-cli
Get-Command gemini

That should print a path, usually something like:

C:\Users\mistr\AppData\Roaming
pm\gemini.cmd
#

Then tell OpenClaw to use that absolute path:

openclaw config set agents.defaults.cliBackends.google-gemini-cli.command '"C:\Users\mistr\AppData\Roaming
pm\gemini.cmd"' --strict-json
openclaw gateway restart

If Get-Command gemini prints a different path, use that exact path instead.

On Linux the equivalent is:

which gemini
openclaw config set agents.defaults.cliBackends.google-gemini-cli.command '"/full/path/from/which/gemini"' --strict-json
openclaw gateway restart