openclaw - 💡(How to fix) Fix Feature Request: Restore `agents.defaults.llm.idleTimeoutSeconds` config key

Official PRs (…)
ON THIS PAGE

GitHub issue graph ai analysis

Paste a GitHub issue URL. We fetch that issue, discover linked issues from bodies/comments/timeline, collect linked pull requests, and produce a structured English report.

The report is written in English Markdown for sharing and archival.

Helpful · Quick feedback

Loading…

agents.defaults.llm.idleTimeoutSeconds was removed from the config schema in v2026.4.26 (openclaw doctor --fix labels it as a retired key). I would like to request restoring this config option.

Root Cause

agents.defaults.llm.idleTimeoutSeconds was removed from the config schema in v2026.4.26 (openclaw doctor --fix labels it as a retired key). I would like to request restoring this config option.

Fix Action

Fix / Workaround

Removing this knob left local-model users without a viable config-level workaround for slow first-token prefill.

  • #59678 — agents.defaults.timeoutSeconds ignored due to internal idle timeout
  • #63200 — Idle-stream timeout breaks local models with heavy context (no config workaround)
  • #65576 — Cron runs disable LLM idle watchdog when no explicit config
  • #76122 — PR to increase default (rejected; review confirms provider timeout ≠ idle timeout)
  • #64541 — User used agents.defaults.llm.idleTimeoutSeconds = 180 before removal
  • #68461 — User used agents.defaults.llm.idleTimeoutSeconds = 360000 before removal

Code Example

{
  "agents": {
    "defaults": {
      "llm": {
        "idleTimeoutSeconds": 300
      }
    }
  }
}
RAW_BUFFERClick to expand / collapse

Summary

agents.defaults.llm.idleTimeoutSeconds was removed from the config schema in v2026.4.26 (openclaw doctor --fix labels it as a retired key). I would like to request restoring this config option.

Why this is needed

This knob is meaningfully different from models.providers.<id>.timeoutSeconds:

  • models.providers.<id>.timeoutSeconds controls the total request lifetime (wall clock)
  • idleTimeoutSeconds controls the maximum silence between streamed tokens/chunks (resets on every received token)

These solve different problems. For local/self-hosted models, especially large models with heavy prefill, the model may need 120s+ before the first token. In that case:

  • increasing provider timeoutSeconds does not solve the issue if the internal idle watchdog still aborts at 120s
  • users need an explicit way to raise the idle timeout without globally changing the default for everyone

Before removal, this config worked

  • Users were successfully using agents.defaults.llm.idleTimeoutSeconds in v2026.4.15 (see #68461 with "idleTimeoutSeconds": 360000, #64541 with "idleTimeoutSeconds": 180)
  • It was retired in v2026.4.26doctor --fix removes it as a retired key (see #73331)
  • By v2026.5.12, the schema rejects it with: agents.defaults: Unrecognized key: "llm"

Proposed solution

Restore a user-configurable override, for example:

{
  "agents": {
    "defaults": {
      "llm": {
        "idleTimeoutSeconds": 300
      }
    }
  }
}

This preserves the current default behavior (120s hardcoded DEFAULT_LLM_IDLE_TIMEOUT_SECONDS) for everyone else, while giving local-model operators a necessary escape hatch.

I am not asking to increase the global default for all providers — that was correctly rejected in #76122. I am asking to restore a user-configurable override that existed before and was removed without a feature-level discussion.

Removing this knob left local-model users without a viable config-level workaround for slow first-token prefill.

Related

  • #59678 — agents.defaults.timeoutSeconds ignored due to internal idle timeout
  • #63200 — Idle-stream timeout breaks local models with heavy context (no config workaround)
  • #65576 — Cron runs disable LLM idle watchdog when no explicit config
  • #76122 — PR to increase default (rejected; review confirms provider timeout ≠ idle timeout)
  • #64541 — User used agents.defaults.llm.idleTimeoutSeconds = 180 before removal
  • #68461 — User used agents.defaults.llm.idleTimeoutSeconds = 360000 before removal

Vote matrix · Quick signals

Works
Did the solution work? Tap to confirm.
Easy Fix
Was it a quick fix?
Time Saver
Did it save you time?
Blocking
Was it severely blocking?
Common Issue
Are others likely hitting this too?
Flaky / Intermittent
Is it intermittent?
Verified / Reproducible
Can you reproduce it reliably?
Loading…

Still need to ship something?

×6

Another batch ranked right after the header list — different links, same matching logic.

Back to top recommendations

TRENDING

openclaw - 💡(How to fix) Fix Feature Request: Restore `agents.defaults.llm.idleTimeoutSeconds` config key