course
Varje återkommande Claude Code-uppgift har samma kostnad. Tänk en nattlig PR-granskning, en veckovis beroenderevision eller en dokumentationskontroll inför release. Var och en kräver att du sitter vid terminalen med en öppen session och tittar på när den kör. Stäng laptopen och arbetet väntar på dig.
Rutiner tar bort den kostnaden.
En rutin kör Claude Code i molnet på infrastruktur som hanteras av Anthropic, så den fortsätter arbeta när din laptop är stängd. Du skriver uppgiften en gång, pekar den mot dina repos och den triggas enligt schema eller händelse utan att en session är öppen.
Den här guiden går igenom hur du bygger din första. Du skapar en schemalagd rutin, ser den köras och utökar den sedan med större omfång och fler förmågor.
Vill du fördjupa dig täcker vår praktiska kurs Claude Code in Action allt från kontexthantering och planläge till anpassade kommandon, MCP-servrar, hooks och SDK:t.
Vad är Claude Code-rutiner?
En rutin är en sparad Claude Code-konfiguration: en prompt, ett eller flera repos och en uppsättning connectorer. Du paketerar den en gång, och den körs automatiskt på Anthropic-hanterad molninfrastruktur.
De tre delarna har varsin uppgift:
- Prompt. Den viktigaste delen eftersom rutinen körs utan ditt godkännande vid varje steg. Prompten måste bära hela uppgiften och dess definition av klart.
- Repos. Claude klonar dessa i början av varje körning och arbetar inuti dem.
- Connectorer. claude.ai-integrationerna på ditt konto, såsom Slack eller Linear, som rutinen kan läsa från och skriva till under en körning. En rutin som triagerar support kan till exempel läsa en Slack-kanal och skapa ärenden i Linear.
Connectorer för rutiner läggs till på claude.ai-plattformen, och samma gäller för MCP-servrar. Dina lokala konfigurationer följer inte med.

En rutin kan triggas på tre sätt: enligt schema, via ett API-anrop eller via en GitHub-händelse. En och samma rutin kan kombinera alla tre.
Rutiner kontra /loop
Det finns en skillnad mellan /loop och /schedule eftersom de löser olika problem.
En /loop-uppgift lever i din aktuella session. Den triggas bara medan Claude Code körs och är inaktiv på din maskin, och att stänga terminalen stoppar den. Det gör den bra för att polla en build du tittar på just nu.
För mer information om /loop och andra viktiga kommandon rekommenderar jag att du läser vår guide Claude Code Terminal.
En rutin körs i molnet och lever oberoende av alla sessioner:
|
|
Molnrutin |
|
|
Körs på |
Anthropic-moln |
Din maskin |
|
Maskin krävs |
Nej |
Ja |
|
Session krävs |
Nej |
Ja |
|
Minsta intervall |
1 timme |
1 minut |
Det finns också ett tredje, lokalt alternativ. Schemalagda skrivbordsuppgifter körs på din egen dator, för arbete som behöver dina lokala filer och verktyg. De körs bara medan maskinen är vaken, men kräver inte att Claude-appen är öppen.
Rutinen vi ska bygga
Tankemodellen sitter. Nu behöver du något för en rutin att arbeta på. För den här guiden byggde vi pr-review-demo, ett litet Python-projekt med en öppen pull request.
Det har ett cartlib-paket som hanterar en kundvagn: det lagrar priser som heltalsöre, tillämpar medlems- och volymrabatter och lägger på delstatlig moms för att komma fram till slutbeloppet. Paketen på main-branchen är korrekt.
Den öppna pull requesten lägger till en fraktfrikupong och innehåller en riktig bugg som vi lagt dit med flit. Det är en enhetsmismatch över filer, osynlig i en enskild fil och synlig först när du följer värdet över två. Det ger rutinen något verkligt att göra i resten av guiden.
Gör en fork av repot för att följa med på din egen kopia. Det är ett engångsrepo och mönstren överförs till vilket repository som helst som du pekar en rutin mot.
Förutsättningar för att följa med
Du behöver ett claude.ai-konto på en Pro-, Max-, Team- eller Enterprise-plan med Claude Code på webben aktiverat. Rutiner finns på claude.ai/code/routines.
Kommandot /schedule autentiserar med din inloggning för claude.ai-prenumerationen, inte en Anthropic API-nyckel eller Bedrock-, Vertex- eller Foundry-autentisering. Det kräver också en aktuell CLI, så kör claude update om din är gammal.
Det finns också två separata GitHub-förutsättningar. För det första ger /web-setup kloningsåtkomst, vilket den schemalagda rutinen behöver. För det andra aktiverar Claude GitHub-appen, som installeras separat, GitHub-triggers som vi täcker senare.
Bygga Claude Code-rutiner med /schedule
Med ett repo att peka på bygger du rutinen från CLI:n. Kör /schedule i valfri session. Du kan skicka en beskrivning direkt:
/schedule daily PR review at 9 am
Claude går sedan igenom samma fält som webbformuläret samlar in: namn, prompt, repository, miljö, connectorer och schema. Det bekräftar schemat i din lokala tidszon och konverterar det åt dig, så att 9 am blir rätt cron-uttryck utan att du skriver ett själv.

