Claude Desktop scheduled task skipped? Computer asleep vs Sume cron
Desktop scheduled tasks only fire while the app is open and the computer is awake. Where a Sume Scheduled cron run differs and when to use each.

If a Claude Code Desktop scheduled task did not fire, check whether the computer was asleep. Anthropic's docs say local tasks run only while the desktop app is running and the computer is awake, and a run that comes due during sleep is skipped (Claude Code docs, read 2026-10-04).
A Sume Scheduled cron schedule works differently. It is a saved automation that Sume itself runs as an Agent in a fresh thread, so the clock is not tied to your laptop. The trade-off is authoring: you create schedules in the Sume Agents dashboard, not from a Claude session.
What the Desktop docs say about skipped runs
Desktop checks the schedule every minute while the app is open and starts a fresh session when a task is due. Each task also gets a small deterministic delay of a few minutes after the scheduled time.
The task history keeps skipped runs. Hovering one shows why: the computer was asleep, the previous run was still in progress, or other scheduled tasks were already running. The docs also describe a Keep computer awake setting for idle sleep, and note that closing the laptop lid still puts the machine to sleep.
- Local tasks need the app running and the machine awake.
- A remote routine is the Claude option that runs in the cloud with your computer off.
- A Desktop task can reach local files; a routine works from a fresh clone.
Side by side with a Sume schedule
The table compares the two on the points that decide whether a recurring render or report actually happens.
| Question | Desktop local task | Sume Scheduled (cron) |
|---|---|---|
| Where does it run | On your machine | Sume runs the Agent in a fresh thread |
| Machine must be awake | Yes, app open and awake | Not a property of your machine |
| How you set the cadence | Presets, or ask Claude for custom intervals | 5-field cron expression and an IANA timezone |
| How you create it | Routines page or by asking in a session | Agents dashboard, or ask the Agent in chat; the API cannot create it |
| When a run is not started | Skipped, with a reason in history | Status skipped with skip_reason previous_run_active |
| Spend bound | Per-task permission mode | Generation spend cap, $1.00 per run when unset |
Pick by what the task touches
Use a Desktop task when the work needs your local repository or files. Use a Sume schedule when the work is media generation or a report that should land on time whether or not you are at your desk, and let the spend cap bound each run.
You can read a schedule from a script to see when it last ran and when it fires next. Each item carries last_run_at and cron.next_run_at. Listing needs a key with the actions:read scope.
curl -sS "https://api.sume.com/v1/actions" \
-H "Authorization: Bearer $SUME_API_KEY"If you keep the Desktop task
Turn on Keep computer awake, and write guardrails into the prompt, because a catch-up run can fire hours late. If the task calls paid Sume tools, give every call a stable key so a late or repeated run cannot bill twice. See the catch-up run post.
Quick checks when a run did not happen
Work through the Desktop side first, then the Sume side. Most missed runs are one of the first three items.
- Was the desktop app running at the scheduled time, plus the few-minute stagger?
- Was the computer awake, or was it sleeping with the lid closed?
- Is the task Active rather than Paused, and does history show a skipped entry with a reason?
- On Sume, read the run's status. A run that never started because another was active is recorded as skipped with skip_reason previous_run_active.
- A skipped Sume run never sends a webhook, so read the status on the create response instead of waiting for a POST.
Sources
Related posts
More in Agents
- Claude Desktop task can reschedule itself; a Sume schedule cannot
Desktop tasks can edit their own cadence with update_scheduled_task. A Sume schedule has a fixed trigger and no write API. What to do instead.
- Cursor Projects coordinator fan-out: size waves from generation_limits
A Cursor coordinator that delegates to subagents can overrun a Sume workspace. Budget new in-flight jobs from generation_limits, not from wave_size_hint.
- Parallel tool calls on a voice agent: one idempotency key each
ElevenLabs agents default enable_parallel_tool_calls to true. If tools start paid jobs, give each call its own key and wait on all job ids in one batch.
- Hermes cron fixes for run now, and Sume's one-active-run rule
Hermes fixed run-now cancelling the next scheduled run. Sume schedules allow one active run: a second is skipped, or rejected if you ask for reject.
Written by Sume