Skip to content

[Bug]: Ollama provider fails after upgrade in Orb VM with “No API key found” error despite local host setup #84875

@NirvanaCh7

Description

@NirvanaCh7

Bug type

Regression (worked before, now fails)

Beta release blocker

No

Summary

Upgraded from version 2026.3.31 (maybe) to 2026.5.19, OpenClaw cannot connect to local Ollama and reports: No API key found for provider "ollama"

Steps to reproduce

  1. Run Ollama on the host/root system.
  2. Run OpenClaw inside the Orb virtual machine. Select a local Ollama model without environment values.
  3. Upgrade OpenClaw from a version before 2026.3.31 to 2026.5.19.
  4. Select a local Ollama model and send a message.
  5. Try running auth login again.

Expected behavior

  • OpenClaw inside the Orb VM should connect to the host Ollama instance normally.
  • Local Ollama models should work without requiring a real API key or auth profile.
  • Behavior should remain the same as before the upgrade.

Actual behavior

  • OpenClaw reports: No API key found for provider "ollama"
  • No Ollama auth-profiles are available.
  • Running auth login again still cannot connect to Ollama.
  • Local oMLX models work normally from the same OpenClaw instance.
  • Everything worked correctly before upgrading.

OpenClaw version

2026.5.19

Operating system

macOS 15.7 host, Ubuntu 24.04 orb virtual

Install method

pnpm global from source

Model

qwen3.5:27b

Provider / routing chain

openclaw -> ollama -> qwen3.5:27b

Additional provider/model setup details

No response

Logs, screenshots, and evidence

model config


      "ollama": {
        "apiKey": "ollama-local",
        "baseUrl": "http://host.orb.internal:11434",
        "api": "ollama",
        "models": [
          {
            "id": "kimi-k2.5:cloud",
            "name": "kimi-k2.5:cloud",
            "cost": {
              "input": 0,
              "output": 0,
              "cacheRead": 0,
              "cacheWrite": 0
            },
            "contextWindow": 128000,
            "maxTokens": 8192,
            "params": {
              "num_ctx": 128000
            },
            "api": "ollama",
            "reasoning": false,
            "input": [
              "text"
            ]
          },
          {
            "id": "minimax-m2.5:cloud",
            "name": "minimax-m2.5:cloud",
            "cost": {
              "input": 0,
              "output": 0,
              "cacheRead": 0,
              "cacheWrite": 0
            },
            "contextWindow": 128000,
            "api": "ollama",
            "input": [
              "text"
            ],
            "reasoning": false,
            "maxTokens": 8192,
            "params": {
              "num_ctx": 128000
            }
          },
          {
            "id": "glm-5:cloud",
            "name": "glm-5:cloud",
            "cost": {
              "input": 0,
              "output": 0,
              "cacheWrite": 0,
              "cacheRead": 0
            },
            "contextWindow": 128000,
            "reasoning": false,
            "api": "ollama",
            "params": {
              "num_ctx": 128000
            },
            "input": [
              "text"
            ],
            "maxTokens": 8192
          },
          {
            "id": "qwen3.5:27b",
            "name": "qwen3.5:27b",
            "cost": {
              "input": 0,
              "output": 0,
              "cacheWrite": 0,
              "cacheRead": 0
            },
            "contextWindow": 262144,
            "params": {
              "num_ctx": 262144
            },
            "maxTokens": 8192,
            "reasoning": false,
            "api": "ollama",
            "input": [
              "text"
            ]
          },
          {
            "id": "glm-4.7-flash:latest",
            "name": "glm-4.7-flash:latest",
            "cost": {
              "input": 0,
              "output": 0,
              "cacheWrite": 0,
              "cacheRead": 0
            },
            "contextWindow": 202752,
            "params": {
              "num_ctx": 202752
            },
            "maxTokens": 8192,
            "input": [
              "text"
            ],
            "reasoning": false
          }
        ]
      },
      "omlx-local-mac": {
        "baseUrl": "http://host.orb.internal:8000/v1",
        "apiKey": "1234",
        "api": "openai-completions",
        "models": [
          {
            "id": "Qwen3.5-27B-4bit",
            "name": "qwen3.5:27B",
            "input": [
              "text"
            ]
          }
        ]
      }

