Claude Code: 30-minutters grense for bakgrunnskommandoer
MarkdownClaude Code stopper en bakgrunnskommando etter 30 minutter ved ubetjente kjøringer: -p, Agent SDK, CI, sky. Slik øker du grensen, og dette gjør du etter at en kommando har stoppet.
Les hele artikkelen
Claude Code stopper en bakgrunnskommando etter 30 minutter når den kjører uten tilsyn: ved en oppstart med flagget -p, en Agent SDK-applikasjon, en CI-jobb eller en skyøkt. Hvis Claude angir en kjøretid for selve kommandoen, kjører den i maksimalt 2 timer. I den vanlige terminalen, skrivebordsappen og VS Code har det ikke vært noen grense siden versjon 2.1.288.
Før satt jeg foran skjermen hele dagen: ga agenten ett trinn, så over resultatet, gjorde en justering og ba den fortsette. Fase etter fase. Maskinen skrev kanskje koden, men det var jeg som styrte den. Nå lager jeg en plan, deler den inn i faser, overlater implementeringen til subagenter over natten og går min vei. I løpet av 8 timer uten meg arbeider Claude seg gjennom planen: undersøker, bygger og forbedrer. Om morgenen bruker jeg mer tid på å godta arbeidet enn på å gjøre det på nytt.
Men hvis en nattlig kjøring bruker -p, kjører etter en tidsplan på en server, i CI eller i skyen, varer en utviklingsserver eller et bygg som kjører i bakgrunnen bare i 30 minutter. Deretter stopper Claude Code dem, og arbeidet gjennom natten går i stå halvveis. Jeg forklarer hvem grensen gjelder for, hvordan du kan øke den, og hva du gjør hvis en kommando allerede har stoppet. La oss sette i gang.
Se Ailoot-dokumentasjonen for hjelp med å bruke tjenesten.
Viktigste poeng
Siden versjon 2.1.285 har Claude Code stoppet bakgrunnskommandoer selv når tidsgrensen nås, og fortalt Claude hvorfor. Siden versjon 2.1.288 gjelder grensen bare for ubetjente kjøringer: -p, Agent SDK, CI og skyøkter. En kommando som startes direkte i bakgrunnen, kjører i 30 minutter eller den angitte tiden, men maksimalt 2 timer. En kommando som flyttes til bakgrunnen etter et tidsavbrudd, kjører i 30 minutter fra det tidspunktet. Du kan øke grensen med 2 variabler i innstillingsfilen ~/.claude/settings.json.
Hvem grensen gjelder for
En bakgrunnskommando er noe Claude starter og lar kjøre mens den holder på med noe annet. Det kan for eksempel være en utviklingsserver startet med npm run dev, eller et bygg som følger med på filendringer.
Dokumentasjonen for Claude Code sier:
I en økt som kjører uten tilsyn, for eksempel en kjøring med flagget
-p, en Agent SDK-applikasjon, en CI-jobb eller en skyøkt, har Bash- og PowerShell-kommandoer i bakgrunnen en tidsgrense. En lokal økt du arbeider i fra en terminal, skrivebordsappen eller VS Code-utvidelsen, har ingen tidsgrense for bakgrunnskommandoer.Tidsgrensen krever Claude Code v2.1.285 eller nyere. Før v2.1.288 gjaldt den i alle økter.
Med andre ord gjelder grensen når du ikke er til stede: en kjøring med -p, en Agent SDK-applikasjon, en CI-jobb eller en skyøkt. Det er ingen grense i terminalen, skrivebordsappen eller VS Code når du selv arbeider i økten. Grensen ble innført i 2.1.285 og gjaldt overalt før 2.1.288.
Slik finner du ut om dette gjelder deg:
- Du åpnet Claude Code i terminalen eller VS Code, ga den en oppgave og la deg. Det er ingen grense hvis versjonen er 2.1.288 eller nyere. I versjonene 2.1.285 til og med 2.1.287 gjelder den også her. Jeg har forklart hvordan du oppdaterer til den nyeste versjonen i en egen artikkel.
- Claude Code startes med
claude -p "task"etter en tidsplan, fra din egen Agent SDK-applikasjon eller i CI. Grensen gjelder. - Oppgaven kjører i en skyøkt. Grensen gjelder.
Når jeg setter agenter til å arbeide selvstendig, skriver jeg i ledeteksten: «Skriv disse vilkårene og årsakene til å stoppe inn i arbeidsplanen. Kontroller at prosessen ikke er avhengig av et vindu jeg lukker, eller av selve datamaskinen.» Grensen på 30 minutter er en av disse årsakene.
Hvor lenge en bakgrunnskommando kjører
Nedtellingen starter når kommandoen går over i bakgrunnen. Det finnes 2 tilfeller.
Claude starter kommandoen direkte i bakgrunnen. Den får 30 minutter. Hvis Claude angir en tid når kommandoen startes (parameteren timeout), får den den tiden, men maksimalt 2 timer.
Kommandoen blir ikke ferdig mens Claude venter på den. Claude venter i 2 minutter på en vanlig kommando. Hvis den ikke er ferdig da, stopper ikke Claude Code den, men flytter den til bakgrunnen. Fra det tidspunktet har den 30 minutter.
Når tiden er ute, stopper Claude Code kommandoen og forteller Claude:
Background command "<description>" was stopped after reaching its background time limit
Hvis arbeidet ikke er ferdig, kan Claude kjøre kommandoen på nytt med lengre tid.
Og et poeng til om -p. Med denne typen kjøring avsluttes bakgrunnskommandoer omtrent 5 sekunder etter Claudes siste svar. En server som startes i en nattlig kjøring med -p, kjører bare så lenge selve kjøringen varer. Grensen på 30 minutter er viktig når kjøringen varer lenger: Claude starter en server i begynnelsen og bruker en time på å kjøre kontroller mot den.
Slik organiserer du nattarbeid i Claude Code
Jeg ble lei av å styre agenten hele dagen, så jeg erstattet det med én orkestrator-ledetekst. Jeg starter den om kvelden, og Claude arbeider hele natten gjennom fasene i rekkefølge: skriver, kontrollerer, retter og committer på egen hånd.
Grupper av subagenter skriver koden, hver med sine egne filer, slik at de ikke er i veien for hverandre. En annen, ny gruppe tar imot arbeidet: kodegjennomgang, sikkerhetskontroller og kontroller i praksis. Hvis de finner et problem, blir det rettet med en gang, og kontrollene kjøres på nytt. Ledeteksten inneholder setningen: «Hvis du går tom for kontekst, registrer statusen; neste kjøring fortsetter.»
I eksempelet som beskrives, ble 8 av 14 faser fullført på denne måten i løpet av 3 dager.
Det er bare 2 ting å huske på. Orkestratoren tenker ikke for deg: Skriv først en detaljert plan med faser, og start deretter nattøkten. Den bruker også mye av abonnementskvoten din, så det er liten vits i å sette opp dette for en liten oppgave. Begrens alltid antall forsøk, ellers bruker agenten opp hele abonnementskvoten din i løpet av natten. Jeg har forklart hvordan du setter slike forbruksgrenser i en egen artikkel.
Slik øker du grensen
Alternativ 1: spør Claude. Claude velger kjøretiden for en bestemt kommando; du angir den ikke selv. Men du kan skrive i oppgaven: «La utviklingsserveren kjøre i bakgrunnen i 2 timer.» Du får ikke mer enn 2 timer på denne måten.
Alternativ 2: variabler i innstillingsfilen. Verdiene angis i millisekunder. Du kan ikke senke grensene til under 30 minutter og 2 timer; du kan bare øke dem.
BASH_DEFAULT_TIMEOUT_MSsatt over1800000(30 minutter) endrer standardgrensen på 30 minutter. Den gjelder både kommandoer Claude starter i bakgrunnen uten å angi en tid, og kommandoer som flyttes til bakgrunnen etter et tidsavbrudd. Hvis du setter den over7200000(2 timer), heves også øvre grense.BASH_MAX_TIMEOUT_MSsatt over7200000(2 timer) hever den øvre grensen på 2 timer. Den endrer ikke standardgrensen på 30 minutter: en kommando uten egen angitt tid stopper fortsatt etter 30 minutter.
BASH_DEFAULT_TIMEOUT_MS har en bieffekt. Den samme variabelen angir hvor lenge Claude venter på en vanlig kommando før den flyttes til bakgrunnen. Setter du den til 1 time, venter Claude 1 time i stedet for 2 minutter. Det er ikke noe problem om natten. På dagtid må du vente lenger på svar når kommandoer tar lang tid.
Hvis du ikke vil gå gjennom detaljene: Trenger du 3 timer både for vanlige kommandoer og for den øvre grensen, setter du BASH_DEFAULT_TIMEOUT_MS til 10800000. Det er nok; du trenger ikke den andre variabelen.
Innstillingsfilen ligger i .claude-mappen i hjemmekatalogen din: ~/.claude/settings.json på macOS og Linux, og %USERPROFILE%\.claude\settings.json på Windows. Opprett filen hvis den ikke finnes. En grense på 1 time ser slik ut:
{
"env": {
"BASH_DEFAULT_TIMEOUT_MS": "3600000"
}
}
Hvis filen allerede har en env-blokk, legger du linjen til der. En kjørende økt henter de nye verdiene når du lagrer filen. Hvis du fjerner en variabel, trer det først i kraft neste gang du starter claude.
Filen må ligge på maskinen der agenten kjører. For at agenten skal arbeide hele natten, må datamaskinen ikke gå i dvale. Du kan også kjøre Claude Code på en ekstern server og legge innstillingene der.
Hvis kommandoen allerede har stoppet
Du trenger ikke gjøre noe manuelt. Claude Code forteller Claude hvorfor en kommando stoppet, så spør først bare hva som skjedde.
Fortsett deretter trinn for trinn:
- En enkelt lang kjøring på opptil 2 timer. Be Claude kjøre kommandoen på nytt med lengre tid.
- Kommandoer trenger regelmessig mer enn 30 minutter. Sett
BASH_DEFAULT_TIMEOUT_MSover1800000i innstillingsfilen, som i eksempelet ovenfor. Hvis du trenger mer enn 2 timer, setter du ogsåBASH_MAX_TIMEOUT_MSover7200000der. - Kjør kommandoen på nytt. Dokumentasjonen lover ingenting om en kommando som allerede kjørte i bakgrunnen før endringen.
- Kontroller resultatet av neste kjøring. Hvis rapporten fra Claude igjen inneholder uttrykket «stopped after reaching its background time limit», ble ikke innstillingen brukt for den kommandoen.
Subagenter og rutiner sørger for at agenten fortsetter å arbeide mens du er borte.
Jeg har forklart hvordan du lar en agent kjøre i en løkke hele natten i en egen artikkel. Og her forklarer jeg hvordan du konfigurerer Claude Code slik at det ikke ødelegger prosjektet over natten.
Sjekk hvilket trinn som stopper nattkjøringen din, og sammenlign årsaken med grensene ovenfor.
Kilder
- Claude Code: Referanse for verktøy - hvor grensen gjelder, versjonene 2.1.285 og 2.1.288, 30 minutter og 2 timer, hvordan kommandoer flyttes til bakgrunnen etter et tidsavbrudd, varslingsteksten og variablene BASH_DEFAULT_TIMEOUT_MS og BASH_MAX_TIMEOUT_MS.
- Claude Code: Miljøvariabler - standardtiden på 2 minutter for en vanlig kommando, env-blokken i ~/.claude/settings.json og når en økt henter nye verdier.
- Claude Code: Headless - kjøringer med -p; bakgrunnskommandoer avsluttes omtrent 5 sekunder etter det siste svaret.
- Claude Code: Innstillinger - hvor ~/.claude/settings.json ligger på Windows.
Bli kjent med Ailoot.
Flere detaljer
Spørsmål om denne veiledningen: Claude Code: 30-minutters grense for bakgrunnskommandoer
Utløser en åpen interaktiv nattøkt 30-minuttersgrensen?
I Claude Code 2.1.288 eller nyere gjelder artikkelens grense kjøringer uten tilsyn, som -p, Agent SDK, CI og skyøkter. Å la vanlig lokal interaktiv økt stå åpen setter den ikke i samme kategori.
Holder lengre timeout en server i live etter ferdig -p-kjøring?
Nei. Bakgrunnskommandoer i -p avsluttes kort etter siste svar. Endret timeout påvirker kommandovarighet under kjøringen og gjør den ikke til varig hosting.