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

OpenClaw Debugs ESP32+CC1101 433 MHz Setup Using HackRF on Raspberry Pi 5
After failed attempts with direct GPIO and ESP32 flashing, OpenClaw used a HackRF to diagnose swapped Tx/Rx pins on the CC1101, finally getting autonomous 433 MHz signal capture and replay on a Pi 5.

Code Patterns Beat AI Guidelines: Porting a Firefox Extension to Chrome
A developer failed twice to port a Firefox extension to Chrome using AI prompts, then succeeded by extracting browser-agnostic core logic with a BrowserShell interface, reducing Chrome-specific code to 5 meaningful lines.

Fixing Claude's Time Hallucinations in Claude Code with Hooks
A user discovered that Claude Code lacks real-time clock access, causing it to incorrectly suggest actions like 'get some rest' at inappropriate times. The fix involves adding a one-line hook to ~/.claude/settings.json that injects the current time into Claude's context on every message.

Multi-model routing reduces OpenClaw API costs by 50%
A developer cut OpenClaw API costs by 50% by routing different tasks through different models: Claude for complex reasoning, DeepSeek for file operations and test generation, and Gemini or GPT for mid-range tasks.