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
- User sends message A → agent starts processing (long-running tool calls, sub-agent spawns, etc.)
- While agent is busy, user sends message B (gets queued as a followup)
- Agent run hits
timeoutSeconds limit (default 600s) → run is killed
- 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)
- Re-deliver queued messages to a fresh run after timeout (preferred)
- 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.")
- 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
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
timeoutSecondslimit (default 600s) → run is killedExpected 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
Proposed solutions (any would help)
Related issues
Environment