Požádáte o přidání banneru a agent navrhne, že zároveň aktualizuje starý modul. Hodí se takový záměr vidět ještě před úpravami a zbytečný bod vyškrtnout. Důležité je proto jasné zadání i zvolený pracovní režim.

Režim oprávnění určuje, jak Claude Code povoluje jednotlivé akce: co může provést hned, na co se zeptá a co zablokuje. Na konkrétní akce mají vliv také nastavení a dříve udělená oprávnění. Samotný režim ale neposuzuje kvalitu řešení.

Projdeme si všechny režimy na příkladu místní relace Claude Code v terminálu.

Požadavek a oprávnění

Dvě věci tu snadno zaměníte. Vypadají podobně, ale fungují jinak.

První je to, co napíšete do zadání. Sekce s výjimkami, věta "nejdřív ukaž plán, nic neměň" nebo seznam souborů, na které se nesmí sahat. Jde o věcné hranice: vysvětlují úkol a výrazně ovlivní, co agent navrhne. Pořád je to ale jen text, který technická oprávnění nijak nemění.

Druhá věc je režim oprávnění, anglicky permission mode. Jde o nastavení relace. Můžete napsat "nic neměň", a přitom pracovat v režimu, který úpravy automaticky schvaluje. Agent by měl váš požadavek dodržet, ale samotná věta technicky nezablokuje změny.

Existuje jedna částečná výjimka. V režimu auto klasifikátor čte konverzaci a pokyny "nepushuj" nebo "počkej na moje review" bere jako signál k blokování takových akcí. Není to ale pravidlo v nastavení: pokud se při kompaktaci kontextu zpráva se zákazem vytratí, zmizí i zákaz. Pevné hranice nastavte v konfiguraci, ne pouze větou v chatu.

Režim ze zadání nepoznáte

Věta "nejdřív sestav plán" v zadání pomůže určit pořadí práce. Aktuální režim z ní ale nepoznáte, k tomu slouží indikátor ve stavovém řádku relace. Režim při spuštění závisí na verzi, rozhraní, tarifu i nastavení, takže je lepší nejdřív zkontrolovat indikátor než něco předpokládat.

Režimy od bezpečnějšího po rizikovější

Režimy se snáz pamatují jako žebříček než jako seznam. Nahoře agent bez vás skoro nic neudělá, dole se neptá vůbec. Je tu pět příček a jeden režim, který do téhle škály nezapadá.

Pět režimů oprávnění je seřazeno shora dolů podle rostoucí autonomie: plan, default, acceptEdits, auto a bypassPermissions. Mimo tuto škálu stojí dontAsk, který se na nic neptá a předem zamítne vše bez výslovného oprávněníRežimy autonomie od bezpečnějšího po rizikovějšíSamostatně, mimo škálu autonomieplandefaultacceptEditsautobypassPermissionsdontAskZkoumá a plánuje, kód neupravujePřed úpravami a příkazy se ptáSoubory upravuje bez potvrzeníTéměř vše provádí sám, příkazy a síťkontroluje klasifikátorTéměř na nic se neptáČtení a předem povolené akce,ostatní bez dotazu zamítne
Pět příček na jedné škále a dontAsk, který stojí stranou

Sledujte hlavně to, kolik akcí proběhne bez vašeho potvrzení. Čím níž na žebříčku, tím je jich víc a tím dražší může být chyba. Nahoře ztrácíte čas potvrzováním, dole se o nepovedené změně dozvíte až poté, co k ní dojde.