Om ditt konto ännu inte har någon GitHub-anslutning ber Claude dig att köra /web-setup. Kör det och kör sedan /schedule igen för att fortsätta där du slutade.
Skriva en prompt som körs utan dig
Prompten avgör om den här rutinen lyckas eller misslyckas.
En vanlig session är ett samtal, så du kan korrigera Claude efterhand. En rutin har ingen som korrigerar. Den startar kallt, kör till slut och kan inte ställa en förtydligande fråga. Prompten måste namnge uppgiften, repot och hur en avslutad körning ser ut.
Jämför de här två. Den första lämnar för mycket osagt:
Review the open PR.
Den namnger inte ett repo eller granskningskriterier, har ingen plats för kommentarer och ingen definition av klart. En kall körning kan inte fylla de luckorna. Den andra prompten besvarar allt:
Review the open pull request in pr-review-demo. The cartlib package works entirely in integer cents. Read the checkout flow and the values it pulls from config.py, and check that every amount stays in cents end to end. If any value is mixed in using the wrong unit, leave an inline comment on that line explaining the error and its effect on the customer's total. Then, post a summary comment stating whether the PR is safe to merge.
Den prompten namnger repot och anger den invariant koden måste hålla: alla belopp i öre. Den pekar på de två filer som spelar roll och definierar klart som en inline-kommentar plus en merge-dom. Det ger körningen ett mål den kan träffa själv. Klistra in den när /schedule frågar vad agenten ska göra.
Alla dina connectorer inkluderas som standard, så en ny rutin kan redan nå allt ditt konto är kopplat till. Det är okej nu, och i ett senare avsnitt trimmar vi ner det.
När du är klar sparar Claude rutinen och bekräftar att den är aktiv, med dess repository, schema, modell och nästa körtid.

Rutinen visas också i listan på claude.ai/code/routines. Öppna dess detaljsida för att se allt på ett ställe. Det inkluderar status, repository, schema, connectorer, hela prompten och en Kör nu-knapp.

Klicka på Kör nu för att köra den direkt, i stället för att vänta till kl. 9.
Läsa körningen
Körningen startar från en färsk klon av ditt repository, hämtad från standardbranchen. Allt du har committat finns där. Allt du endast har satt upp på din egen maskin finns inte, så rutinen ser repot som dina kollegor skulle göra.
När den är klar visar körlistan en grön status. Grönt betyder att sessionen kördes och avslutades utan infrastrukturfel. Det betyder dock inte att uppgiften i din prompt lyckades. Tre typer av fel döljer sig bakom en grön bock och syns bara i transkriptet:
- Ett nätverksanrop som miljön blockerade.
- Ett connector-verktyg som rutinen förväntade sig men inte kunde nå.
- Ett uppgiftsfel där körningen avslutades rent men gjorde fel sak.

