Routines Calendar view doesn't show triggers with multi-value cron fields

Status Fixed / completed
Maintainer reply ✓ Yes — ashwin-ant
Activity 5 comments · opened Apr 16, 2026 · closed Apr 17, 2026
💡 Likely answer: A maintainer (ashwin-ant, collaborator) responded on this thread — see the highlighted reply below.

Description

In the Claude Desktop Routines Calendar view, remote triggers that use multi-value cron hour fields (e.g., 0 9,12,16 * * 1-5) do not appear on the calendar, even though they are enabled and scheduled.

Steps to Reproduce

  1. Create a remote trigger with a cron expression containing a comma-separated hour field, e.g. 0 9,12,16 * * 1-5 (runs at 9:00, 12:00, and 16:00 on weekdays)
  2. Open Claude Desktop → Routines → Calendar tab
  3. Look at today's scheduled routines

Expected Behaviour

The trigger should appear 3 times on the calendar for today (once per scheduled hour).

Actual Behaviour

The trigger does not appear at all in the Calendar view. Other triggers with simple cron expressions (e.g., 16 8 * * 1-5) show correctly.

The trigger does appear when clicking the "All" tab, and the API confirms it is enabled with a valid next_run_at timestamp.

Environment

  • Claude Desktop on Windows 11
  • Trigger confirmed active via API (RemoteTrigger list action)

View original on GitHub ↗

5 Comments

0xbrainkid · 6 months ago

The root cause here is almost certainly in the cron parsing logic for the Calendar expansion — the parser that generates per-day occurrence times from a cron expression likely splits on the first hour value and stops, rather than iterating over the full comma-separated list.

The discriminating test: what happens with a step expression that generates multiple fire times? e.g. 0 9-17/4 * * 1-5 (fires at 9, 13, 17 on weekdays). If that also doesn't appear in Calendar view, the issue is in the occurrence expansion step, not comma-list parsing specifically. If step expressions work but comma lists don't, it's a parsing bug before expansion.

Quick diagnostic: Does the Calendar view show the correct single occurrence when you reduce to 0 9 * * 1-5? If yes, and swapping to 0 9,12 * * 1-5 makes it disappear entirely (not just show one), then the calendar expansion is treating the comma-separated list as an invalid expression rather than a multi-value field.

Worth noting that next_run_at being correctly populated in the API confirms the scheduling engine parses the expression correctly — only the Calendar UI rendering is broken. The fix is likely in the Calendar view's own cron-to-occurrence expansion, independent of the scheduling backend.

AntonyW94 · 6 months ago

Update: Confirmed the issue is specifically caused by multi-value cron hour fields (comma-separated values like 9,12,16).

Test performed:

  1. Trigger with cron 0 9,12,16 * * 1-5 → does NOT appear in Calendar view
  2. Changed to 0 9 * * 1-5 (single value) → appears immediately in Calendar view
  3. Changed to 0 15 * * 1-5 (different single value) → still appears fine

The trigger exists and runs correctly in all cases (visible in the "All" tab and via the API). It's purely a Calendar view rendering issue with comma-separated cron fields.

0xbrainkid · 6 months ago

The root cause here is almost certainly in the cron parsing logic for the Calendar expansion — the parser that generates per-day occurrence times from a cron expression likely splits on the first hour value and stops, rather than iterating over the full comma-separated list.

The discriminating test: what happens with a step expression that generates multiple fire times? e.g. 0 9-17/4 * * 1-5 (fires at 9, 13, 17 on weekdays). If that also does not appear in Calendar view, the issue is in the occurrence expansion step, not comma-list parsing specifically. If step expressions work but comma lists do not, it's a parsing bug before expansion.

Quick diagnostic: Does the Calendar view show the correct single occurrence when you reduce to 0 9 * * 1-5? If yes, and swapping to 0 9,12 * * 1-5 makes it disappear entirely (not just show one), then the calendar expansion is treating the comma-separated list as an invalid expression rather than a multi-value field.

Worth noting that next_run_at being correctly populated in the API confirms the scheduling engine parses the expression correctly — only the Calendar UI rendering is broken. The fix is likely in the Calendar view's own cron-to-occurrence expansion, independent of the scheduling backend.

ashwin-ant collaborator · 6 months ago

Fix on the way

github-actions[bot] · 5 months ago

This issue has been automatically locked since it was closed and has not had any activity for 7 days. If you're experiencing a similar issue, please file a new issue and reference this one if it's relevant.