Stručně k jednotlivým režimům:

  • plan - agent prozkoumá projekt a navrhne změny ještě před jejich provedením; úpravy zdrojových souborů jsou mezitím zablokované. Jediná výjimka: pokud relaci spustíte s povoleným bypassPermissions, plánování v terminálu už úpravy nezablokuje a agent dostane jen pokyn, aby nic neměnil. Režim se hodí, když čekáte odpověď ke kódu, ne změny v něm. Klasifikátor kontroluje také příkazy pro průzkum, pokud je dostupný režim auto, takže dotazů tu bývá dokonce méně než v režimu default. Na žebříčku je výš, protože zdrojové soubory nemění. Až bude plán hotový, Claude Code se zeptá, jak pokračovat: schválit ho a přejít do režimu auto, schválit ho s ručním potvrzováním úprav, nebo plánovat dál.
  • default, v rozhraní obvykle označený jako Manual - před úpravami, příkazy i přístupem k síti se ptá. Projekt může číst bez dotazu a platí také dříve udělená oprávnění, takže nemusíte každou akci potvrzovat znovu. Někdy se zeptá i u příkazu, který vypadá neškodně. Není to zbytečná opatrnost: find s příznakem -exec spustí libovolný příkaz a -delete smaže nalezené soubory. Bez vašeho potvrzení proto tyto varianty neprojdou.
  • acceptEdits, v rozhraní "accept edits" - sám aplikuje změny v souborech pracovní složky a povoluje i některé souborové příkazy včetně rm a mv. Hodí se, když chcete pracovat rychleji se známými soubory, které si stejně potom znovu přečtete.
  • auto - téměř všechno provádí sám. Čtení a úpravy v pracovní složce proběhnou rovnou, příkazy a přístup k síti ale kontroluje samostatný model, klasifikátor. Některé akce zablokuje; k tomu se ještě vrátíme.
  • bypassPermissions, neboli příznak --dangerously-skip-permissions - téměř na nic se neptá. Zůstávají jen vaše výslovná pravidla v nastavení (zákazy a "vždy se zeptat") a několik systémových pojistek. Říká se mu YOLO a ten název sedí.

Šestý režim, dontAsk, je v diagramu zvlášť, a má to svůj důvod. Příčky se liší tím, kolik akcí projde bez vašeho potvrzení; čím níž, tím víc toho agent smí. dontAsk funguje opačně: také se neptá, ale místo souhlasu akci zamítne. Provede to, co ani v běžném režimu dotaz nevyžaduje (čtení souborů v pracovní složce, bezpečné příkazy jen pro čtení), a k tomu to, co už bylo povoleno. Všechno, co by vyžadovalo dotaz, bez jediného dotazu odmítne. Relace zkrátka nečeká na odpověď. Režim se hodí pro automatické scénáře a uzavřená prostředí, kde nemá kdo odpovídat. Při běžné práci u klávesnice ho nejspíš nevyužijete.

Režim nezměníte žádostí v chatu, ale ručně. V terminálu přepíná režimy dokola Shift+Tab; do plánování vstoupíte příkazem /plan. Režim můžete určit i při spuštění:

claude --permission-mode plan

Příkaz zadáváte v terminálu z projektové složky, /plan pak uvnitř už otevřené relace. V editoru přepínač vypadá jinak a najdete ho pod vstupním polem. Orientační bod je ale všude stejný: indikátor aktuálního režimu.

Pozor na nejnižší příčku

bypassPermissions dává smysl tam, kde nevadí případná ztráta celého prostředí, například při jednorázovém úkolu v kontejneru nebo virtuálním počítači. V pracovním projektu může jediný nepovedený příkaz stát víc než čas ušetřený za všechna potvrzení. A smazané soubory tento režim neobnoví: příkazy pouze pouští dál, nic nevrací zpátky.

Dvě upozornění, na která se při pohledu na žebříček snadno zapomene. Plánování není záloha: nevytvoří bod návratu ani nevrátí už provedené změny, jen ukáže záměr dřív, než se z něj stanou úpravy. A žádná příčka nemění hranice úkolu. Zůstávají tam, kde jste je popsali.

Kdy režim auto spíš překáží

S režimem auto se pojí jedno očekávání, které je dobré si srovnat předem. Jmenuje se "automatický", takže to může vypadat, že v něm projde úplně všechno. Neprojde: klasifikátor má právě některé akce zastavit.

Ve výchozím nastavení blokuje například nasazení do produkce a migrace, odesílání dat na externí adresy, force push, hromadné mazání v cloudovém úložišti, udělování oprávnění, stahování a spouštění kódu ze sítě nebo nevratné mazání souborů, které existovaly už před začátkem relace. Seznam má jednoduchou logiku: jde o kroky, které sami nedokážete vrátit zpět.

