Claude Code dostal strop čekání na obnovení limitu u sezení bez dohledu
Claude Code v režimu pro sezení bez dohledu opakuje odmítnuté požadavky tak dlouho, dokud neprojdou – a u vyčerpaného limitu předplatného to znamená čekat až do jeho obnovení. Verze 2.1.301 z 15. října přidala proměnnou, kterou se dá tomu čekání nastavit strop. Člověk u terminálu má přitom obdobnou hranici zabudovanou od srpna a dokumentace novou proměnnou zatím nevypisuje.

Claude Code má od června přepínač pro sezení, u kterých nikdo nesedí. Proměnná prostředí CLAUDE_CODE_RETRY_WATCHDOG nastavená na 1 nechá nástroj opakovat požadavky, které rozhraní odmítlo kvůli vyčerpané kapacitě, bez omezení počtu pokusů. Pro úlohu v CI nebo pro vzdáleného pracovníka je to rozumné nastavení: lepší počkat, než spadnout. Má to ale důsledek, který se projeví až v nevhodnou chvíli – když padne limit předplatného, sezení čeká, dokud se limit neobnoví. Verze 2.1.301, kterou Anthropic vydal 15. října, k tomu přidala strop.
Hlídač opakování čeká do obnovení okna
Nová proměnná se jmenuje CLAUDE_CODE_RETRY_WATCHDOG_MAX_USAGE_LIMIT_WAIT_MS a podle seznamu změn má jediný účel: sezení bez dohledu požadavek u vyčerpaného limitu ukončí, místo aby čekalo, když se limit obnovuje příliš daleko v budoucnosti.
Dosavadní chování popisuje reference proměnných prostředí podrobně. Mezi pokusy se hlídač odmlčí až na pět minut; pokud ale odpověď serveru nese čas, kdy se limit obnoví, čeká rovnou do něj, takže sezení dočká celý zbytek okna. Výjimku má jen limit výdajů a vyčerpané kredity – u nich Claude Code od verze 2.1.239 selže hned, protože čekat na ně nemá smysl.
Jak dlouhé to okno je, záleží na tom, který limit padl. Příručka k chybám rozlišuje čtyři – limit sezení, týdenní limit a zvlášť limity pro řady Opus a Sonnet – a upozorňuje, že spotřeba se odečítá ze sezení i z týdne naráz, takže jedno nárazové zatížení umí vyčerpat týdenní příděl dřív, než se obnoví to kratší okno. A týdenní limit se podle dokumentace umí obnovit „až za několik dní“ (přeloženo z angličtiny) – u hlídače opakování je to tedy i délka čekání.
Kdo sedí u terminálu, má hranici od srpna
Interaktivní sezení přitom tenhle problém řeší od verze 2.1.234, tedy od 17. srpna. Claude Code v něm po vyčerpání limitu počká v otevřeném sezení a rozdělanou práci dokončí sám po obnovení – ale jen tehdy, když je obnovení blíž než 24 hodin. Je-li dál, čekání sám nenabídne a musí ho zapnout člověk příkazem /rate-limit-options. A když se čas obnovení během čekání posune za těch 24 hodin, čekání skončí.
Právě tuhle hranici neměl automat čím nahradit. Táž stránka totiž uvádí, že u sezení na pozadí a u běhů s přepínačem -p nabídka čekání vůbec není. Tam, kde se o čekání nedá rozhodnout ručně, tedy do 15. října žádný strop neexistoval.
Výchozí hodnotu seznam změn neuvádí
O hlídači opakování se z dokumentace dá vyčíst hodně, včetně toho, od které verze se co změnilo. Novou proměnnou v ní ale zatím nenajdete: 16. října ji nevypisovala ani reference proměnných prostředí, ani příručka k chybám, ani přehled nastavení. Jediný doklad o ní je ta jedna řádka v seznamu změn.
Z ní se nedozvíte dvě věci, na kterých v automatu záleží. Jaká je výchozí hodnota – a tedy jestli se chování změní samo, nebo až po nastavení proměnné. A jak se nový strop vztahuje ke svému staršímu sousedovi: CLAUDE_CODE_RETRY_WATCHDOG_MAX_WAIT_MS přibyl ve verzi 2.1.295 o týden dřív, 8. října, a omezuje, kolik času každý požadavek stráví čekáním na chybách 429 a 529. Limit předplatného se přitom hlásí právě kódem 429. U staršího stropu dokumentace říká, že bez nastavení není čekání omezené nijak, a jako příklad uvádí 1800000, tedy třicet minut.
Devátá úprava téhož hlídače
Jméno hlídače stojí v seznamu změn Claude Code devětkrát a nejstarší zmínka patří k verzi 2.1.186 z 22. června, od které proměnná podle dokumentace funguje. Většina těch devíti položek řeší jedno a to samé: kdy má hlídač přestat čekat. Ve verzi 2.1.281 opravoval Anthropic nekonečné uspání nad dlouhou hlavičkou Retry-After, ve verzi 2.1.288 opakování trvající hodiny po pádu dlouhé odpovědi. Dvě z devíti úprav vyšly za poslední týden. Postupné dolaďování jedné pojistky není u tohohle nástroje nic zvláštního – hlídač rekurzivního mazání prošel za půl roku sedmi úpravami.
Data vydání jednotlivých verzí v seznamu změn nejsou, dohledají se v záznamu balíčku na npm. Těch verzí je tam 546.
Na stabilní linku strop ještě nedorazil
Claude Code se aktualizuje ze dvou linek a rozhoduje o tom nastavení autoUpdatesChannel. Stabilní linka podle příručky k instalaci schválně zaostává zhruba o týden a přeskakuje vydání s velkými regresemi.
V záznamu na npm to 16. října odpoledne vypadalo takhle: značka stable ukazovala na verzi 2.1.292 ze 6. října, latest na 2.1.301 a next na 2.1.302, vydanou téhož dne. Kdo tedy jede na stabilní lince, drží verzi devět dní starou a novou proměnnou v ní nemá – stejně jako neměl ten starší strop z 2.1.295.
Praktický důsledek je jediný, zato ho má v ruce správce, ne nástroj: dokud se nová proměnná nenastaví, zůstává výchozím chováním bezobslužného sezení čekání, které si délku bere z času obnovení limitu. Kolik je v dané úloze snesitelné, nástroj neví a seznam změn to neradí.