Skip to content

Bug: Queued followup messages silently dropped on run timeout/abort #29497

Description

@p3nchan

Problem

When an agent run hits timeoutSeconds (or is aborted), any queued followup messages from the user are silently dropped. The user has no indication their message was lost — they simply never get a reply.

Steps to reproduce

  1. User sends message A → agent starts processing (long-running tool calls, sub-agent spawns, etc.)
  2. While agent is busy, user sends message B (gets queued as a followup)
  3. Agent run hits timeoutSeconds limit (default 600s) → run is killed
  4. Message B is discarded — user never gets a response and has no idea the message was lost

Expected behavior

Queued followup messages should survive a timeout/abort and be re-delivered to the next agent run, or at minimum the user should be notified that their message was dropped.

Actual behavior

Queued messages are silently cleared on timeout. The user only discovers this when they realize they never got a reply and have to re-send.

Impact

  • User trust: Messages disappearing without any feedback is a poor experience, especially in async messaging contexts (Discord, Telegram) where users expect reliable delivery
  • Data loss risk: If the dropped message contained sensitive info (API keys, instructions), the user may not realize they need to re-send
  • Debugging difficulty: No log entry indicates a user message was dropped, making it hard to diagnose

Proposed solutions (any would help)

  1. Re-deliver queued messages to a fresh run after timeout (preferred)
  2. Notify the user that their message was dropped due to timeout (e.g., "⚠️ Your message was not processed because the previous run timed out. Please re-send.")
  3. Persist queued messages to disk so they survive process restarts

Related issues

Environment

  • OpenClaw version: 2026.2.26
  • Channel: Discord (thread-bound sessions)
  • Agent timeout: default 600s

Metadata

Metadata

Assignees

No one assigned

    Labels

    staleMarked as stale due to inactivity

    Type

    No type

    Fields

    Priority

    None yet

    Projects

    No projects

    Milestone

    No milestone

    Relationships

    None yet

    Development

    No branches or pull requests

    Issue actions