OpenClaw LLM Timeout Fix for Cold Model Loading

Issue: Cold Model Timeouts at 60 Seconds
Users reported that cold-loaded local models in OpenClaw would consistently fail after approximately 60 seconds, despite having the general agent timeout set much higher. This issue also occurred with cloud models via Ollama and sometimes OpenAI Codex.
The typical failure pattern:
- Models work if already warm
- Cold models die around ~60 seconds
- Logs mention timeout / embedded failover / status: 408
- Fallback model takes over
Misleading Configurations
The source warns that several obvious configuration options are NOT the real fix and can send developers down the wrong path:
agents.defaults.timeoutSeconds.zshrcexportsLLM_REQUEST_TIMEOUT- Blaming LM Studio / Ollama immediately
Root Cause
The issue stems from OpenClaw having a separate embedded-runner LLM idle timeout for the period before the model emits the first streamed token.
Source trace found in:
src/agents/pi-embedded-runner/run/llm-idle-timeout.ts
Default value:
DEFAULT_LLM_IDLE_TIMEOUT_MS = 60_000
The configuration path resolves from:
cfg?.agents?.defaults?.llm?.idleTimeoutSeconds
So the actual configuration parameter is:
agents.defaults.llm.idleTimeoutSeconds
The Fix
After testing, the working configuration is:
{
"agents": {
"defaults": {
"llm": {
"idleTimeoutSeconds": 180
}
}
}
}
Testing showed that a cold Gemma call that previously failed around 60 seconds survived past that threshold and eventually responded successfully without immediate failover.
Recommended Permanent Configuration
{
"agents": {
"defaults": {
"timeoutSeconds": 300,
"llm": {
"idleTimeoutSeconds": 300
}
}
}
}
The recommendation of 300 seconds accounts for local models being unpredictable, where false failovers are more problematic than waiting longer for genuinely cold models.
📖 Read the full source: r/openclaw
👀 See Also

Why Most Claude Pipeline Failures Trace Back to Prompts, Not Models — and How to Fix with Skills
A Reddit post argues that the root cause of pipeline failures in Claude workflows is treating prompts like skills. The fix: define input contracts, output schemas, and a learnings file — making a skill what you promote to v1.
How I Proved My Own Bug Report Wrong: OpenClaw Telegram Debugging via apiRoot Proxy
OpenClaw's Telegram apiRoot can be pointed at a local proxy to log actual wire payloads. A dev retracted a bug report after learning that copied text was rendered, not reinserted.

Yes Flow/No Flow: A Simple Technique to Reduce Context Hallucination in AI Coding Sessions
A Reddit user shares the Yes Flow/No Flow technique for maintaining consistency in AI conversations by rewriting prompts instead of stacking corrections, which helps reduce context breakdown and hallucination during long coding sessions.

How to Prevent CLAUDE.md Rot: Treat Rules Like Code
After 18 months of real-world use, one developer shares four disciplines to keep CLAUDE.md under 100 lines: use it as an index, separate rules from sources, audit on every PR, and delete more than you add.