Bug Description
Heartbeat interval timer appears to stop being re-armed after extended runtime, even after the supposed fix in #52270 (2026.3.28).
Environment
- OpenClaw version: 2026.3.28 (f9b1079)
- OS: Linux 6.17.0-19-generic (x64)
- Node: v24.14.0
- Heartbeat config: 30m interval (default)
Observed Behavior
From gateway logs, heartbeat runs became irregular:
- Apr 01 00:15 - heartbeat started
- Apr 01 21:53 - heartbeat started (gap: ~21.5 hours)
- Apr 02 22:05 - heartbeat started (gap: ~24+ hours)
The 2026.3.28 changelog claims: "guarantee the interval timer is re-armed after heartbeat runs and unexpected runner errors so scheduled heartbeats do not silently stop after an interrupted cycle."
However, the issue persists.
Expected Behavior
Heartbeat should fire every 30 minutes consistently.
Additional Context
- No gateway restarts observed during the gap periods
- Main session remained active (146 sessions)
- No error logs indicating heartbeat failures
- Issue discovered when scheduled HEARTBEAT.md tasks were not executed for 3+ days
Related
Bug Description
Heartbeat interval timer appears to stop being re-armed after extended runtime, even after the supposed fix in #52270 (2026.3.28).
Environment
Observed Behavior
From gateway logs, heartbeat runs became irregular:
The 2026.3.28 changelog claims: "guarantee the interval timer is re-armed after heartbeat runs and unexpected runner errors so scheduled heartbeats do not silently stop after an interrupted cycle."
However, the issue persists.
Expected Behavior
Heartbeat should fire every 30 minutes consistently.
Additional Context
Related