#Failed to discover Ollama models

1 messages ยท Page 1 of 1 (latest)

shell linden
#

Error: openclaw | 2026-02-24T07:09:27.992Z Failed to discover Ollama models: TimeoutError: The operation was aborted due to timeout

This is my config:

 "models": {
    "mode": "merge",
    "providers": {
      "ollama": {
        "baseUrl": "http://172.17.0.1:11434/v1",
        "apiKey": "ollama-local",
        "models": [
          {
            "id": "minimax-m2.5:cloud",
            "name": "minimax-m2.5:cloud",
            "reasoning": false,
            "input": [
              "text"
            ],
            "cost": {
              "input": 0,
              "output": 0,
              "cacheRead": 0,
              "cacheWrite": 0
            },
            "contextWindow": 200000,
            "maxTokens": 8192
          }
        ]
      }
    }
  },
  "agents": {
    "defaults": {
      "model": {
        "primary": "ollama/minimax-m2.5:cloud"
      },
      "models": {
        "ollama/minimax-m2.5:cloud": {
          "alias": "minimax-m2.5"
        }
      },
      "workspace": "/home/node/.openclaw/workspace",
      "memorySearch": {
        "enabled": true,
        "sources": [
          "memory",
          "sessions"
        ],
        "experimental": {
          "sessionMemory": true
        },
        "provider": "local"
      },
      "compaction": {
        "mode": "safeguard"
      },
      "maxConcurrent": 4,
      "subagents": {
        "maxConcurrent": 8
      }
    }
  },
unreal elmBOT
#

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

humble garden
#

I did a completly uninstall with
openclaw uninstall

make a ollama launch openclaw

later started the script again
curl -fsSL https://openclaw.ai/install.sh | bash

i skipped the part when it said the openai etc.

and later on the models ollama appears and i can select the model
continue with the wizard and after that
going to dashboard again and check my agent is in ollama

Worked for me more info dm or discord no problem

shell linden
#

@dusty mist

dusty mistBOT
#

That log is OpenClaw trying to auto-discover Ollama models by calling:

  • GET <ollamaBase>/api/tags (5s timeout)
  • where <ollamaBase> is your baseUrl with /v1 stripped

So with your config itโ€™s effectively probing:

  • http://172.17.0.1:11434/api/tags

โ€ฆand that request is timing out.

1) First check: can the OpenClaw box/container reach Ollama at all?

Run this from the same place the Gateway runs (inside the OpenClaw container if youโ€™re using Docker):

curl -v --max-time 2 http://172.17.0.1:11434/api/tags
#
  • If this times out/refuses: itโ€™s networking/bind-address, not an OpenClaw โ€œmodel configโ€ issue.

Common Docker-on-Linux gotcha: Ollama on the host often binds to 127.0.0.1:11434 by default, which is not reachable from a container via 172.17.0.1. You need Ollama listening on a non-loopback interface, e.g. 0.0.0.0:11434 (how you do that depends on how you start Ollama).

2) Your baseUrl + missing api is also a problem

You have:

baseUrl: "http://172.17.0.1:11434/v1"

โ€ฆbut you didnโ€™t set api.

  • If you want native Ollama API (recommended for streaming + tool calling), use:
    • baseUrl: "http://172.17.0.1:11434" (no /v1)
    • api: "ollama" (or omit; ollama is what OpenClaw uses for the implicit provider)
#
  • If you truly want the OpenAI-compatible endpoint (/v1), set:
    • api: "openai-completions" and keep the /v1 baseUrl

Docs: https://docs.openclaw.ai/providers/ollama (see โ€œLegacy OpenAI-Compatible Modeโ€).

3) Two things to paste here so we can be precise

  1. openclaw --version
  2. Output of (from the gateway runtime environment):
curl -v --max-time 2 http://172.17.0.1:11434/api/tags
curl -v --max-time 2 http://172.17.0.1:11434/v1/models

Also: are you running OpenClaw in Docker and Ollama on the host, or is Ollama in another container? That determines the โ€œrightโ€ hostname/IP to use.

