Scheduled task silently skipped after wake from standby: dispatch cleared but lastRunAt still set

Open 💬 0 comments Opened Jul 5, 2026 by fistik-boop

Environment

  • Claude Desktop (Windows, MSIX) 1.18286.0.0, claude-code runtime 2.1.197
  • Windows 11 Pro 10.0.26200, Modern Standby (S0)

What happened
A recurring scheduled task (cron 0 9 5,7 7 *, jitter 284s) was dispatched at
09:00:40 +284s. The machine entered standby at ~09:04, inside the jitter window.
On wake (~09:30) the app logged Cleared stale pending dispatch and set the
task's lastRunAt — but no session was ever spawned. The run was lost silently:
the scheduler state says "ran today", the transcript directory shows no new
session, and no error or notification surfaced anywhere.

Expected
Either (a) re-dispatch the pending task after wake (the cron catch-up otherwise
works — a delayed fire at 09:30 would have been fine), or (b) drop the dispatch
WITHOUT setting lastRunAt, so the miss is detectable, ideally with a visible
failure notice.

Evidence

  • main.log: dispatch at 09:00:40, standby, wake, `Cleared stale pending

dispatch` at ~09:30:45.

  • scheduled-tasks.json: lastRunAt: 2026-07-05T07:30:45.051Z set; no matching

session transcript created.

Impact
Time-critical scheduled runs (daily reports) fail silently when the PC sleeps
through the dispatch+jitter window. Detection rule we now use externally:
lastRunAt set without a new transcript = silent skip.

Workaround
One-time tasks (fire without jitter) + an external Task-Scheduler watchdog that
wakes the PC before the slot and alerts via push if no session appears.

View original on GitHub ↗