Description:
During long-run sessions with active subagents, the recurring work pump (, ) fails to deliver within the expected interval when the main session is in a post-announce idle state. The session stalls for 9–11 minutes despite the pump firing on schedule.
Observed behavior:
After a subagent completion announce arrives and the main session processes it, the session enters an idle state. The next scheduled pump fire appears to queue rather than deliver immediately. The session does not receive the pump event until either (a) another external event arrives (a second announce, a user message, a bash exec completion), or (b) the pump fires again on the next interval.
Expected behavior:
The pump fires every 10 minutes regardless of session state. A post-announce idle session should receive the pump event within a few seconds of it firing.
Reproduction:
- Session (2026-04-16, DeepSeek)
- Work pump ID , interval 600s, no anchorMs
- Gap 1: 02:42:59–02:52:07 UTC (9.1 min stall after Nightwing announce)
- Gap 2: 02:54:38–03:05:20 UTC (10.7 min stall after Robin announce)
- In both cases the pump was scheduled to fire during the gap (02:47:50 and 02:57:50 UTC respectively) but the main session did not visibly receive it until an external event arrived
- The session was not yielded ( was never called) — it was simply idle post-announce
Impact:
Long-run sessions relying on the pump as a forcing function stall mid-session. In a 60-minute session this can waste 20+ minutes of work time and requires manual user intervention to unstick.
Workaround:
Isolated reconciler cron with Telegram delivery detects the stall via heartbeat timestamp lag and alerts the user.
Runtime: openclaw 2026.4.14, macOS, gateway mode local, DeepSeek V3.2 via OpenRouter
Description:
During long-run sessions with active subagents, the recurring work pump (, ) fails to deliver within the expected interval when the main session is in a post-announce idle state. The session stalls for 9–11 minutes despite the pump firing on schedule.
Observed behavior:
After a subagent completion announce arrives and the main session processes it, the session enters an idle state. The next scheduled pump fire appears to queue rather than deliver immediately. The session does not receive the pump event until either (a) another external event arrives (a second announce, a user message, a bash exec completion), or (b) the pump fires again on the next interval.
Expected behavior:
The pump fires every 10 minutes regardless of session state. A post-announce idle session should receive the pump event within a few seconds of it firing.
Reproduction:
Impact:
Long-run sessions relying on the pump as a forcing function stall mid-session. In a 60-minute session this can waste 20+ minutes of work time and requires manual user intervention to unstick.
Workaround:
Isolated reconciler cron with Telegram delivery detects the stall via heartbeat timestamp lag and alerts the user.
Runtime: openclaw 2026.4.14, macOS, gateway mode local, DeepSeek V3.2 via OpenRouter