CC scheduled tasks: desktop routines versus cloud agents

Definitie

Claude Code biedt twee wegen om prompts op een cron-schema te laten uitvoeren: routines in de CC desktop app (draaien op jouw machine) en remote scheduled agents op claude.ai/code/scheduled (draaien op Anthropic-servers). Beide accepteren een cron-expressie plus een prompt-template; ze verschillen in runtime-omgeving, toegang tot lokale resources en machine-afhankelijkheid.

Context

Verkend in april 2026 bij de overweging om Atelier sub-project A tasks unattended overnight te executen. Niet elke prompt past in beide mechanismen. Een verkeerde keuze leidt tot gefaalde runs (cloud-agent die lokaal filesystem niet kan bereiken) of gemiste runs (desktop-routine die niet firet omdat de Mac sliep).

Kernpunten

Desktop routines.

Aangemaakt via /schedule in CC desktop of via het Scheduled tabblad. Vereist Pro, Max, Team of Enterprise plan. Config: naam, prompt, frequentie (cron), model, working folder. Elke run creeert een aparte thread; outputs landen in de working folder. De prompt wordt na de eerste run automatisch door Claude verfijnd, met vaste paden en connectors.

Cruciale constraint: de Mac moet aan en wakker zijn wanneer de trigger afgaat. Slapende laptop = geskipte run. Bij het heropenen van de app draait de laatst gemiste instance eenmaal.

Geschikt voor: werk dat lokale bestanden, lokale git-repos, lokale MCP-servers of lokale tools nodig heeft. Voorbeelden: build-taken op projecten in ~/Claude/projects/, vault-mcp queries, sync-scripts, automatische backlog-orientatie.

Cloud scheduled agents.

Beheerd via claude.ai/code/scheduled. Draaien op Anthropic-infrastructuur in een isolated environment. Machine-onafhankelijk. Geen toegang tot jouw filesystem of lokale MCP-servers; werkt met git-remotes, webhooks, API’s.

Geschikt voor: checks op remote services, API-polling, taken die op GitHub of andere cloud-resources opereren, notificaties en agendapunten. Niet geschikt voor lokale monorepo-werkzaamheden.

Mijn keuze-heuristiek.

Als de taak een pad onder ~/ aanraakt of een lokale MCP-server nodig heeft: desktop. Anders: cloud. Bij twijfel: desktop, want het biedt meer mogelijkheden. Accepteer dan de machine-moet-aan constraint via pmset of caffeinate.

Off-minutes vermijden. Elke user die “9 uur” vraagt krijgt 0 9 * * *. Het cron-venster op Anthropic-kant wordt dan druk. Kies een off-minute: 17 9 * * * of 3 1 * * *. Scheelt real-world vertraging en jitter.

Overnight executor prompt-patroon.

Voor unattended executie van een implementatieplan is het prompt-ontwerp de helft van het werk. Kernregels die ik nu hanteer:

  • Stand-alone prompt, zonder sessie-context. Lees current state uit bestanden (plan, backlog, git log).
  • Harde safety: alleen feature-branches, nooit op main, geen push, geen merge.
  • Expliciete stop-condities: reviewer NEEDS_FIX na 1 fix-ronde, implementer BLOCKED of NEEDS_CONTEXT, token-cap bereikt (circa 120K), N tasks voltooid (standaard 2), of out-of-scope task bereikt.
  • Logging verplicht: iedere run schrijft naar backlog tasks notes plus een afsluitrapport in <project>/backlog/docs/overnight-run-YYYY-MM-DD.md.
  • Menselijke review-gate bij elk resultaat: feature-branches wachten op Jim’s merge of delete.

Een concrete template voor Atelier sub-project A staat in ~/Claude/projects/atelier/docs/schedule-prompt-A-overnight.md.

Niet geschikt voor bulk-execution. Een 40-taken-plan past niet in één venster. Overnight betekent 2-4 tasks per run, niet “alles klaar tegen de ochtend”. Plan dus maandenlang met nachtelijke mini-batches en dag-werk voor complexere tasks.

Verbanden

Bronnen

Claude Unleashed. (2026). How to schedule daily tasks in Claude. https://claudeunleashed.substack.com/p/how-to-schedule-daily-tasks-in-claude (auteur niet vermeld in bron-metadata; aangehaald als organisatie-auteur)

Aanvullend uit eigen verkenning tijdens Atelier sub-project A pilot.

Sessie-herkomst