shell linden
#
โฏ curl -v --max-time 2 http://172.17.0.1:11434/api/tags
*   Trying 172.17.0.1:11434...
* connect to 172.17.0.1 port 11434 failed: Connection refused
* Failed to connect to 172.17.0.1 port 11434 after 0 ms: Couldn't connect to server
* Closing connection 0
curl: (7) Failed to connect to 172.17.0.1 port 11434 after 0 ms: Couldn't connect to server
โฏ cd /opt/docker-compose/ollama
โฏ cat docker-compose.yml
services:
  ollama:
    container_name: ollama
    image: ollama/ollama:latest
    restart: unless-stopped
    #pull_policy: always
    #tty: true
    volumes:
      - ./:/root/.ollama
    environment:
      - OLLAMA_HOST=0.0.0.0
    expose:
      - "11434"
    ports:
      - "11434:11434"
    networks:
      - intranet

networks:
  intranet:
    external: true
dusty mistBOT
#

Your curl result explains the OpenClaw warning perfectly: nothing is listening on 172.17.0.1:11434, so OpenClawโ€™s /api/tags probe canโ€™t work.

There are two separate issues here:

1) 172.17.0.1 is the wrong address for this setup

172.17.0.1 is the gateway IP of Dockerโ€™s default bridge network. But your Ollama container is on a custom external network (intranet). So depending on where OpenClaw is running, 172.17.0.1 may be meaningless.

Use one of these instead:

If OpenClaw is running in another container on the same intranet network

Use Docker DNS (service/container name):

  • http://ollama:11434 (native Ollama API), or
  • http://ollama:11434/v1 (OpenAI-compatible API)

โ€ฆand make sure the OpenClaw container also joins intranet.

#

If OpenClaw is running on the host (not in Docker)

Use:

  • http://127.0.0.1:11434 (or http://localhost:11434)

(Once Ollama is actually reachable on the host; see next section.)


2) Your Ollama container likely isnโ€™t bound correctly (port mapping looks right, but app may be listening on 127.0.0.1 inside the container)

In Docker, ports: "11434:11434" only works if the process inside the container listens on 0.0.0.0:11434 (not just 127.0.0.1:11434).

In your compose you have:

environment:
#
  - OLLAMA_HOST=0.0.0.0

Ollama typically expects host and port. Iโ€™d change it to:

environment:
  - OLLAMA_HOST=0.0.0.0:11434

Then restart:

docker compose up -d
#

And test from the host:

curl -v --max-time 2 http://127.0.0.1:11434/api/tags

If that works, OpenClaw will stop timing out as soon as you point baseUrl at the reachable address.


3) Minor config correctness: add api (because youโ€™re using /v1)

Since your baseUrl ends with /v1, youโ€™re telling OpenClaw โ€œOpenAI-compatible endpointโ€, so set:

models: {
  providers: {
#
    ollama: {
      baseUrl: "http://ollama:11434/v1",
      api: "openai-completions",
      apiKey: "ollama-local",
      models: [ ... ]
    }
  }
}

(or switch to native Ollama API by using baseUrl: "http://ollama:11434" + api: "ollama")

Docs reference: https://docs.openclaw.ai/providers/ollama (see โ€œLegacy OpenAI-Compatible Modeโ€).


#

If you tell me where OpenClaw itself is running (host vs docker, and if docker which network), I can give you the exact baseUrl that will work in your case.

shell linden
#

