[FEATURE] Detect and alert when a scheduled Routine stops firing silently

Status Open
Maintainer reply None cached
Activity 0 comments · opened Jul 19, 2026

Summary

A recurring scheduled Routine can stop firing entirely — with no error, no notification, nothing — and there is currently no way to find out except by noticing, weeks later, that a project stopped getting checked. Please add detection + alerting for a Routine that has gone silent relative to its own configured schedule.

Current behavior

Reviewing my own session history: two separate recurring Routines (daily repo-health checks against two different project directories) ran reliably for roughly a month, then simply stopped producing sessions — no failure notification, no "last run" warning, nothing distinguishing "intentionally paused" from "silently broken." A third, larger cluster of daily routines across several other projects ran continuously for months, then also stopped abruptly on the same day, with the same silence. In every case, the only way to notice was manually reviewing the session list much later and realizing "wait, this hasn't run in weeks."

Motivation

The entire value of a scheduled Routine is that you don't have to remember to check something yourself — the whole point is unattended reliability. But right now, if the Routine's execution breaks (auth expires, the underlying trigger silently fails, a config change breaks the schedule, etc.), the failure mode is indistinguishable from "nothing to report" — both look like an empty sidebar. That defeats the purpose: the one thing you're relying on Claude Code to remember to do is exactly the thing you won't notice has stopped happening.

Proposed behavior

  1. Track expected-vs-actual firing. For a Routine with a defined schedule (daily, every N days, etc.), track when the next run was expected.
  2. Alert on missed expected runs. If a Routine misses its expected firing window by some threshold (e.g. 2x its own interval), surface a distinct notification — "Routine X hasn't run since [date], expected [date]" — separate from normal per-run notifications.
  3. Distinguish "intentionally disabled/paused" from "silently broken." A user-paused Routine shouldn't trigger this; only ones still marked active that have gone quiet should.
  4. Surface in a dedicated "Routines health" view (or as part of the digest proposed in #79080), not just as a one-off push notification that itself could be missed.

Why it matters

  • Directly protects the core promise of Routines: unattended reliability. Silent failure of an unattended system is worse than no automation at all, because it creates false confidence that something is being checked when it isn't.
  • Prevents multi-week gaps in monitoring/maintenance coverage from going unnoticed, which is exactly the scenario Routines exist to prevent for the covered task itself.

Related issues (adjacent, not duplicates)

  • #79080 [FEATURE] Consolidated digest for multiple scheduled Routines firing close together — companion feature; a "Routines health" digest could combine both the aggregation and the missed-run alerting in one view.
  • #56913 Make autonomous Claude Code actually viable: tiered Opus brains + Sonnet workers + persistent state — broader autonomous-reliability theme, different specific ask.

Notes

  • Reviewed for duplicates before filing (searched "routine stopped firing silently alert") — nothing found describing this specific missed-run detection as of 2026-07-19.
  • The detection threshold should probably be configurable per-Routine (some routines are fine going quiet for a while; others are business-critical), rather than one global rule.

View original on GitHub ↗