#openclaw error

1 messages Β· Page 1 of 1 (latest)

soft mica
#

this is my error

14:34:57 [agents/tool-images] Image resized to fit limits: 1536x1024px 844.6KB -> 102.0KB (-87.9%)
14:40:50 [agent/embedded] embedded run agent end: runId=8f8085ef-f4e7-44c6-9235-63bc9df33131 isError=true model=qwen3.5:9b provider=ollama error=LLM request failed: network connection error. rawError=fetch failed | Headers Timeout Error
14:47:57 [agent/embedded] embedded run agent end: runId=8f8085ef-f4e7-44c6-9235-63bc9df33131 isError=true model=qwen3.5:9b provider=ollama error=LLM request failed: network connection error. rawError=fetch failed | Headers Timeout Error
14:53:04 [agent/embedded] embedded run agent end: runId=8f8085ef-f4e7-44c6-9235-63bc9df33131 isError=true model=qwen3.5:9b provider=ollama error=LLM request failed: network connection error. rawError=fetch failed | Headers Timeout Error
14:58:11 [agent/embedded] embedded run agent end: runId=8f8085ef-f4e7-44c6-9235-63bc9df33131 isError=true model=qwen3.5:9b provider=ollama error=LLM request failed: network connection error. rawError=fetch failed | Headers Timeout Error
15:03:24 [agent/embedded] embedded run agent end: runId=8f8085ef-f4e7-44c6-9235-63bc9df33131 isError=true model=qwen3.5:9b provider=ollama error=LLM request failed: network connection error. rawError=fetch failed | Headers Timeout Error
15:03:24 [agent/embedded] embedded run failover decision: runId=8f8085ef-f4e7-44c6-9235-63bc9df33131 stage=assistant decision=surface_error reason=timeout from=ollama/qwen3.5:9b profile=sha256:9c018ec112cf

dark mortarBOT
#

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

craggy gazelleBOT
stuck roostBOT
#

The image resize line is normal. The real problem is this part:

fetch failed | Headers Timeout Error

So OpenClaw is timing out while waiting on Ollama, and then surfaces it as reason=timeout.

Most common causes:

  • Ollama is not reachable / wrong host
  • models.providers.ollama.baseUrl is using /v1 instead of the bare Ollama URL
  • the local model/backend handles tiny requests but chokes on the full agent prompt + tools

Please paste these:

openclaw --version
openclaw status
#
openclaw models status
openclaw config get models.providers.ollama
curl http://127.0.0.1:11434/api/tags
openclaw infer model run --model ollama/qwen3.5:9b --prompt "hi" --json

Important: if you're using Ollama directly, the base URL should be:

baseUrl: "http://host:11434"
api: "ollama"

not http://host:11434/v1.

If the tiny infer model run works but normal agent runs still fail, try:

soft mica
#

openclaw models status

🦞 OpenClaw 2026.4.21 (f788c88) β€” Like having a senior engineer on call, except I don't bill hourly or sigh audibly.

Config : ~.openclaw\openclaw.json
Agent dir : ~.openclaw\agents\main\agent
Default : ollama/qwen3.5:9b
Fallbacks (0) : -
Image model : -
Image fallbacks (0): -
Aliases (0) : -
Configured models (1): ollama/qwen3.5:9b

Auth overview
Auth store : ~.openclaw\agents\main\agent\auth-profiles.json
Shell env : off
Providers w/ OAuth/tokens (1): openai-codex (1)

  • ollama effective=profiles:~.openclaw\agents\main\agent\auth-profiles.json | profiles=1 (oauth=0, token=0, api_key=1) | ollama:default=marker(ollama-local) | models.json=OL...EY | source=models.json: ~.openclaw\agents\main\agent\models.json
  • openai-codex effective=profiles:~.openclaw\agents\main\agent\auth-profiles.json | profiles=1 (oauth=1, token=0, api_key=0) | openai-codex:default=OAuth ()

OAuth/token status

  • openai-codex
    • openai-codex:default () ok expires in 9d
stuck roostBOT
#

Nice, this helps. Your version is recent enough, and models status says auth is fine, so this does not look like an API-key problem.

This is now most likely one of:

  • OpenClaw cannot reach Ollama cleanly
  • Ollama can answer tiny requests, but qwen3.5:9b is choking on the full agent prompt/tool surface
  • your Ollama config is pointing at the wrong URL, especially /v1

On Windows, please paste these next:

openclaw status
openclaw config get models.providers.ollama
ollama list
curl.exe http://127.0.0.1:11434/api/tags
curl.exe http://127.0.0.1:11434/api/chat -H "Content-Type: application/json" -d "{\"model\":\"qwen3.5:9b\",\"messages\":[{\"role\":\"user\",\"content\":\"hi\"}],\"stream\":false}"
openclaw infer model run --model ollama/qwen3.5:9b --prompt "hi" --json
#

What I’m looking for:

  • if /api/tags or /api/chat fails, Ollama itself is the problem
  • if those work, but infer model run or normal chats still fail, the local model/backend is probably too brittle for full OpenClaw runs

