Skip to content

[Bug]: Gemini can't resolve on embedded runtime #91270

Description

@resYuto

Bug type

Regression (worked before, now fails)

Beta release blocker

No

Summary

Embedded Runtime can't resolve Google Gemini during send message.

Steps to reproduce

  1. Run OpenClaw 2026.6.1 with attached configuration.
  2. Set model to google/gemini-2.5-flash
  3. Send message.

Expected behavior

Embedded Runtime resolve Gemini API correctly. (can talk with agent)

Actual behavior

Embedded agent failed before reply: All models failed (2): google/gemini-2.5-flash: Unknown model: google/gemini-2.5-flash. Found agents.defaults.models["google/gemini-2.5-flash"], but no matching models.providers["google"].models[] entry. Add { "id": "gemini-2.5-flash" } to models.providers["google"].models[] to register this provider model. (model_not_found) | google/gemini-flash-latest: Unknown model: google/gemini-flash-latest. Found agents.defaults.models["google/gemini-flash-latest"], but no matching models.providers["google"].models[] entry. Add { "id": "gemini-flash-latest" } to models.providers["google"].models[] to register this provider model. (model_not_found) | Unknown model: google/gemini-flash-latest. Found agents.defaults.models["google/gemini-flash-latest"], but no matching models.providers["google"].models[] entry. Add { "id": "gemini-flash-latest" } to models.providers["google"].models[] to register this provider model.

OpenClaw version

2026.6.1

Operating system

Ubuntu 24.04

Install method

npm global

Model

gemini-2.5-flash

Provider / routing chain

openclaw -> Google AI Studio

Additional provider/model setup details

Moonshot AI Plugin enabled, Config edited by plugin.
openclaw.json: models.mode was "merge"

Logs, screenshots, and evidence

OpenClaw status --all

Overview
┌────────────────────┬────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────┐
│ Item               │ Value                                                                                                                          │
├────────────────────┼────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────┤
│ Version            │ 2026.6.1                                                                                                                       │
│ OS                 │ linux 6.8.0-124-generic (x64)                                                                                                  │
│ Node               │ 24.16.0                                                                                                                        │
│ Config             │ ~/.openclaw/openclaw.json                                                                                                      │
│ Dashboard          │ http://127.0.0.1:18789/                                                                                                        │
│ Tailscale exposure │ serve · unknown · microserver.taildc77f.ts.net · https://openclaw.taildc77f.ts.net                                             │
│ Channel            │ stable (default)                                                                                                               │
│ Update             │ npm · up to date · npm latest 2026.6.1 · deps ok                                                                               │
│ Gateway            │ local · ws://127.0.0.1:18789 (local loopback) · reachable 120ms · auth token · microserver (192.168.11.4) app 2026.6.1 linux   │
│                    │ 6.8.0-124-generic                                                                                                              │
│ Security           │ Run: openclaw security audit --deep                                                                                            │
│ Gateway self       │ unknown                                                                                                                        │
│ Gateway service    │ systemd user installed · enabled · running (pid 7933, state active)                                                            │
│ Node service       │ systemd user not installed                                                                                                     │
│ Agents             │ 6 total · 0 bootstrapping · 1 active · 50 sessions                                                                             │
│ Secrets            │ none                                                                                                                           │
└────────────────────┴────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────┘

Channels
┌──────────┬─────────┬────────┬───────────────────────────────────────────────────────────────────────────────────────────────────────────────────────┐
│ Channel  │ Enabled │ State  │ Detail                                                                                                                │
├──────────┼─────────┼────────┼───────────────────────────────────────────────────────────────────────────────────────────────────────────────────────┤
│ Discord  │ ON      │ OK     │ token config×3 (sha256:f5bc0fa0 · len 72) · accounts 3/3                                                              │
└──────────┴─────────┴────────┴───────────────────────────────────────────────────────────────────────────────────────────────────────────────────────┘

Discord accounts
┌──────────┬──────────┬───────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────┐
│ Account  │ Status   │ Notes                                                                                                                         │
├──────────┼──────────┼───────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────┤
│ akito    │ OK       │ token:config · credential available in gateway runtime                                                                        │
│ blueonyx │ OK       │ token:config · credential available in gateway runtime                                                                        │
│ default  │ OK       │ token:config · credential available in gateway runtime                                                                        │
└──────────┴──────────┴───────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────┘

Agents
┌────────────────┬────────────────┬──────────┬──────────┬─────────────────────────────────────────────────────────────────────────────────────────────┐
│ Agent          │ Bootstrap file │ Sessions │ Active   │ Store                                                                                       │
├────────────────┼────────────────┼──────────┼──────────┼─────────────────────────────────────────────────────────────────────────────────────────────┤
│ main           │ ABSENT         │       10 │ 24m ago  │ ~/.openclaw/agents/main/sessions/sessions.json                                              │
│ akito          │ ABSENT         │        6 │ 48m ago  │ ~/.openclaw/agents/akito/sessions/sessions.json                                             │
│ blueonyx       │ ABSENT         │        6 │ 6m ago   │ ~/.openclaw/agents/blueonyx/sessions/sessions.json                                          │
│ dreamgazer-ops │ ABSENT         │        4 │ 6d ago   │ ~/.openclaw/agents/dreamgazer-ops/sessions/sessions.json                                    │
│ public         │ ABSENT         │        2 │ 5d ago   │ ~/.openclaw/agents/public/sessions/sessions.json                                            │
│ web-researcher │ ABSENT         │       22 │ 8h ago   │ ~/.openclaw/agents/web-researcher/sessions/sessions.json                                    │
└────────────────┴────────────────┴──────────┴──────────┴─────────────────────────────────────────────────────────────────────────────────────────────┘