Co se děje dál, závisí na počtu blokací. Jedna zablokovaná akce se objeví v seznamu nedávno zamítnutých akcí (/permissions, karta Recently denied) a odtud ji můžete znovu spustit s ručním potvrzením. Claude mezitím dostane zamítnutí a zkusí jinou cestu. Pokud klasifikátor zablokuje tři akce po sobě nebo dvacetkrát během jedné relace, režim se pozastaví a Claude Code se vrátí k běžným dotazům. Po vašem potvrzení režim auto znovu zapne. Prahy jsou pevně dané a změnit je nemůžete.

Je tedy vidět, kdy režim začne překážet. Pokud úkol obsahuje jeden sporný příkaz, auto funguje podle očekávání: ručně ho povolíte a pokračujete. Když ale úkol tvoří právě takové příkazy - připravujete testovací prostředí, spouštíte migrace nebo pracujete s cizí infrastrukturou - začne to být podivné. Stejně musíte ručně potvrdit téměř každý krok, jen přibudou další kolečka: agent narazí na blokaci, hledá jiný postup a režim se střídavě pozastavuje a znovu zapíná.

V takovou chvíli je jednodušší vystoupat o příčku výš. Kterou zvolit, záleží na tom, co vám přesně vadí:

  • default - nejpřímočařejší možnost. Každou úpravu i příkaz schvalujete a k zamítnutým akcím vůbec nedojde. Je to pomalejší, ale máte každý krok pod kontrolou;
  • acceptEdits - když vám úpravy souborů nevadí a problémem jsou jen příkazy jako nasazení nebo migrace. Počítejte ale s tím, že příkazy rm a mv v pracovní složce proběhnou bez dotazu; v režimu auto by mazání existujících souborů zastavil klasifikátor.

Nejde o obcházení blokace, tyto věci si nepleťte. Kontrolu nevypínáte, ale přebíráte ji na sebe. Smazání systémových cest, jako je kořen disku nebo domovská složka, neprojde bez vašeho potvrzení ani v režimu bypassPermissions. V něm i v režimu auto se vás Claude Code zeptá, a v terminálu máte na odpověď pár minut. Kde se zeptat nejde, auto takový příkaz zamítne a dontAsk ho zamítá vždy. Jde o něco jiného: vynechat zbytečné kolečko tam, kde byste stejně všechno potvrzovali ručně.

Druhý důvod pro přechod výš s blokováním nesouvisí. Klasifikátor posuzuje, jestli je akce nebezpečná, ne jestli práce míří správným směrem. Když agent potřetí upraví totéž a výsledek pořád nesedí, v režimu auto to zkusí počtvrté, opět bez dotazu. Vývojáři Claude Code v takové chvíli doporučují netlačit dál: vraťte se do režimu plan, znovu si ujasněte záměr a teprve potom pokračujte. Stejně to funguje i na začátku. Úkol, kterému dobře rozumíte, můžete rovnou svěřit volnějšímu režimu. Pokud si zatím nejste jistí, jak má výsledek vypadat, začněte s režimem plan.

Proč se zablokuje neškodný příkaz

Klasifikátor o vašem projektu ví jen to, co vidí. Za vlastní považuje pracovní složku a vzdálené repozitáře nastavené před spuštěním relace. Repozitář přidaný až během práce do této skupiny nepatří a přístup k němu vypadá jako odchod mimo ni. Když tedy "zablokoval neškodný příkaz", obvykle mu chyběl kontext, nešlo nutně o chybu v samotném příkazu.

Co to mění v praxi

V běžné práci se to dá shrnout do čtyř návyků.

  1. Na začátku práce se podívejte na indikátor. Ukazuje režim; u konkrétní akce záleží také na už udělených oprávněních.
  2. Ještě před provedením porovnejte navržený záměr s hranicemi úkolu. Zbytečný bod lze odstranit slovně - to je nejlevnější úprava, jakou můžete udělat.
  3. Přečtěte si, jakou možností plán schvalujete. Její popis říká, v jakém režimu bude relace pokračovat po opuštění režimu plan.
  4. Po provedení zkontrolujte výsledek. Žádný režim nezaručí, že je úkol vyřešen správně. To ověřujete vy.

Režim oprávnění odpovídá na otázku "co se smí dělat beze mě", ne na otázku "je to udělané správně". Na tu druhou si musíte odpovědět sami bez ohledu na zvolený režim.