Skip to content

Feature Request: Configurable streaming watchdog timeout threshold #68596

Description

@Yaemikoreal

Problem Description

When using models that perform extended reasoning/thinking (e.g., kimi-k2.5, DeepSeek-R1), the streaming watchdog frequently triggers warnings:

streaming watchdog: no stream updates for 30s; resetting status. 
The backend may have dropped this run silently — send a new message to resync.

This 30-second threshold appears to be hardcoded in the client UI and cannot be configured server-side.

Impact

  1. 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.

  2. User experience disruption: The warning message implies something went wrong, prompting users to "resync" by sending new messages, which can:

    • Interrupt ongoing reasoning processes
    • Cause duplicate queries
    • Break conversation context
  3. 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

  1. Extended reasoning models: Users deploying models with long thinking phases (30-120 seconds) can adjust thresholds appropriately.

  2. Local/trusted setups: For personal assistant deployments on loopback-only gateways, users may prefer longer thresholds or disabling the watchdog entirely.

  3. 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 tokens
  • blockStreamingChunk.minChars — More frequent chunks but doesn't prevent legitimate thinking silence
  • No actual watchdog timeout configuration exists

Related

The acp.stream.coalesceIdleMs parameter 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.

Metadata

Metadata

Assignees

No one assigned

    Labels

    P2Normal backlog priority with limited blast radius.clawsweeper:fix-shape-clearClawSweeper found a clear likely implementation shape for this issue.clawsweeper:needs-maintainer-reviewClawSweeper marked this issue as needing maintainer review before automation.clawsweeper:needs-product-decisionClawSweeper 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:source-reproClawSweeper found a high-confidence source-level issue reproduction.impact:session-stateSession, 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.

    Type

    No type

    Fields

    Priority

    None yet

    Projects

    No projects

    Milestone

    No milestone

    Relationships

    None yet

    Development

    No branches or pull requests

    Issue actions