Ik heb een bekentenis. Elke maandagochtend neem ik me voor om mijn NuGet-packages te checken op updates. Woensdag ben ik het vergeten. Vrijdag heeft Dependabot al drie PR’s geopend die ik “volgende week” ga reviewen.
Wat als Claude Code dat gewoon voor me deed? Elke ochtend om 9 uur mijn packages checken, de tests draaien, en vertellen wat er aandacht nodig heeft. Geen GitHub Actions workflow configureren. Geen YAML debuggen. Gewoon een prompt en een schema.
Dat is precies wat scheduled tasks in Claude Code doen.
Drie manieren om werk in te plannen
Claude Code biedt drie scheduling-opties, elk met eigen voor- en nadelen. Het overzicht:
| Cloud | Desktop | /loop | |
|---|---|---|---|
| Draait op | Anthropic cloud | Je eigen machine | Je eigen machine |
| Machine moet aan staan | Nee | Ja | Ja |
| Sessie moet open zijn | Nee | Nee | Ja |
| Overleeft herstart | Ja | Ja | Nee |
| Toegang tot lokale bestanden | Nee (verse clone) | Ja | Ja |
| Minimale interval | 1 uur | 1 minuut | 1 minuut |
De korte versie: gebruik cloud-taken als betrouwbaarheid belangrijker is dan lokale toegang. Gebruik Desktop-taken als je je lokale bestanden en tools nodig hebt. Gebruik /loop om snel iets te pollen tijdens een sessie.
/loop — de snelle optie
/loop is de snelste manier om iets in te plannen. Typ het in een sessie en Claude begint je prompt op interval te draaien.
/loop 5m check of de dotnet test run geslaagd is en toon failures
Dat is alles. Claude parseert het interval, zet een achtergrondtaak op, en checkt elke 5 minuten. Geen configuratiebestanden, geen dashboards, geen setup-wizards.
Het standaardinterval is 10 minuten als je er geen opgeeft. Je kunt s gebruiken voor seconden, m voor minuten, h voor uren, of d voor dagen. Seconden worden afgerond naar de dichtstbijzijnde minuut, omdat de scheduler op cron draait.
Wanneer ik /loop gebruik
Ik pak /loop erbij tijdens actief development. Een paar voorbeelden:
/loop 5m check of de staging deploy klaar is
/loop 15m check mijn open PR op nieuwe review-comments
/loop 30m draai dotnet test op het integratie-testproject en vat failures samen
Je kunt zelfs een ander commando loopen:
/loop 20m /review-pr 1234
Elke keer dat de taak afgaat, voert Claude het commando uit alsof je het zelf had getypt.
De beperkingen
/loop is sessie-gebonden. Sluit je terminal, en alle geplande taken zijn weg. Taken verlopen ook automatisch na 7 dagen. Er is geen inhaalslag voor gemiste fires — als Claude bezig is wanneer een taak moet draaien, wacht hij tot Claude idle is en draait dan één keer.
Zie /loop als een tijdelijke assistent tijdens je werksessie. Voor alles dat een herstart moet overleven, lees verder.
Desktop scheduled tasks — je lokale automatiseringslaag
Desktop scheduled tasks draaien op je machine, maar hebben geen open sessie nodig. Je maakt ze aan in de Claude Code Desktop-app, en ze draaien automatisch zolang de app open is en je computer wakker.
Het grote voordeel: ze hebben volledige toegang tot je lokale bestanden, tools en MCP-servers. Dat betekent dat ze je .sln kunnen lezen, dotnet test kunnen draaien, je lokale Git-status kunnen checken, en met elke tool kunnen werken die je hebt geconfigureerd.
Een taak opzetten
In de Desktop-app klik je op Schedule in de sidebar, dan New task → New local task. Je configureert:
- Name: iets beschrijvends zoals
nightly-test-run - Prompt: de instructies die Claude elke keer volgt
- Frequency: elk uur, dagelijks, doordeweeks, wekelijks, of handmatig
Hier is een prompt die ik zou gebruiken voor een nachtelijke testrun op een ASP.NET Core project:
Draai dotnet test op de solution in de huidige directory. Als er tests falen,
geef een samenvatting van welke projecten en tests gefaald zijn en wat de
foutmeldingen zeggen. Als alle tests slagen, zeg gewoon "Alles groen"
met het aantal tests.
Elke run maakt een nieuwe sessie in de sidebar. Je kunt hem later openen, precies zien wat Claude heeft gedaan, en reageren als dat nodig is.
Omgaan met slaapstand en gemiste runs
Desktop-taken draaien alleen terwijl je computer wakker is. Als je MacBook slaapt tijdens het geplande tijdstip, wordt de run overgeslagen. Wanneer de app weer opstart, checkt hij of er runs gemist zijn in de afgelopen zeven dagen en doet precies één inhaalrun voor het meest recente gemiste tijdstip.
Dit betekent dat een dagelijkse 9-uurtaak die het weekend mist, maandagochtend één keer draait — niet drie keer. Schrijf je prompts met dit in gedachten. Een taak gepland voor 9 uur kan in werkelijkheid om 11 uur draaien als je laptop dicht was.
Als je wilt dat je computer wakker blijft voor scheduled tasks, schakel Keep computer awake in onder de Desktop-app instellingen. De klep dichtdoen zet hem nog steeds in slaapstand.
Permissions zonder geklik
Elke taak heeft zijn eigen permission mode. De slimme aanpak: klik na het aanmaken op Run now, kijk naar permission-prompts, en selecteer “always allow” voor elk. Toekomstige runs keuren diezelfde tools automatisch goed zonder te vragen.
Cloud scheduled tasks — werkt als jij slaapt
Dit is de grote. Cloud scheduled tasks draaien op Anthropic’s infrastructuur. Je laptop kan dicht zijn, je computer uit, je telefoon in vliegtuigmodus. Claude draait je prompt gewoon op schema.
Hoe het werkt
Je maakt een cloud-taak aan op claude.ai/code/scheduled, via de Desktop-app (onder New remote task), of vanuit de CLI met /schedule. Je geeft op:
- Een prompt — wat Claude elke run moet doen
- Een of meer GitHub-repo’s — Claude kloont ze vers bij elke run
- Een omgeving — netwerktoegang, secrets, setup-scripts
- Een schema — elk uur, dagelijks, doordeweeks, of wekelijks
- Connectors — MCP-integraties zoals Slack, Linear, of Google Drive
Elke run begint vanaf de standaard-branch van je repo, doet het werk, en pusht wijzigingen naar een claude/-prefixed branch. Je reviewt de sessie op claude.ai, ziet wat er veranderd is, en maakt een PR als het er goed uitziet.
.NET use cases die echt zin hebben
Hier wordt het praktisch voor .NET developers:
Nachtelijke test suite validatie. Je ASP.NET Core project heeft 400 integratietests die 12 minuten duren. Plan een cloud-taak om de repo te klonen, dotnet test te draaien, en een samenvatting te posten. Als er iets stuk is gegaan vannacht, weet je het vóór je eerste koffie.
Wekelijkse dependency-audit. NuGet-packages krijgen kwetsbaarheden. Plan een wekelijkse taak:
Kloon de repo, draai dotnet list package --vulnerable --include-transitive.
Als er kwetsbaarheden gevonden worden, maak een branch met de updates en push die.
Lijst op wat er geüpdatet is en waarom.
Claude maakt een claude/dependency-updates branch met de fixes. Jij reviewt de PR.
Dagelijkse PR-review. Als je team open PR’s heeft die te lang blijven liggen:
Check alle open pull requests. Voor elke PR ouder dan 2 dagen zonder review,
vat samen wat er verandert en wijs op mogelijke problemen. Focus op testdekking
en breaking changes.
Koppel een Slack-connector en Claude kan de samenvatting direct in je teamkanaal posten.
Post-merge documentatie-sync. Na het mergen van PR’s driften API-docs weg van de werkelijkheid:
Vergelijk het publieke API-oppervlak van de Controllers/ directory met de docs
in docs/api/. Markeer endpoints, parameters of response types die gedocumenteerd
zijn maar niet bestaan, of bestaan maar niet gedocumenteerd zijn.
Wat cloud-taken niet kunnen
Cloud-taken hebben je lokale bestanden niet. Ze klonen je repo vers bij elke run. Dat betekent geen toegang tot lokale databases, geen lokale Docker-containers, geen bestanden buiten je repo. Als je tests een draaiende SQL Server of Redis nodig hebben, zijn cloud-taken niet de juiste keuze — gebruik dan Desktop-taken.
Cloud-taken kunnen ook niet naar willekeurige branches pushen. Ze zijn beperkt tot claude/-prefixed branches, tenzij je expliciet onbeperkte branch-pushes inschakelt voor een repo.
De juiste optie kiezen
Na het gebruik van alle drie, is dit mijn vuistregel:
Gebruik /loop als je in een sessie zit en iets wilt pollen. Deploy-status, PR-comments, buildvoortgang. Snel, wegwerpbaar, nul setup.
Gebruik Desktop-taken als het werk je lokale omgeving nodig heeft. dotnet test draaien tegen je daadwerkelijke solution met lokale dependencies, bestanden checken die niet in Git staan, lokale MCP-servers gebruiken.
Gebruik cloud-taken als betrouwbaarheid telt. Nachtelijke audits, dagelijkse reviews, wekelijkse rapporten. Dingen die moeten gebeuren of je nu achter je bureau zit of niet.
De drie opties vullen elkaar aan. Ik gebruik /loop overdag, een Desktop-taak voor mijn ochtendlijke testrun, en cloud-taken voor de wekelijkse dependency-audit. Samen zorgen ze ervoor dat het repetitieve werk dat ik altijd vergat, gewoon gebeurt.
Probeer het zelf
Begin met /loop — het kost vijf seconden:
/loop 10m draai dotnet test en vertel me of er iets stuk is
Kijk hoe het een paar keer draait. Wen aan het idee dat Claude op de achtergrond werk doet terwijl jij je op iets anders focust.
Zet dan een Desktop-taak op voor iets dat je altijd vergeet. De dagelijkse testrun. De dependency-check. De PR-review die je steeds uitstelt tot vrijdag.
Als je het patroon vertrouwt, maak een cloud-taak voor werk dat moet gebeuren als je laptop dicht is. Dán valt het kwartje: Claude Code is niet alleen een assistent waarmee je praat. Het is een assistent die voor je werkt, de klok rond.
Die NuGet-kwetsbaarheid die je volgende maand gevonden zou hebben? Claude vond hem vanochtend.