-
-
Notifications
You must be signed in to change notification settings - Fork 80.7k
Feature Request: Configurable streaming watchdog timeout threshold #68596
Copy link
Copy link
Open
Labels
P2Normal backlog priority with limited blast radius.Normal backlog priority with limited blast radius.clawsweeper:fix-shape-clearClawSweeper found a clear likely implementation shape for this issue.ClawSweeper found a clear likely implementation shape for this issue.clawsweeper:needs-maintainer-reviewClawSweeper marked this issue as needing maintainer review before automation.ClawSweeper marked this issue as needing maintainer review before automation.clawsweeper:needs-product-decisionClawSweeper marked this issue as needing a product or behavior decision.ClawSweeper marked this issue as needing a product or behavior decision.clawsweeper:no-new-fix-prClawSweeper does not recommend queueing a new automated fix PR for this issue.ClawSweeper does not recommend queueing a new automated fix PR for this issue.clawsweeper:source-reproClawSweeper found a high-confidence source-level issue reproduction.ClawSweeper found a high-confidence source-level issue reproduction.impact:session-stateSession, memory, transcript, context, or agent state can drift or corrupt.Session, memory, transcript, context, or agent state can drift or corrupt.issue-rating: 🦞 diamond lobsterVery strong issue quality with high-confidence source-level or clear reproduction.Very strong issue quality with high-confidence source-level or clear reproduction.
Description
Metadata
Metadata
Assignees
Labels
P2Normal backlog priority with limited blast radius.Normal backlog priority with limited blast radius.clawsweeper:fix-shape-clearClawSweeper found a clear likely implementation shape for this issue.ClawSweeper found a clear likely implementation shape for this issue.clawsweeper:needs-maintainer-reviewClawSweeper marked this issue as needing maintainer review before automation.ClawSweeper marked this issue as needing maintainer review before automation.clawsweeper:needs-product-decisionClawSweeper marked this issue as needing a product or behavior decision.ClawSweeper marked this issue as needing a product or behavior decision.clawsweeper:no-new-fix-prClawSweeper does not recommend queueing a new automated fix PR for this issue.ClawSweeper does not recommend queueing a new automated fix PR for this issue.clawsweeper:source-reproClawSweeper found a high-confidence source-level issue reproduction.ClawSweeper found a high-confidence source-level issue reproduction.impact:session-stateSession, memory, transcript, context, or agent state can drift or corrupt.Session, memory, transcript, context, or agent state can drift or corrupt.issue-rating: 🦞 diamond lobsterVery strong issue quality with high-confidence source-level or clear reproduction.Very strong issue quality with high-confidence source-level or clear reproduction.
Type
Fields
Priority
None yet
Problem Description
When using models that perform extended reasoning/thinking (e.g., kimi-k2.5, DeepSeek-R1), the streaming watchdog frequently triggers warnings:
This 30-second threshold appears to be hardcoded in the client UI and cannot be configured server-side.
Impact
False positives during legitimate reasoning: Models like kimi-k2.5 may legitimately spend 30-60+ seconds in deep thinking phases before producing output. The watchdog warning creates unnecessary alarm for users.
User experience disruption: The warning message implies something went wrong, prompting users to "resync" by sending new messages, which can:
No server-side mitigation available: Despite configuring:
agents.defaults.timeoutSeconds: 1200(20 min agent timeout)reasoningDefault: "stream"(stream reasoning output)blockStreamingChunk.minChars: 20(more frequent chunking)The 30-second client watchdog still triggers independently.
Proposed Solution
Add a configurable streaming watchdog timeout in
openclaw.json:{ "gateway": { "streamingWatchdog": { "noOutputTimeoutMs": 60000, // configurable threshold, default 30000 "enabled": true // allow disabling for trusted setups } } }Alternatively, expose this via ACP stream configuration:
{ "acp": { "stream": { "watchdogNoOutputMs": 60000 } } }Use Cases
Extended reasoning models: Users deploying models with long thinking phases (30-120 seconds) can adjust thresholds appropriately.
Local/trusted setups: For personal assistant deployments on loopback-only gateways, users may prefer longer thresholds or disabling the watchdog entirely.
Network-aware configuration: Users with known network latency characteristics can tune thresholds based on their environment.
Current Workarounds (Limited Effectiveness)
reasoningDefault: "stream"— Helps but requires models to emit reasoning tokensblockStreamingChunk.minChars— More frequent chunks but doesn't prevent legitimate thinking silenceRelated
The
acp.stream.coalesceIdleMsparameter exists but controls text block coalescing, not the watchdog timeout mechanism.Thank you for considering this feature request. A configurable watchdog threshold would significantly improve the experience for users working with reasoning-capable models.