Öppna därför körningen för att bekräfta den. Klicka på valfri körning för att läsa den som en fullständig session, där du kan se vad Claude gjorde, granska diffen, öppna en pull request eller fortsätta konversationen.
I demorepot visar transkriptet upptäckten. Claude läser checkout.py och finner att kupongen tilldelas 5 i stället för 500. Den förklarar att detta applicerar 5 $ som 5 öre, vilket överdebiterar kunden med 4,95 $ per order, och ger fixen på en rad. Sedan postar den granskningen på PR:en via GitHub-connectorn.

Hantera Claude Code-rutiner från CLI
När en rutin finns hanterar du den med samma kommando. Kör /schedule list för att se alla, /schedule update för att ändra en och /schedule run för att trigga en direkt.
Schemapresetarna är varje timme, dagligen, vardagar och veckovis. För ett anpassat intervall, som varannan timme eller första dagen i månaden, välj närmaste preset först. Kör sedan /schedule update för att ange ett cron-uttryck direkt. Minsta intervall är 1 timme och allt snabbare avvisas.
Rutiner räknas också mot ditt kontos dagliga körkvot, och under forskningspreviewen har GitHub-händelser timvisa begränsningar. Händelser efter gränsen släpps, inte köas. De aktuella siffrorna varierar per plan och visas på claude.ai/code/routines.
CLI:n skapar bara schemalagda rutiner. För att lägga till en GitHub- eller API-trigger, redigera rutinen i webbappen.
Trigga Claude Code-rutiner från GitHub och HTTP
Schemat triggar din rutin enligt klockan. Två andra triggers låter GitHub eller dina egna system trigga samma rutin. En PR-granskningsrutin kan köras nattligen, reagera på varje ny PR och starta från ett deployscript, samtidigt.
Du lägger till båda genom att redigera rutinen på claude.ai/code/routines.
Reagera på pull requests med en GitHub-trigger
GitHub-triggern kräver att Claude GitHub-appen är installerad på det repository du vill prenumerera på. Om appen saknas uppmanar triggerinställningen dig att installera den. Notera att /web-setup från tidigare endast ger kloningsåtkomst. Den installerar inte appen eller levererar webhooks, så att köra den täcker inte detta steg.
När appen är installerad, lägg till triggern och välj en händelse. Händelserna faller i två kategorier, pull requests och releaser, och du väljer en specifik åtgärd inuti en. Gränssnittet visar vanliga som presets, t.ex. PR öppnad, PR sammanslagen och Release publicerad, plus ett Anpassad-alternativ för resten.
Begränsa sedan med filter. För pull requests kan du filtrera på författare, titel, brödtext, basgren, huvudgren, etiketter, är-utkast och är-sammanslagen. Alla villkor måste matcha för att rutinen ska triggas.
Operatorn matches regex testar hela fältet, inte en delsträng. För att matcha en titel som innehåller hotfix, skriv .*hotfix.*. Ett vanligt hotfix matchar bara en titel som är exakt det, och inget annat.