openclaw logs

06:08:29+00:00 error Embedded agent failed before reply: No API key found for provider "ollama". Auth store: /home/nirvanach7/.openclaw/agents/main/agent/auth-profiles.json (agentDir: /home/nirvanach7/.openclaw/agents/main/agent). Configure auth for this agent (openclaw agents add <id>) or copy only portable static auth profiles from the main agentDir. | No API key found for provider "ollama". Auth store: /home/nirvanach7/.openclaw/agents/main/agent/auth-profiles.json (agentDir: /home/nirvanach7/.openclaw/agents/main/agent). Configure auth for this agent (openclaw agents add <id>) or copy only portable static auth profiles from the main agentDir.

auth login


nirvanach7@openclaw:~/.openclaw$  openclaw models auth login --provider ollama

🦞 OpenClaw 2026.5.19 (a185ca2) — Your second brain, except this one actually remembers where you left things.
│
◇  Ollama mode
│  Cloud + Local
│
◇  Ollama base URL
│  http://host.orb.internal:11434
│
◇  Ollama ─────────────────────────────────────────────────────────╮
│                                                                  │
│  Ollama could not be reached at http://host.orb.internal:11434.  │
│  Download it at https://ollama.com/download                      │
│                                                                  │
│  Start Ollama and re-run setup.                                  │
│                                                                  │
├──────────────────────────────────────────────────────────────────╯
WizardCancelledError: Ollama not reachable
nirvanach7@openclaw:~/.openclaw$ curl http://host.orb.internal:11434
Ollama is running
nirvanach7@openclaw:~/.openclaw$ curl http://host.orb.internal:11434/api/generate -d '{
  "model": "qwen3.5:27b",
  "prompt": "test"
}'
{"model":"qwen3.5:27b","created_at":"2026-05-21T07:46:41.276034Z","response":"","thinking":"Okay","done":false}
{"model":"qwen3.5:27b","created_at":"2026-05-21T07:46:41.423831Z","response":"","thinking":",","done":false}
{"model":"qwen3.5:27b","created_at":"2026-05-21T07:46:41.563806Z","response":"","thinking":" the","done":false}
{"model":"qwen3.5:27b","created_at":"2026-05-21T07:46:41.70267Z","response":"","thinking":" user","done":false}
{"model":"qwen3.5:27b","created_at":"2026-05-21T07:46:41.842449Z","response":"","thinking":" just","done":false}
{"model":"qwen3.5:27b","created_at":"2026-05-21T07:46:41.983375Z","response":"","thinking":" sent","done":false}
^C

Impact and severity

Affected:Users running OpenClaw in an Orb VM connecting to Ollama running on the host/root machine.
Severity:Blocks use of local Ollama models (cannot send messages).
Frequency:Always occurs after upgrading.
Consequence:Ollama models become unusable in OpenClaw (shows “No API key found for provider "ollama"”), while other providers like oMLX still work.

Additional information

Regression observed: Ollama worked correctly before the upgrade.
Last known good version: before 2026.3.31 (exact version uncertain)
First known bad version: 2026.3.31–2026.5.19 range after upgrade
Ollama runs on host/root system, while OpenClaw runs inside an Orb virtual machine.
oMLX provider continues to work normally in the same environment.

Metadata

Metadata

Assignees

No one assigned

    Labels

    P2Normal backlog priority with limited blast radius.bugSomething isn't workingclawsweeper:source-reproClawSweeper found a high-confidence source-level issue reproduction.impact:auth-providerAuth, provider routing, model choice, or SecretRef resolution may break.issue-rating: 🦞 diamond lobsterVery strong issue quality with high-confidence source-level or clear reproduction.regressionBehavior that previously worked and now fails

    Type

    No type
    No fields configured for issues without a type.

    Projects

    No projects

    Milestone

    No milestone

    Relationships

    None yet

    Development

    No branches or pull requests

    Issue actions