Now i get this: openclaw | 2026-02-25T19:42:10.013Z [ws] โ‡„ res โœ“ node.list 93ms conn=103c3410โ€ฆd161 id=2b645943โ€ฆ2713
openclaw | 2026-02-25T19:42:10.415Z [openclaw] Unhandled promise rejection: Error: No API provider registered for api: undefined
openclaw | at resolveApiProvider (file:///app/node_modules/.pnpm/@mariozechner+pi-ai@0.52.9_ws@8.19.0_zod@4.3.6/node_modules/@mariozechner/pi-ai/src/stream.ts:21:9)
openclaw | at streamSimple (file:///app/node_modules/.pnpm/@mariozechner+pi-ai@0.52.9_ws@8.19.0_zod@4.3.6/node_modules/@mariozechner/pi-ai/src/stream.ts:49:19)
openclaw | at streamAssistantResponse (file:///app/node_modules/.pnpm/@mariozechner+pi-agent-core@0.52.9_ws@8.19.0_zod@4.3.6/node_modules/@mariozechner/pi-agent-core/src/agent-loop.ts:233:25)
openclaw | at runLoop (file:///app/node_modules/.pnpm/@mariozechner+pi-agent-core@0.52.9_ws@8.19.0_zod@4.3.6/node_modules/@mariozechner/pi-agent-core/src/agent-loop.ts:141:20)
openclaw | at file:///app/node_modules/.pnpm/@mariozechner+pi-agent-core@0.52.9_ws@8.19.0_zod@4.3.6/node_modules/@mariozechner/pi-agent-core/src/agent-loop.ts:51:3

dusty mistBOT
#

That new crash is a different issue and itโ€™s very direct:

No API provider registered for api: undefined

It means your provider entry has no api set, so pi-ai doesnโ€™t know which protocol adapter to use (ollama native vs openai-compatible vs anthropic, etc.).

Fix: add api to models.providers.ollama

Pick one of these:

Option A (recommended): use Ollama native API

Use native Ollama endpoints (/api/chat, /api/tags), best chance of streaming + tool calling working.

models: {
  providers: {
    ollama: {
#
      baseUrl: "http://ollama:11434",   // or http://<host>:11434
      api: "ollama",
      apiKey: "ollama-local",
      models: [
        { id: "โ€ฆ", name: "โ€ฆ", input: ["text"], reasoning: false, cost: {input:0,output:0,cacheRead:0,cacheWrite:0}, contextWindow: 8192, maxTokens: 8192 }
      ]
    }
  }
}

Option B: keep /v1 (OpenAI-compatible)

If you really want .../v1, you must declare it:

#
models: {
  providers: {
    ollama: {
      baseUrl: "http://ollama:11434/v1",
      api: "openai-completions",
      apiKey: "ollama-local",
      models: [ ... ]
    }
  }
}

Docs: https://docs.openclaw.ai/providers/ollama (see โ€œLegacy OpenAI-Compatible Modeโ€).


#

Also: your model id looks suspicious for Ollama

minimax-m2.5:cloud does not look like an actual Ollama model name.

On the machine running Ollama, ollama list should show something like llama3.3, qwen2.5-coder:32b, etc. Whatever shows there is what you should put as the model id.

If you actually intended to use MiniMax cloud, that should be the minimax provider, not ollama.


If you paste:

  1. openclaw --version
  2. your updated models.providers.ollama block (with api)
    โ€ฆand confirm whether OpenClaw is in Docker on the same intranet network, I can point you at the exact baseUrl to use (ollama:11434 vs host IP).
shell linden
#

openclaw | 2026-02-25T19:58:32.804Z [ws] webchat disconnected code=1012 reason=service restart conn=fe0b8997-023b-4b39-b8f8-9ad47a9c53c1
openclaw | Invalid config at /home/node/.openclaw/openclaw.json:\n- models.providers.ollama.api: Invalid input
openclaw | โ”‚
openclaw | โ—‡ Config โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ•ฎ
openclaw | โ”‚ โ”‚
openclaw | โ”‚ Config invalid; doctor will run with best-effort config. โ”‚
openclaw | โ”‚ โ”‚
openclaw | โ”œโ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ•ฏ
openclaw | Config invalid
openclaw | File: ~/.openclaw/openclaw.json
openclaw | Problem:
openclaw | - models.providers.ollama.api: Invalid input
openclaw |
openclaw | Run: openclaw doctor --fix

dusty mistBOT
#

That error is coming from config validation: whatever you put in models.providers.ollama.api is not one of the allowed enum values for your OpenClaw build.

In current OpenClaw, models.providers.<x>.api must be exactly one of:

  • "openai-completions"
  • "openai-responses"
  • "anthropic-messages"
  • "google-generative-ai"
  • "github-copilot"
  • "bedrock-converse-stream"
  • "ollama"

So:

If your baseUrl ends with /v1 (OpenAI-compatible endpoint)

Use:

#
models: {
  providers: {
    ollama: {
      baseUrl: "http://ollama:11434/v1",
      api: "openai-completions",
      apiKey: "ollama-local",
      models: [ /* โ€ฆ */ ]
    }
  }
}

If you want native Ollama API (recommended)

Use:

#

Next step: can you paste the exact line you set for models.providers.ollama.api? (Most often this happens because of a tiny typo like openai-chat-completions / openai / wrong casing.)

Also please paste openclaw --version โ€” if youโ€™re on an older version that doesnโ€™t include "ollama" in the schema yet, youโ€™ll need to use "openai-completions" (with /v1) or upgrade.

And separately (not blocking this config error): minimax-m2.5:cloud doesnโ€™t look like a real Ollama model name โ€” ollama list will tell you the IDs Ollama actually serves.

shell linden
#

๐Ÿฆž OPENCLAW ๐Ÿฆž

โ”Œ OpenClaw doctor
โ”‚
โ—‡ State integrity โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ•ฎ
โ”‚ โ”‚
โ”‚ - 5/5 recent sessions are missing transcripts. Check for deleted session files or split โ”‚
โ”‚ state dirs. โ”‚
โ”‚ - Main session transcript missing โ”‚
โ”‚ (~/.openclaw/agents/main/sessions/355be938-e75f-4eb9-8333-aed2667f3dfc.jsonl). History โ”‚
โ”‚ will appear to reset. โ”‚
โ”‚ โ”‚
โ”œโ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ•ฏ
โ”‚
โ—‡ Security โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ•ฎ
โ”‚ โ”‚
โ”‚ - No channel security warnings detected. โ”‚
โ”‚ - Run: openclaw security audit --deep โ”‚
โ”‚ โ”‚
โ”œโ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ•ฏ
โ”‚
โ—‡ Skills status โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ•ฎ
โ”‚ โ”‚
โ”‚ Eligible: 3 โ”‚
โ”‚ Missing requirements: 46 โ”‚
โ”‚ Blocked by allowlist: 0 โ”‚
โ”‚ โ”‚
โ”œโ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ•ฏ
โ”‚
โ—‡ Plugins โ”€โ”€โ”€โ”€โ”€โ”€โ•ฎ
โ”‚ โ”‚
โ”‚ Loaded: 5 โ”‚
โ”‚ Disabled: 30 โ”‚
โ”‚ Errors: 0 โ”‚
โ”‚ โ”‚
โ”œโ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ•ฏ
โ”‚
โ—‡ Shell completion โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ•ฎ
โ”‚ โ”‚
โ”‚ Shell completion installed. Restart your shell or run: source ~/.zshrc โ”‚
โ”‚ โ”‚
โ”œโ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ•ฏ
โ”‚
โ—‡
Discord: not configured
Agents: main (default)
Heartbeat interval: 30m (main)
Session store (main): /home/node/.openclaw/agents/main/sessions/sessions.json (4406 entries)

  • agent:main:main (9m ago)
  • agent:main:cron:ec5e-d003-4deb-9d0394111db (2222m ago)
  • agent:main:cron:ec5e-d003-4deb-9d28-39e0394111db:run:82788077-4-47d6-9e03-35c11936c99b (2222m ago)
  • agent:main:cron:ec5e-d003-4deb-9d28-39e0394111db:run:b395fdca-8c4-43c8-90f5-86e2378eab74 (2234m ago)
  • agent:main:cron:ec5e-d003-4deb-9d28-39e0394111db:run:be1eeca2-c-4d27-bac587949f5b (2235m ago)
    Updated ~/.openclaw/openclaw.json
    Backup: ~/.openclaw/openclaw.json.bak
    โ”‚
    โ”” Doctor complete.
dusty mistBOT
#

That models.providers.ollama.api: Invalid input is pure schema validation: the value you set for api isnโ€™t one of the strings OpenClaw accepts.

Valid values are (must match exactly):

  • openai-completions
  • openai-responses
  • anthropic-messages
  • google-generative-ai
  • github-copilot
  • bedrock-converse-stream
  • ollama

Use one of these two working Ollama configs

A) Native Ollama API (recommended):

#
models: {
  providers: {
    ollama: {
      baseUrl: "http://ollama:11434",
      api: "ollama",
      apiKey: "ollama-local",
      models: [ /* your model ids */ ]
    }
  }
}

B) OpenAI-compatible /v1 endpoint:

models: {
#
  providers: {
    ollama: {
      baseUrl: "http://ollama:11434/v1",
      api: "openai-completions",
      apiKey: "ollama-local",
      models: [ /* your model ids */ ]
    }
  }
}

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

Also: stop using 172.17.0.1

Since your Ollama container is on the external network intranet, 172.17.0.1 (default bridge gateway) is the wrong hop from most containers.

#

Best practice: put the OpenClaw container on the same intranet network and use:

  • http://ollama:11434 (Docker DNS by container name)

One more important note about your model id

minimax-m2.5:cloud doesnโ€™t look like a real Ollama model name. The id must match what Ollama actually serves (check with ollama list inside the ollama container, or curl http://ollama:11434/api/tags).

If your actual goal is MiniMax M2.5 cloud, thatโ€™s the minimax provider (not ollama): https://docs.openclaw.ai/providers/minimax

Quick check

Can you paste:

  1. openclaw --version
  2. the current (post-doctor) output of:
openclaw config get models.providers.ollama
#

Doctor already wrote a backup (~/.openclaw/openclaw.json.bak), so we can sanity-check exactly what it changed.

shell linden
#

๐Ÿฆž OpenClaw 2026.2.10 (unknown) โ€” Less middlemen, more messages.

{
"baseUrl": "http://ollama:11434/v1",
"apiKey": "ollama-local",
"models": [
{
"id": "minimax-m2.5:cloud",
"name": "minimax-m2.5:cloud",
"reasoning": false,
"input": [
"text"
],
"cost": {
"input": 0,
"output": 0,
"cacheRead": 0,
"cacheWrite": 0
},
"contextWindow": 200000,
"maxTokens": 8192
}
]
}
node@c95dfcbe0318:/app$ cat ~/.openclaw/openclaw.json.bak
{
"meta": {
"lastTouchedVersion": "2026.2.10",
"lastTouchedAt": "2026-02-24T07:07:45.168Z"
},
"wizard": {
"lastRunAt": "2026-02-24T07:07:45.133Z",
"lastRunVersion": "2026.2.10",
"lastRunCommand": "configure",
"lastRunMode": "local"
},
"update": {
"checkOnStart": true
},
"models": {
"mode": "merge",
"providers": {
"ollama": {
"baseUrl": "http://ollama:11434/v1",
"apiKey": "ollama-local",
"models": [
{
"id": "minimax-m2.5:cloud",
"name": "minimax-m2.5:cloud",
"reasoning": false,
"input": [
"text"
],
"cost": {
"input": 0,
"output": 0,
"cacheRead": 0,
"cacheWrite": 0
},
"contextWindow": 200000,
"maxTokens": 8192
}
]
}
}
},
"agents": {
"defaults": {
"model": {
"primary": "ollama/minimax-m2.5:cloud"
},
"models": {
"ollama/minimax-m2.5:cloud": {
"alias": "minimax-m2.5"
}
},
"workspace": "/home/node/.openclaw/workspace",
"memorySearch": {
"enabled": true,
"sources": [
"memory",
"sessions"
],
"experimental": {
"sessionMemory": true
},
"provider": "local"
},
"compaction": {
"mode": "safeguard"
},
"maxConcurrent": 4,
"subagents": {
"maxConcurrent": 8
}
}
},
"messages": {
"ackReactionScope": "group-mentions"
},
"commands": {
"native": "auto",
"nativeSkills": "auto"
},
"channels": {
"discord": {
"groupPolicy": "allowlist",
"actions": {
"channelInfo": false
},
"accounts": {}
}
},
"gateway": {
"auth": {
"allowTailscale": true
},
"trustedProxies": [
"127.0.0.1",
"127.18.0.0/16"
],
"mode": "local"
},
"plugins": {
"entries": {
"discord": {
"enabled": true
}
}
}
}

dusty mistBOT
#

Youโ€™re on OpenClaw 2026.2.10, and right now your Ollama provider block has no api field:

{ baseUrl: "http://ollama:11434/v1", apiKey: "...", models: [...] }

Thatโ€™s exactly how you end up with:

  • No API provider registered for api: undefined

because OpenClaw doesnโ€™t auto-default provider api for nonโ€‘Anthropic providers.

Fix (pick one)

Option A: keep /v1 (OpenAI-compatible)

Set the provider API to openai-completions:

#
models: {
  providers: {
    ollama: {
      baseUrl: "http://ollama:11434/v1",
      api: "openai-completions",
      apiKey: "ollama-local",
      models: [ ... ]
    }
  }
}

Option B (recommended): use native Ollama API

Switch to root baseUrl and set api: "ollama":

#
models: {
  providers: {
    ollama: {
      baseUrl: "http://ollama:11434",
      api: "ollama",
      apiKey: "ollama-local",
      models: [ ... ]
    }
  }
}

Then restart the gateway.

One more thing: your model id looks wrong for Ollama

minimax-m2.5:cloud doesnโ€™t look like an Ollama-installed model. The id must match what Ollama actually serves.