GitHub-triggern inställd att trigga vid en ny pull request, filtrerad till main-branchen och en specifik författare.
För demorepot, ställ in händelsen på att en pull request öppnas och lämna filtren öppna. Nu triggar varje ny PR granskningen du skrev tidigare, utan någon vid terminalen. Den följer kupongens enhet över filerna, lämnar en inline-kommentar på buggen och postar en merge-dom.
Varje matchande händelse startar sin egen session, så två PR:er i rad ger två oberoende körningar.
Trigga en rutin över HTTP
API-triggern låter dina egna verktyg trigga en rutin. Välj API under triggerväljaren och klicka på Generate token. Token visas en gång och kan inte hämtas senare, så lagra den direkt i ditt larmvertygs hemlagring.
Skicka sedan POST till rutinens fire-endpoint med token och en text-kropp:
curl -X POST https://api.anthropic.com/v1/claude_code/routines/$ROUTINE_ID/fire \
-H "Authorization: Bearer $ROUTINE_TOKEN" \
-H "anthropic-version: 2023-06-01" \
-H "anthropic-beta: experimental-cc-routine-2026-04-01" \
-H "Content-Type: application/json" \
-d '{"text": "Sentry alert SEN-4521 fired in prod. Stack trace attached."}'
Värdet text skickas som en bokstavlig sträng och parsas inte, så skriv vanlig text i stället för JSON. Strukturerad input kommer som råtext och rutinen läser den ordagrant.
Headern anthropic-beta krävs, och API:et är experimentellt, så kolla API-referensen innan du kopplar in det i CI. Därifrån kan ett övervakningsverktyg anropa denna endpoint vid ett larm och låta rutinen öppna en PR med utkast till fix på egen hand.
Avgränsa vad Claude Code-rutiner kan nå
En rutin körs självständigt, så innan du pekar en mot ett riktigt repo bör du begränsa vad den kan nå. Dokumentationen beskriver detta som fyra kontroller:
- Vem rutinen agerar som, via din GitHub-identitet och connectorer.
- Vilka grenar den kan pusha till.
- Vilka connectorer den kan använda.
- Vilka värdar miljön låter den nå över nätverket.
Begränsa varje till vad rutinen faktiskt behöver.
Rutinens identitet
Identitet kommer först eftersom det är vad en kollega lägger märke till i ett delat repo. Allt en rutin gör via din GitHub-identitet eller dina connectorer visas som du.
Commits och pull requests bär din GitHub-användare, och Slack-meddelanden och Linear-ärenden använder dina länkade konton. Kollegor ser ditt namn på de commiten och PR:erna, så namnge grenar och titlar på ett sätt som signalerar att en rutin skapade dem.
Grenar som rutinen kan pusha till
Grenar kommer härnäst. En körning är en full molnsession utan behörighetsfrågor, så den stannar aldrig för att fråga innan den redigerar en fil eller öppnar en pull request.
Skyddsräcket är grenen den kan skriva till. Som standard pushar Claude bara till grenar med prefixet claude/, vilket håller den borta från skyddade eller långlivade grenar som main.
En inställning per repository, Tillåt obegränsade pushar till grenar, tar bort den begränsningen. Slå på den medvetet, bara för ett repo som behöver det.
Connectorer som rutinen kan använda
Connectorer är den mest riskfyllda av de fyra. Alla dina claude.ai-connectorer inkluderas som standard, och Claude kan använda varje verktyg från en inkluderad, inklusive skrivningar, utan att fråga under en körning.
Trimma därför listan till vad rutinen behöver. En PR-granskningsrutin behöver GitHub och inte mycket mer. En bortkommen e-post- eller kalenderconnector är en åtkomst som rutinen inte har nytta av, och en promptinjektion dold i en PR skulle kunna vända den åtkomsten mot dig.