Diagnosis (read-only)

Gateway connection details:
  Gateway target: ws://127.0.0.1:18789
  Source: local loopback
  Config: /home/openclaw/.openclaw/openclaw.json
  Bind: loopback

✓ Config: /home/openclaw/.openclaw/openclaw.json
✓ Secret diagnostics (0)
✓ Restart sentinel: none
✓ Port 18789
  Detected dual-stack loopback listeners (127.0.0.1 + ::1) for one gateway process.
! Tailscale exposure: serve · daemon unknown · microserver.taildc77f.ts.net
  https: https://openclaw.taildc77f.ts.net
✓ Skills: 23 eligible · 0 missing · /home/openclaw/openclaw/workspaces/main
✓ Plugin compatibility (none)
✓ Agent activity: 2 active in 30m · 50 sessions
✓ Inbound delivery telemetry: received 2 · dispatch 2/2 · turns 2 · processed 2
  latest delivery event: 6m ago

Gateway restart attempts (tail): /home/openclaw/.openclaw/logs/gateway-restart.log
  [2026-05-20T16:06:48Z] openclaw restart attempt source=update target=openclaw-gateway.service
  [2026-05-20T16:06:48Z] openclaw restart done source=update
  [2026-05-21T02:12:41Z] openclaw restart attempt source=update target=openclaw-gateway.service
  [2026-05-21T02:12:45Z] openclaw restart done source=update
  [2026-05-22T14:41:27Z] openclaw restart attempt source=update target=openclaw-gateway.service
  [2026-05-22T14:41:31Z] openclaw restart done source=update
  [2026-05-27T12:06:02Z] openclaw restart attempt source=update target=openclaw-gateway.service
  [2026-05-27T12:06:06Z] openclaw restart done source=update
  [2026-05-29T16:09:34Z] openclaw restart attempt source=update target=openclaw-gateway.service
  [2026-05-29T16:09:36Z] openclaw restart done source=update
✓ Channel issues (none)

---

$ openclaw config get agents.defaults.models --json
{
  "google/gemini-3.1-pro-preview": {
    "alias": "gemini"
  },
  "google/gemini-flash-latest": {},
  "google/gemini-2.5-flash": {},
  "google/gemini-flash-lite-latest": {},
  "moonshot/kimi-k2.6": {
    "alias": "Kimi"
  },
  "openai/gpt-5.5": {},
  "openai/gpt-5.4": {
    "alias": "gpt"
  },
  "openai/got-5.4-mini": {},
  "openrouter/x-ai/grok-4.3": {
    "alias": "Grok"
  },
  "opencode-go/kimi-k2.6": {
    "alias": "OCGO-Kimi"
  },
  "opencode-go/deepseek-v4-flash": {},
  "openrouter/anthropic/claude-sonnet-4.6": {
    "alias": "OR-Sonnet"
  }
}

---

$ openclaw config get models.providers.google --json
{
  "api": "google-generative-ai",
  "models": [
    {
      "id": "gemini-2.5-flash",
      "name": "Gemini 2.5 flash",
      "reasoning": false,
      "input": [
        "text"
      ],
      "cost": {
        "input": 0,
        "output": 0,
        "cacheRead": 0,
        "cacheWrite": 0
      },
      "contextWindow": 200000,
      "maxTokens": 8192,
      "api": "google-generative-ai"
    },
    {
      "id": "gemini-flash-latest",
      "name": "Gemini Flash Latest",
      "reasoning": false,
      "input": [
        "text"
      ],
      "cost": {
        "input": 0,
        "output": 0,
        "cacheRead": 0,
        "cacheWrite": 0
      },
      "contextWindow": 200000,
      "maxTokens": 8192,
      "api": "google-generative-ai"
    }
  ],
  "baseUrl": ""
}

Impact and severity

No response

Additional information

Workaround: adding models.providers.google.models[] entries with id + name fixed it.
Such as:

"google": {
  "api": "google-generative-ai",
  "models": [
    {
      "id": "gemini-2.5-flash",
      "name": "Gemini 2.5 flash"
    },
    {
      "id": "gemini-flash-latest",
      "name": "Gemini Flash Latest"
    }
  ]
,

Metadata

Metadata

Assignees

No one assigned

    Labels

    P2Normal backlog priority with limited blast radius.bugSomething isn't workingclawsweeper:needs-live-reproClawSweeper needs live local, crabbox, or manual validation to confirm this issue.impact:auth-providerAuth, provider routing, model choice, or SecretRef resolution may break.issue-rating: 🐚 platinum hermitGood issue quality with a plausible reproduction path needing some confirmation.regressionBehavior that previously worked and now fails

    Type

    No type

    Fields

    Priority

    None yet

    Projects

    No projects

    Milestone

    No milestone

    Relationships

    None yet

    Development

    No branches or pull requests

    Issue actions