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.

5 min readSume
All posts

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.

Claude Code Desktop local task vs Sume Scheduled cron schedule. Sources: Claude Code docs and Sume docs, read 2026-10-04.
QuestionDesktop local taskSume Scheduled (cron)
Where does it runOn your machineSume runs the Agent in a fresh thread
Machine must be awakeYes, app open and awakeNot a property of your machine
How you set the cadencePresets, or ask Claude for custom intervals5-field cron expression and an IANA timezone
How you create itRoutines page or by asking in a sessionAgents dashboard, or ask the Agent in chat; the API cannot create it
When a run is not startedSkipped, with a reason in historyStatus skipped with skip_reason previous_run_active
Spend boundPer-task permission modeGeneration 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

All Agents posts

Written by Sume