Nätverksåtkomst
Nätverksåtkomst är den sista kontrollen. Standardmiljön använder betrodd nätverksåtkomst, som når en inbyggd allowlist av paketregister, molnleverantörers API:er, containerregister och vanliga utvecklingsdomäner, och blockerar resten.
Ett blockerat anrop misslyckas med 403 och en x-deny-reason: host_not_allowed. Bredda den bara när rutinen måste nå dina egna tjänster. Annars är felet tyst och syns i transkriptet snarare än som ett tydligt fel.
Idéer för Claude Code-rutiner att bygga härnäst
Du kan bygga, trigga och avgränsa en rutin. Dessa exempel från den officiella dokumentationen parar varsin uppgift med den trigger som passar:
- Skräddarsydd kodgranskning. GitHub-trigger vid PR öppnad. Den tillämpar teamets granskningschecklista, lämnar inline-kommentarer för säkerhet, prestanda och stil samt lägger till en sammanfattning. Detta är demon, generaliserad till dina riktiga standarder.
- Backloggvård. Schematrigger, varje vardagskväll. Den läser ärenden som öppnats sedan senaste körningen, tillämpar etiketter, tilldelar ägare utifrån kodområdet som varje ärende refererar till och postar en sammanfattning till Slack.
- Deployverifiering. API-trigger från din CD-pipeline efter varje produktionsdeploy. Den kör rökkontroller mot den nya bygget, skannar felloggar efter regressioner och postar ett go eller no-go till releasekanalen.
- Dokumentationsdrift. Schematrigger, veckovis. Den skannar sammanslagna PR:er sedan senaste körningen, flaggar dokument som refererar till ändrade API:er och öppnar uppdaterings-PR:er mot dokumentationsrepot.
Rutiner passar arbete som är obevakat, upprepningsbart och knutet till ett tydligt utfall. Om du kan skriva in framgångskriterierna i prompten, som du gjorde för PR-granskningen, är uppgiften en kandidat. Arbete som kräver mänskligt omdöme i realtid är det inte.
Slutsats
Rutiner förändrar hur du lägger tid på återkommande arbete. I stället för att köra varje uppgift i terminalen skriver du den en gång och granskar vad som redan har körts. PR-granskningen du byggde triggas medan din laptop är stängd, och du läser domen när du är redo.
För att komma vidare med Claude Code passar följande guider bra ihop med denna:
- Claude Code bästa praxis för att få ut mer av varje session.
- Skriva en CLAUDE.md-fil för att ge dina rutiner och sessioner delad kontext.
- Specdriven utveckling för uppgifter som är värda att specificera innan du automatiserar dem.
- Auto-läge och kanaler för att köra Claude Code med mindre övervakning.
Claude Code-rutiner: Vanliga frågor
Vad är en Claude Code-rutin?
En rutin är en sparad Claude Code-konfiguration: en prompt, ett eller flera repos och en uppsättning connectorer. Du paketerar den en gång, och den körs automatiskt på molninfrastruktur som hanteras av Anthropic, triggad enligt schema, av ett API-anrop eller av en GitHub-händelse.
Hur skiljer sig en rutin från /loop?
En /loop-uppgift är sessionsscope:ad. Den körs bara medan Claude Code är öppet och inaktivt på din maskin, och att stänga terminalen stoppar den. En rutin körs i molnet och lever oberoende av alla sessioner, så den fortsätter arbeta när din laptop är stängd. Minsta intervall är 1 timme för en rutin och 1 minut för /loop.
Hur skapar jag en rutin?
Kör kommandot /schedule i valfri Claude Code-session, till exempel, /schedule daily PR review at 9 am. Claude går igenom samma fält som webbformuläret samlar in (namn, prompt, repository, miljö, connectorer och schema), och sparar sedan rutinen till ditt konto, där den visas på claude.ai/code/routines.
Kan en rutin köras när min laptop är stängd?
Ja. Rutiner körs på molninfrastruktur som hanteras av Anthropic i stället för din maskin, så en schemalagd eller triggad körning slutförs även när din laptop är stängd. Du kan följa en körning på webben eller kontrollera dess transkript i efterhand.
Hur styr jag vad en rutin kan nå?
Avgränsa rutinen genom fyra kontroller: identiteten den agerar som, grenarna den kan pusha till, connectorerna den kan använda och nätverksvärdarna den kan nå. Som standard pushar Claude bara till grenar med prefixet claude/, och alla dina connectorer inkluderas, så trimma connectorlistan och bredda nätverksåtkomsten endast när rutinen verkligen behöver det.