Also confirm your Ollama URL is the bare host:

baseUrl: "http://127.0.0.1:11434"
api: "ollama"

not http://127.0.0.1:11434/v1.

If the tiny tests pass but agent chats still timeout, try:

  • agents.defaults.experimental.localModelLean: true
  • and if needed, compat.supportsTools: false for that model
soft mica
#

i've deleted some stuff but this is from the
openclaw config get models.providers.ollama
{
"baseUrl": "http://127.0.0.1:11434",
"apiKey": "OPENCLAW_REDACTED",
"api": "ollama",
"models": [
],
"cost": {
"input": 0,
"output": 0,
"cacheRead": 0,
"cacheWrite": 0
},
"contextWindow": 100000,
"maxTokens": 8192,
"api": "ollama"
},
{
"id": "kimi-k2.5:cloud",
"name": "kimi-k2.5:cloud",
"reasoning": false,
"input": [
"text",
"image"
],
"cost": {
"input": 0,
"output": 0,
"cacheRead": 0,
"cacheWrite": 0
},
"contextWindow": 100000,
"maxTokens": 8192,
"api": "ollama"
},
{
"id": "minimax-m2.7:cloud",
"name": "minimax-m2.7:cloud",
"reasoning": false,
"input": [
"text"
],
"cost": {
"input": 0,
"output": 0,
"cacheRead": 0,
"cacheWrite": 0
},
"contextWindow": 100000,
"maxTokens": 8192,
"api": "ollama"
},
{
"id": "glm-5.1:cloud",
"name": "glm-5.1:cloud",
"reasoning": false,
"input": [
"text"
],
"cost": {
"input": 0,
"output": 0,
"cacheRead": 0,
"cacheWrite": 0
},
"contextWindow": 100000,
"maxTokens": 8192,
"api": "ollama"
},
{
"id": "qwen3.5:9b",
"name": "qwen3.5:9b",
"reasoning": false,
"input": [
"text",
"image"
],
"cost": {
"input": 0,
"output": 0,
"cacheRead": 0,
"cacheWrite": 0
},
"contextWindow": 100000,
"maxTokens": 8192,
"api": "ollama"
},

}

]
}

stuck roostBOT
#

Aha, I think I see the likely problem.

Your baseUrl and api: "ollama" look correct. But because you defined models.providers.ollama explicitly, OpenClaw stops auto-discovering model capabilities and just trusts your manual model entries.

In your snippet, qwen3.5:9b is marked as:

input: ["text", "image"]

If that model is actually text-only on your Ollama install, OpenClaw will try to send the resized image straight to it. That matches your log really well:

  1. image gets resized
  2. OpenClaw sends it to ollama/qwen3.5:9b
  3. request hangs
  4. Headers Timeout Error
#

So I’d fix this first:

Option 1, simplest

Change qwen3.5:9b to text-only:

{
  id: "qwen3.5:9b",
  name: "qwen3.5:9b",
  input: ["text"],
  contextWindow: 100000,
  maxTokens: 8192,
  api: "ollama"
}

Option 2, if you want image support

#

Use a real vision model for images, for example the docs use:

agents: {
  defaults: {
    imageModel: {
      primary: "ollama/qwen2.5vl:7b"
    }
  }
}

Option 3, cleaner overall

Remove the manual models.providers.ollama block entirely and let OpenClaw auto-discover your local Ollama models and capabilities.

Then restart:

#
openclaw gateway restart

If it still times out after changing input to ["text"], then paste these next:

ollama list
curl.exe http://127.0.0.1:11434/api/chat -H "Content-Type: application/json" -d "{\"model\":\"qwen3.5:9b\",\"messages\":[{\"role\":\"user\",\"content\":\"hi\"}],\"stream\":false}"

Docs this is based on:

I’m fairly suspicious the bogus "image" capability is the culprit here.

soft mica
#

how do I check what the timeout threshold is set to

stuck roostBOT
#

Yep, two useful ones to check:

openclaw config get agents.defaults.llm.idleTimeoutSeconds
openclaw config get agents.defaults.timeoutSeconds

How they work:

  • agents.defaults.llm.idleTimeoutSeconds

    • this is the LLM idle timeout
    • if the model stops sending response chunks for too long, OpenClaw aborts it
    • if unset, current code falls back to agents.defaults.timeoutSeconds if that is set, otherwise 120 seconds
  • agents.defaults.timeoutSeconds

    • this is the overall agent turn timeout
    • if unset, current code default is 48 hours
#

If either command comes back empty / unset, that means you’re on the default behavior.

If you want to test a higher threshold for slow local Ollama runs:

openclaw config set agents.defaults.llm.idleTimeoutSeconds 300
openclaw gateway restart

Or disable that idle watchdog entirely:

openclaw config set agents.defaults.llm.idleTimeoutSeconds 0
openclaw gateway restart

One important nuance: your exact log says Headers Timeout Error, which is a bit lower-level than the friendly OpenClaw idle-timeout message. So these are the user-facing timeout knobs to inspect first.