# Claude Code: 30-minutna omejitev ukazov v ozadju

> Claude Code pri nenadzorovanem izvajanju po 30 minutah ustavi ukaz v ozadju: -p, Agent SDK, CI, oblak. Kako zvišati omejitev in kaj storiti, ko se ukaz ustavi.

Source: https://ailoot.ai/blog/sl/claude-code-background-30-min-timeout/
Canonical: https://ailoot.ai/blog/sl/claude-code-background-30-min-timeout/
Language: sl
Publisher: Ailoot (https://ailoot.ai/)
Translation: guide-043
Revision: sha256-b7c207fcad7b7098353c651ece9e617a25f14cdea45310d1caf18cf268570ef3


Claude Code ustavi ukaz v ozadju po 30 minutah, kadar se izvaja brez nadzora: pri zagonu z zastavico `-p`, aplikaciji Agent SDK, opravilu CI ali seji v oblaku. Če Claude sam določi čas izvajanja ukaza, se bo ta izvajal največ 2 uri, medtem ko običajni terminal, namizna aplikacija in VS Code od različice 2.1.288 nimajo časovne omejitve.

Včasih sem ves dan sedel pred zaslonom: agentu sem dal korak, pogledal rezultat, ga popravil in mu naročil, naj nadaljuje. Faza za fazo. Stroj je morda pisal kodo, vendar sem ga usmerjal jaz. Zdaj napišem načrt, ga razdelim na faze, izvedbo čez noč prepustim podagentom in odidem. V 8 urah brez mene Claude sledi načrtu: preučuje, gradi in izboljšuje. Zjutraj več časa porabim za sprejemanje opravljenega dela kot za ponovno izdelavo.

Če pa se nočni zagon izvaja z `-p`, po urniku na strežniku, v CI ali v oblaku, bo razvojni strežnik in gradnja, ki tečeta v ozadju, delovala 30 minut. Nato ju bo Claude Code ustavil, nočno delo pa se bo prekinilo na polovici. Pojasnil bom, na koga omejitev vpliva, kako jo zvišati in kaj storiti, če se je ukaz že ustavil. Začnimo.

Za pomoč pri uporabi storitve si oglejte [dokumentacijo Ailoot](https://ailoot.ai/docs/).



<div class="aside" data-semantic="key-takeaway" role="note" aria-label="Key takeaway for this section">

Ključna ugotovitev

Od različice 2.1.285 Claude Code sam ustavi ukaze v ozadju, ko dosežejo časovno omejitev, in Claudeu sporoči razlog. Od različice 2.1.288 omejitev velja samo za zagone brez nadzora: `-p`, Agent SDK, CI in seje v oblaku. Ukaz, ki se neposredno zažene v ozadju, teče 30 minut ali toliko časa, kot je določeno, vendar največ 2 uri. Ukaz, ki se po časovni prekoračitvi premakne v ozadje, teče še 30 minut od takrat. Omejitev lahko zvišate z 2 spremenljivkama v nastavitveni datoteki `~/.claude/settings.json`.

</div>

## Na koga vpliva omejitev

Ukaz v ozadju je nekaj, kar Claude zažene in pusti teči, medtem ko se ukvarja z nečim drugim. Primer je razvojni strežnik, zagnan z `npm run dev`, ali gradnja, ki spremlja spremembe datotek.

V dokumentaciji Claude Code piše:

<figure>
<blockquote>
<p>V seji, ki se izvaja brez nadzora, kot je zagon z zastavico <code>-p</code>, aplikacija Agent SDK, opravilo CI ali seja v oblaku, so ukazi Bash in PowerShell v ozadju časovno omejeni. Lokalna seja, v kateri delate v terminalu, namizni aplikaciji ali razširitvi VS Code, za ukaze v ozadju nima časovne omejitve.</p>
<p>Za časovno omejitev je potrebna različica Claude Code v2.1.285 ali novejša. Pred različico v2.1.288 je veljala v vsaki seji.</p>
</blockquote>
<figcaption>— Anthropic, Referenca za orodja, https://code.claude.com/docs/en/tools-reference.md</figcaption>
</figure>

Z drugimi besedami, omejitev velja, kadar vas ni: pri zagonu z `-p`, aplikaciji Agent SDK, opravilu CI ali seji v oblaku. V terminalu, namizni aplikaciji ali VS Code omejitve ni, kadar sami delate v seji. Uvedena je bila v različici 2.1.285 in je pred različico 2.1.288 veljala povsod.

Kako ugotoviti, ali to velja za vas:

- **Claude Code ste odprli v terminalu ali VS Code, mu dali nalogo in odšli spat.** Če uporabljate različico 2.1.288 ali novejšo, omejitve ni. V različicah od 2.1.285 do 2.1.287 velja tudi v tem primeru. V [ločeni objavi](https://ailoot.ai/blog/sl/update-claude-code/) sem pojasnil, kako posodobiti na najnovejšo različico.
- **Claude Code se po urniku, iz vaše aplikacije Agent SDK ali v CI zažene z ukazom `claude -p "task"`.** Omejitev velja.
- **Naloga se izvaja v seji v oblaku.** Omejitev velja.

Ko agente nastavim za samostojno delo, v poziv napišem: »Te pogoje in razloge za ustavitev zapiši v delovni načrt. Preveri, ali je proces odvisen od okna, ki ga bom zaprl, ali od samega računalnika.« 30-minutna omejitev je eden od teh razlogov.





## Kako dolgo teče ukaz v ozadju

Odštevanje se začne, ko ukaz preide v ozadje. Obstajata 2 primera.

**Claude ukaz takoj zažene v ozadju.** Na voljo je 30 minut. Če Claude ob zagonu določi čas (parameter `timeout`), je na voljo ta čas, vendar največ 2 uri.

**Ukaz se ne konča, medtem ko Claude čaka nanj.** Claude na običajen ukaz čaka 2 minuti. Če se do takrat ne konča, ga Claude Code ne ustavi, temveč ga premakne v ozadje. Od takrat ima na voljo 30 minut.

Ko čas poteče, Claude Code ustavi ukaz in Claudeu sporoči:

```
Background command "<description>" was stopped after reaching its background time limit
```

Če delo še ni končano, lahko Claude ukaz znova zažene z daljšim časom.

Še nekaj o `-p`. Pri tej vrsti zagona se ukazi v ozadju končajo približno 5 sekund po Claudeovem končnem odgovoru. Strežnik, zagnan v nočnem procesu z `-p`, bo deloval samo toliko časa kot sam zagon. 30-minutna omejitev je pomembna, če zagon traja dlje: Claude na začetku zažene strežnik, nato pa eno uro izvaja preverjanja na njem.

## Kako organizirati nočno delo v Claude Code

Naveličal sem se, da bi agenta ves dan usmerjal, zato sem to nadomestil z enim orkestratorskim pozivom. Zaženem ga zvečer, Claude pa vso noč zaporedoma obdeluje faze: piše, preverja, popravlja in sam ustvari commit.

Skupine podagentov pišejo kodo, vsaka dela s svojimi datotekami, da si ne hodijo v napoto. Druga, sveža skupina prevzame delo: pregleda kodo, opravi varnostne preglede in preverjanja v živo. Če najdejo težavo, jo takoj odpravijo in preverjanja ponovijo. Poziv vsebuje vrstico: »Če ti zmanjka konteksta, zabeleži stanje; naslednji zagon bo nadaljeval.«

V opisanem primeru je bilo v 3 dneh na ta način dokončanih 8 od 14 faz.

Upoštevati je treba le 2 stvari. Orkestrator ne razmišlja namesto vas: najprej napišite podroben načrt s fazami, nato začnite nočno delo. Poleg tega porabi veliko vaše naročniške kvote, zato se tega za majhno nalogo ne splača nastavljati. Vedno omejite število poskusov, sicer bo agent čez noč porabil celotno naročniško kvoto. V [ločeni objavi](https://ailoot.ai/blog/sl/ai-agent-burned-budget-claude-code/) sem pojasnil, kako nastaviti te omejitve porabe.

## Kako zvišati omejitev

**Možnost 1: vprašajte Claudea.** Claude izbere čas za posamezen ukaz; ne nastavite ga sami. V nalogo pa lahko napišete: »Razvojni strežnik naj v ozadju deluje 2 uri.« Tako ne morete dobiti več kot 2 uri.

**Možnost 2: spremenljivke v nastavitveni datoteki.** Vrednosti so izražene v milisekundah. Omejitev ne morete znižati pod 30 minut oziroma 2 uri; lahko jo samo zvišate.

- **Če nastavite `BASH_DEFAULT_TIMEOUT_MS` nad `1800000` (30 minut),** se spremeni 30-minutna privzeta vrednost. To velja tako za ukaze, ki jih Claude zažene v ozadju brez določene časovne omejitve, kot za ukaze, ki jih po časovni prekoračitvi premakne v ozadje. Če vrednost nastavite nad `7200000` (2 uri), se zviša tudi zgornja meja.
- **Če nastavite `BASH_MAX_TIMEOUT_MS` nad `7200000`,** zvišate 2-urno zgornjo mejo. S tem ne spremenite 30-minutne privzete vrednosti: ukaz brez lastne določene časovne omejitve se bo še vedno ustavil po 30 minutah.

`BASH_DEFAULT_TIMEOUT_MS` ima stranski učinek. Ista spremenljivka določa, kako dolgo Claude čaka na običajen ukaz, preden ga premakne v ozadje. Nastavite jo na 1 uro in Claude bo čakal 1 uro namesto 2 minut. To ponoči ne ovira dela. Čez dan pa boste na odgovor čakali dlje, kadar se ukazi izvajajo dolgo.

Če se ne želite ukvarjati s podrobnostmi: če potrebujete 3 ure za običajne ukaze in zgornjo mejo, nastavite `BASH_DEFAULT_TIMEOUT_MS` na `10800000`. To zadostuje; druge spremenljivke ne potrebujete.

Nastavitvena datoteka je v mapi `.claude` v vaši domači mapi: `~/.claude/settings.json` v macOS in Linuxu ter `%USERPROFILE%\.claude\settings.json` v sistemu Windows. Če datoteka ne obstaja, jo ustvarite. 1-urna omejitev je videti tako:

```json
{
  "env": {
    "BASH_DEFAULT_TIMEOUT_MS": "3600000"
  }
}
```

Če datoteka že vsebuje blok `env`, mu dodajte vrstico. Zagnana seja prevzame nove vrednosti, ko shranite datoteko. Odstranitev spremenljivke začne veljati šele ob naslednjem zagonu `claude`.

Datoteka mora biti na računalniku, kjer teče agent. Da bo agent delal čez noč, računalnik ne sme preiti v stanje mirovanja. Druga možnost je, da Claude Code zaženete na oddaljenem strežniku in nastavitve shranite tam.

## Če se je ukaz že ustavil

Ročno vam ni treba storiti ničesar. Claude Code Claudeu pove, zakaj se je ukaz ustavil, zato ga najprej preprosto vprašajte, kaj se je zgodilo.

Nato nadaljujte korak za korakom:

1.  **Enkratni dolgi zagon, dolg največ 2 uri.** Claudea prosite, naj ukaz znova zažene z daljšim časom.
2.  **Ukazi redno potrebujejo več kot 30 minut.** V nastavitveni datoteki nastavite `BASH_DEFAULT_TIMEOUT_MS` nad `1800000`, kot v zgornjem primeru. Če potrebujete več kot 2 uri, tam nastavite tudi `BASH_MAX_TIMEOUT_MS` nad `7200000`.
3.  **Znova zaženite ukaz.** Dokumentacija ne jamči za ukaz, ki je že tekel v ozadju pred spremembo.
4.  **Preverite rezultat naslednjega zagona.** Če Claudeovo poročilo znova vsebuje besedno zvezo »stopped after reaching its background time limit«, nastavitev za ta ukaz ni bila uporabljena.

Podagenti in rutine skrbijo, da agent dela, ko vas ni.

V [ločeni objavi](https://ailoot.ai/blog/sl/claude-code-loop-engineering/) sem pojasnil, kako naj agent vso noč deluje v zanki. Tukaj pa je opisano, kako nastaviti Claude Code, da čez noč ne pokvari projekta: [povezava](https://ailoot.ai/blog/sl/claude-code-safe-overnight-setup/).

Preverite, kateri korak ustavi vaš nočni zagon, in razlog primerjajte z zgornjimi omejitvami.

<div class="section" role="doc-bibliography" aria-label="Sources">

### Viri

- [Claude Code: Referenca za orodja](https://code.claude.com/docs/en/tools-reference.md) – kje velja omejitev, različici 2.1.285 in 2.1.288, 30 minut in 2 uri, premikanje ukazov v ozadje po časovni prekoračitvi, besedilo obvestila ter spremenljivki BASH_DEFAULT_TIMEOUT_MS in BASH_MAX_TIMEOUT_MS.
- [Claude Code: Spremenljivke okolja](https://code.claude.com/docs/en/env-vars.md) – privzeti 2-minutni čas čakanja za običajen ukaz, blok env v ~/.claude/settings.json in kdaj seja prevzame nove vrednosti.
- [Claude Code: Brezglavi način](https://code.claude.com/docs/en/headless.md) – zagoni z -p; ukazi v ozadju se končajo približno 5 sekund po končnem odgovoru.
- [Claude Code: Nastavitve](https://code.claude.com/docs/en/settings.md) – mesto datoteke ~/.claude/settings.json v sistemu Windows.

</div>





Spoznajte [Ailoot](https://ailoot.ai/).

## Vprašanja in odgovori: Claude Code: 30-minutna omejitev ukazov v ozadju

### Ali nočna odprta interaktivna seja sproži 30-minutno omejitev?

V Claude Code 2.1.288 ali novejšem opisana omejitev velja za nenadzorovane zagone, kot so `-p`, Agent SDK, CI in seje v oblaku. Samo odprta običajna lokalna interaktivna seja ne spada v to kategorijo.

### Ali daljša časovna omejitev ohrani strežnik po koncu zagona -p?

Ne. Ukazi v ozadju pri `-p` se končajo kmalu po zadnjem odgovoru. Sprememba časovne omejitve vpliva na trajanje ukaza med zagonom; zagona ne spremeni v trajno gostovanje.


## Ailoot · Podjetje in njegov portfelj projektov

Ailoot temelji na pridobljenih operativnih izkušnjah, široki bazi strank, stabilni storitvi in stalnem spremljanju KPI.

Podjetje in njegov portfelj projektov: milijoni strank; mesečna prodaja v milijardah.

Ailoot te operativne izkušnje uporablja za dostop prek API do funkcij umetne inteligence v izdelkih strank, agentih, aplikacijah in avtomatizacijah.
