Obnovení Claude Code: Safe Mode, /cd a záložní modely
MarkdownDiagnostika Claude Code pomocí safe mode, příkazu /cd, záložních modelů a obnovení nastavení. Pořadí kontrol a původní omezení.
Přečíst celý článek
Praktické materiály o práci s agenty: dokumentace Ailoot.
Co se v Claude Code změnilo v červnu 2026?
Hlavní poznatek
Dne 8. června 2026 přidala Anthropic v Claude Code v2.1.169 příznak --safe-mode a příkaz /cd. O dva dny dříve, ve v2.1.166, přibyla záložní modelová řada až o 3 modelech. Tyto tři funkce řeší nejčastější bolestivý problém vibe coderů: „všechno se pokazilo, nevím, kdo za to může, a nechci ztratit hodinu přeinstalováváním“.
Dříve, když se Claude Code začal chovat podivně — nekonečné načítání, pád při spuštění, agent ignorující pravidla v CLAUDE.md, hook, který se potichu nespouštěl — existovala jen jedna cesta ven: ručně zakomentovat části .claude/settings.json, postupně vypínat MCP servery nebo v nejhorším případě smazat ~/.claude a provést novou instalaci. V jednom popsaném případě bylo ~/.claude smazáno a přišlo se tak o konfiguraci MCP serveru, jejíž sestavení zabralo hodinu a půl. Později se ukázalo, že za problém mohl jeden řádek v CLAUDE.md a že ho šlo najít za 10 sekund — to se ale ukázalo až po úplném obnovení.
V červnu 2026 Anthropic zavedla tři mechanismy, které tento scénář mění. Stručně: co přibylo a kdy:
| Verze | Datum | Co přibylo |
|---|---|---|
| 2.1.166 | 6. června 2026 | Nastavení fallbackModel + příznak --fallback-model pro interaktivní relace |
| 2.1.169 | 8. června 2026 | Příznak --safe-mode a proměnná prostředí CLAUDE_CODE_SAFE_MODE, příkaz /cd |
| 2.1.176 | 12. června 2026 | Oprava: /cd a přepnutí worktree přestaly zobrazovat starou větev git |
Níže jsou jednotlivé mechanismy vysvětlené krok za krokem spolu s pořadím, v jakém je použít, když se relace Claude Code začne vymykat kontrole.
Co Claude Code nejčastěji rozbije?
Hlavní poznatek
Podle popsaných zkušeností se Claude Code vibe coderům obvykle rozbije kvůli čtyřem věcem: přerostlému CLAUDE.md s protichůdnými pravidly, hooku s nesprávným návratovým kódem, MCP serveru, který selže potichu, a překrývajícím se nastavením ve třech úrovních settings.json. Viník je jeden, diagnostika trvá minuty a panika vede lidi k okamžitému použití rm -rf.
V popsaném příkladu měl CLAUDE.md původně 80 řádků — a měsíc fungoval. Ve druhém měsíci bylo znát, že Claude jednou týdně poruší všechna nastavená pravidla: sáhne na .env, spustí git push --force, prohrabuje se v node_modules. Nedělá to schválně — jen zapomene. Jednou byl smazán .gitignore a důvod nebyl hned jasný. Tomuto scénáři se podrobněji věnuje průvodce souborem CLAUDE.md.
Když CLAUDE.md naroste na 400+ řádků, začne potichu působit potíže: při spuštění relace zabere významnou část kontextového okna a důležité pokyny se ztratí mezi vedlejšími. Claude soubor stále formálně čte, takže zvenčí to vypadá jako „pravidla tam jsou, ale nefungují“ — typický příznak přerostlé smlouvy.
Hooky jsou druhým častým zdrojem problémů. Claude Code hooks mají jednu vlastnost, kterou Anthropic příliš nezdůrazňuje.
To znamená, že sys.exit(1) v hooku Pythonu (nebo jakékoli obvyklé unixové „selhání s chybou“) Claude nezastaví. Blokuje pouze kód 2. V popsaném případě byl hook považován za „tvrdý zákaz“, ale v praxi zaznamenal stížnost a akci povolil.
MCP servery jsou třetí vrstvou a také se porouchávají po svém.
Příznak bývá často stejný: příkazy MCP jsou dostupné, ale vracejí failed bez tracebacku. Další informace o konfiguraci MCP a přidávání serverů pomocí claude mcp add najdete v samostatném průvodci.
Čtvrtým zdrojem je tříúrovňová hierarchie settings.json. Máte ~/.claude/settings.json (uživatelská úroveň), .claude/settings.json v kořeni projektu (projektová úroveň), .claude/settings.local.json (místní úroveň) a případně spravovaná nastavení od firemního správce. Kombinují se podle pravidel priority. Když někdo přidá MCP server na úrovni projektu, zatímco vy máte podobnou položku s jinou konfigurací spuštění na uživatelské úrovni, vznikne tichý konflikt, který vypadá jako „Claude Code je rozbitý“.
Jak funguje --safe-mode a co vypíná?
Hlavní poznatek
claude --safe-mode spustí Claude Code s úplně vypnutými vlastními úpravami: CLAUDE.md, pluginy, dovednostmi, hooky, MCP servery, uživatelskými příkazy, agenty, styly výstupu, workflow a klávesovými zkratkami. Autorizace, výběr modelu, vestavěné nástroje a oprávnění zůstávají. Jde o diagnostický nástroj: pokud problém v safe mode zmizí, je na vině jedna z přidaných vrstev.
Původní znění Anthropic v changelogu v2.1.169:
Přidán příznak
--safe-mode(aCLAUDE_CODE_SAFE_MODE) pro spuštění Claude Code s vypnutými vlastními úpravami (CLAUDE.md, pluginy, dovednosti, hooky, MCP servery) pro diagnostiku.
Anthropic upřesňuje v dokumentaci ke konfiguraci modelu:
Chcete-li zjistit, zda jsou na vině vlastní úpravy, spusťte relaci příkazem
claude --safe-mode, který vypneCLAUDE.md, dovednosti, MCP servery a hooky. Stav Git a názvy adresářů se za vlastní úpravy nepovažují a zůstávají dostupné.
Jde o diagnostický nástroj, nikoli o „čisté prostředí“. Safe mode pomáhá zodpovědět jednu otázku: je problém v základním chování Claude Code, nebo v přidaných úpravách? To patří ke správě kontextu — tedy k řízení toho, co Claude v danou chvíli vidí a co ne. Pokud v safe mode všechno funguje, je jasné, že je třeba zkontrolovat jednotlivé vrstvy binárním vyhledáváním. Pokud nefunguje, problém je v samotné instalaci, autorizaci, síti nebo infrastruktuře; pak má smysl podívat se na claude doctor a protokoly.
Co safe mode vypíná (oficiální seznam Anthropic — 5 hlavních vrstev):
CLAUDE.mdna všech úrovních (uživatelské / projektové)- Pluginy
- Dovednosti
- Hooky
- MCP servery
Co zůstává funkční:
- Autorizace (relace OAuth nebo klíč API)
- Výběr modelu (
--model sonnet,--model opus) - Vestavěné nástroje (Read, Write, Bash, Grep a další)
- Oprávnění
- Stav Git
- Názvy adresářů
Důležitý detail: safe mode nevypíná spravovaná nastavení ani zásady firemního správce. Pokud pracujete v týmu, kde Bedrock GovCloud nebo konfigurace MDM nastavuje availableModels, tato omezení zůstávají — safe mode vypíná pouze vaše vlastní úpravy, nikoli firemní zásady.
Jak izolovat vrstvu a najít viníka za 60 sekund?
Hlavní poznatek
Krok 1: spusťte claude --safe-mode ve stejné složce, kde docházelo k problémům. Pokud funguje, problém je ve vašich vlastních úpravách a pak je zapínejte po jedné: CLAUDE.md -> hooky -> MCP -> dovednosti. Pokud nefunguje ani v safe mode, problém je v ověření, verzi, síti nebo operačním systému. V takovém případě spusťte automatickou diagnostiku claude doctor a nesahejte na rm -rf.
Diagnostický postup pro případ, kdy Claude Code „přestal poslouchat“. Minimální verze pro všechny níže uvedené příkazy je Claude Code v2.1.169. Pokud máte starší, nejprve jej aktualizujte (npm update -g @anthropic-ai/claude-code nebo nativním instalačním programem Anthropic).
- Otevřete stejnou složku, kde docházelo k problémům.
- Spusťte
claude --safe-mode. - Pokud se spustí bez problémů, ověřte svůj původní požadavek. Fungoval? Pak je na vině jedna z vrstev. Přejděte ke kroku 4.
- Pokud problém přetrvává i v safe mode, konfigurací nemanipulujte. Nejprve spusťte
claude doctor; zkontrolujte ověření, verzi a konfliktní instalace.
Jakmile se safe mode spustí bez problémů, zapínejte vrstvy po jedné, počínaje nejpravděpodobnějším viníkem. Pořadí vychází z popsaných zkušeností:
CLAUDE.md. Spusťteclaudebez safe mode, ale soubor dočasně přejmenujte:mv CLAUDE.md CLAUDE.md.bak. Pokud vše funguje, příčinou je tento soubor. Pak můžete použít binární vyhledávání: ponechte polovinu řádků a ověřte chování.- Hooky. Otevřete
.claude/settings.jsona v částihooksdočasně nastavte[]. Restartujteclaude. Funguje? Pak je na vině jeden z hooků. Zapínejte je po jednom. - MCP servery. Podobně v
~/.claude.jsonnebo.claude/settings.jsondočasně nastavte částmcpServersna prázdný objekt, restartujte a ověřte. - Dovednosti. Přesuňte
.claude/skills/do dočasné složky. Spusťte aplikaci a ověřte.
„Dočasné přejmenování“ znamená, že se soubory během diagnostiky nemažou. Příkazy mv nebo git stash umožňují všechno jedním příkazem obnovit, pokud se ukáže, že daná vrstva nebyla viníkem.
Jak změnit pracovní složku pomocí /cd bez ztráty kontextu?
Hlavní poznatek
Příkaz /cd <path> v Claude Code 2.1.169+ přepne pracovní složku v aktivní relaci bez ztráty mezipaměti promptu. Hodí se, když je konfigurace aktuálního projektu rozbitá: můžete přejít do čisté složky, ověřit, že Claude funguje, a vrátit se. Dříve jste museli relaci zavřít a spustit znovu.
Z changelogu v2.1.169 z 8. června:
Přidán příkaz
/cdpro přepnutí relace do nové pracovní složky bez resetování mezipaměti promptu uprostřed relace.
Proč je to užitečné při řešení problémů. Představte si, že jste ve složce projektu ~/work/myapp a Claude Code se chová podivně. Dříve bylo možné ověřit, zda vůbec funguje, jen zavřením relace, přechodem do jiné složky a novým spuštěním. Přišli jste o kontext, historii a zahřátou mezipaměť promptu. Teď stačí:
# In the same session:
/cd ~/sandbox/test
Claude přejde do nové složky a načte její CLAUDE.md (pokud existuje) jako zprávu, nikoli jako náhradu systémového promptu — mezipaměť se tedy zachová. Pokud v ~/sandbox/test všechno funguje, je jasné, že problém byl v konfiguraci ~/work/myapp.
Dne 12. června opravila verze v2.1.176 nepříjemnou regresi — /cd až do úplného restartu zobrazovalo starou větev git. Pokud máte starší verzi, buď ji aktualizujte, nebo po přepnutí jednoduše ignorujte git status během prvních několika zpráv; stav se aktualizuje.
Jak nakonfigurovat záložní modely pro chybu 529?
Hlavní poznatek
Ve v2.1.166 přidala Anthropic fallbackModel — řadu až 3 modelů, které se zkoušejí postupně, když je primární model přetížený nebo nedostupný. Řada se aktivuje pouze při přetížení a neopakovatelných chybách serveru. Chyby autorizace, fakturace, limitu požadavků a přenosu záložní řadu neaktivují — řídí se běžnou logikou opakování.
V popsaném scénáři běží v projektu jednou týdně dlouhá úloha na Opusu; po 10 minutách API vrátí 529 Overloaded a relace spadne. Dříve bylo nutné buď čekat, nebo ručně přepnout na Sonnet pomocí --model sonnet a přijít o celý zahřátý kontext. Ve velkém business/ s uspořádáním druhého mozku to zabere asi dvacet minut práce. Teď existuje řádný mechanismus.
Přesná citace z oficiální dokumentace:
Když je primární model přetížený, nedostupný nebo vrátí jinou neopakovatelnou chybu serveru, Claude Code může místo selhání požadavku přepnout na záložní model. Chyby autorizace, fakturace, limitu požadavků, velikosti požadavku a přenosu přepnutí nikdy neaktivují — řídí se běžným postupem pro opakování a zpracování chyb.
A samostatně, jak řada funguje:
Nakonfigurujte jeden nebo více záložních modelů a Claude Code je zkouší v daném pořadí; při přepnutí zobrazí oznámení. Přepnutí platí pouze pro aktuální tah — další zpráva znovu zkusí primární model. Po odstranění duplicit jsou řady omezené na tři modely; další položky se ignorují.
Nakonfigurovat to lze dvěma způsoby. Přes CLI:
claude --fallback-model sonnet,haiku
Přes ~/.claude/settings.json:
{
"fallbackModel": ["claude-sonnet-4-6", "claude-haiku-4-5"]
}
Samostatná poznámka k limitům rychlosti. Anthropic záměrně neposílá chybu 429 do této řady, abyste nemohli obejít limit požadavků přepnutím na další model. Záložní model funguje pouze tehdy, když je primární model přetížený, nedostupný nebo vrátí neopakovatelnou chybu serveru (například 529 Overloaded). Limity rychlosti se řídí běžnou logikou opakování a prodlev.
Ještě jedna poznámka — 12. června opravila verze v2.1.174 regresi: kompakce nerespektovala --fallback-model. Pokud máte dlouhou relaci a během přetížení dojde ke kompakci, před touto opravou se záložní model nevyvolal. Pokud pracujete s dlouhými relacemi (/compact, /loop přes noc), aktualizujte alespoň na v2.1.174.
Co opravit, když je na vině CLAUDE.md, hook, MCP nebo dovednost?
Hlavní poznatek
Když safe mode určí problematickou vrstvu, oprava se liší podle vrstvy. U CLAUDE.md použijte binární vyhledávání nebo přejděte na hotovou šablonu kratší než 200 řádků. U hooku zkontrolujte návratový kód (2 blokuje, 1 ne) a logiku. U MCP odeberte jeden server a ověřte chování. U dovednosti zkontrolujte, zda si SKILL.md neodporuje s CLAUDE.md.
Konkrétní postupy pro jednotlivé vrstvy.
Pokud je na vině CLAUDE.md
Otevřete soubor a zkontrolujte jeho velikost. Podle popsaných zkušeností udržujte aktivní CLAUDE.md nejvýše na 200 řádcích; zbytek přesuňte do routerů a podpůrných dokumentů vedle projektu (úplná struktura druhého mozku je v průvodci druhým mozkem). Pokud má soubor 400+ řádků, je téměř jistě na vině. Postup:
- Vytvořte zálohu:
cp CLAUDE.md CLAUDE.md.full. - Vraťte se ke krátké funkční šabloně. Hotovou najdete v průvodci „Jak nakonfigurovat CLAUDE.md“.
- Restartujte Claude Code. Ověřte chování.
- Pokud funguje, obnovujte pravidla po malých blocích o 10–20 řádcích a po každém bloku vše ověřte.
- Najděte blok, který chování rozbíjí. Přepište ho na hook se správným návratovým kódem (návratové kódy hooků jsou vysvětleny v následující podsekci tohoto H2).
Pokud je na vině hook
Hlavní otázkou je, zda je návratový kód správný. Hooky Claude Code používají:
- Exit 0 — vše v pořádku; akce pokračuje.
- Exit 1 — chyba, ale neblokující. Claude pokračuje, jako by se nic nestalo.
- Exit 2 — blokující chyba. Pouze tento kód akci skutečně zastaví.
Pokud jste do shellového hooku napsali sys.exit(1) nebo exit 1 v domnění, že akci blokujete, tento kód v Claude Code funguje jako varovný záznam a akci nezastaví. Změňte jej na 2. Podrobnosti o hookách a jejich konfiguraci bez této nástrahy najdete v samostatném průvodci.
Druhým častým případem je neplatný JSON na stdout z hooku. Claude Code odpověď hooku parsuje jako JSON; pokud je v ní něco navíc (záznam, indikátor průběhu, emoji), hook se považuje za neúspěšný a akce pokračuje. Pravidlo: stdout obsahuje pouze JSON; vše ostatní patří na stderr.
Třetím případem je hook, který čte něco z ~/.claude/, co safe mode skryl. Jde o běžný scénář; neopravujte ho záplatou hooku, ale na začátku zkontrolujte os.environ.get('CLAUDE_CODE_SAFE_MODE') a ukončete běh s kódem 0.
Pokud je na vině MCP server
Příznaky: příkazy MCP jsou dostupné, ale vracejí failed bez jasného tracebacku. Postup:
- Spusťte
claude mcp list— které servery jsou definované? - Vypínejte servery jeden po druhém v
~/.claude.json: přejmenujte klíčclaude-server-Ana_claude-server-A(tím jej deaktivujete, aniž byste ho smazali). - Restartujte
claude. Ověřte, která volání fungují. - Až najdete problematický server, zkontrolujte jeho protokol:
claude mcp logs <name>. - Pokud jde o server třetí strany (
@modelcontextprotocol/server-postgresa podobné), zkontrolujte, zda má nedávné vydání. Ekosystém MCP je stále v pohybu; servery se při aktualizacích Claude Code pravidelně porouchávají.
Pokud narazíte na „pády při spuštění, a to pouze se dvěma MCP“, porovnejte chování v safe mode bez MCP.
Pokud je na vině dovednost
Dovednost tvoří SKILL.md a kód v .claude/skills/<name>/. Příznaky: Claude dovednost ignoruje, použije ji v nesprávnou chvíli nebo ji použije, ale vytvoří nesmyslný výstup. Postup:
- Otevřete
SKILL.md. Zkontrolujte popis — měl by mít 1–2 věty a konkrétně uvádět, kdy dovednost použít. Pokud říká „univerzální pomocník na všechno“, Claude nepozná, kdy jej má vyvolat. - Zkontrolujte rozpory s
CLAUDE.md. PokudCLAUDE.mdříká „vždy piš testy“, ale popis dovednosti říká „používej pro rychlé prototypování bez testů“, jde o konflikt. - Pokud dovednost používá externí příkazy (npm, python, git), zkontrolujte, zda jsou dostupné v systémové cestě PATH. Dovednost má své vlastní minimální prostředí.
Co dělat, když safe mode nepomohl: diagnostika a zachování stavu před opravou
Hlavní poznatek
Selže-li i safe mode, zbývá možnost chyby instalace, přihlášení, sítě či infrastruktury. Spusťte claude doctor a prohlédněte důkazy. Neprůkazná zpráva neopravňuje k mazání nastavení či relací: nejprve zachovejte a ověřte celý stav a pak opravte jen diagnostikovanou instalaci.
Odstranění uživatelského stavu není diagnostická zkratka. Následujícími kontrolami hledejte chybu; jsou-li neprůkazné, uchovejte důkazy a pokračujte ve zkoumání. Každá oprava instalace začíná ověřenou zálohou a zachovává účet i identitu úložiště přihlášení. Pořadí:
claude doctor— automatická diagnostika. Anthropic ve své dokumentaci píše:
Pokud příkaz
claude --versionfunguje, ale něco jiného je špatně, spusťteclaude doctora vytvořte automatickou diagnostickou zprávu.
- Zkontrolujte konfliktní instalace. Mnoho lidí má zároveň nainstalovanou globální verzi npm i nativní instalační program:
Více instalací Claude Code může vést k nesouladu verzí nebo neočekávanému chování.
- Ověřte, zda vaši relaci OAuth nepřebírá
ANTHROPIC_API_KEY. To je častá příčina situace „nic nefunguje, klíč vypršel“:
Když je nastavena proměnná `ANTHROPIC_API_KEY` a potvrdíte její použití, Claude Code používá tento klíč místo přihlašovacích údajů předplatného OAuth.
Řešení: spusťte unset ANTHROPIC_API_KEY v aktuální relaci shellu nebo proměnnou odeberte z ~/.zshrc / ~/.bashrc.
- Opravte jen diagnostikou určenou instalaci; nejprve zachovejte veškerý uživatelský stav. Selhání safe mode či neprůkazný doctor nedokazuje nutnost odstranění dat. Před konzistentní zálohou zastavte relace Claude a další zapisovatele. Zachovejte stejný unixový účet, HOME, úložiště přihlašovacích údajů systému i účet Anthropic; klíče nerotujte a nevytvářejte náhradní identitu.
Následující záloha je pro Linux s GNU tar. V macOS či Windows použijte nástroj zachovávající příslušná ACL, rozšířené atributy, odkazy a metadata a před pokračováním ověřte obnovu; nepředpokládejte podporu přepínačů GNU. Archiv obsahuje přihlašovací údaje a přepisy relací: uchovávejte jej soukromě mimo repozitáře.
# Run as the same user who owns the Claude state, after stopping writers.
set -eu
umask 077
backup_dir=$(mktemp -d "$HOME/.claude-recovery-XXXXXXXX")
set --
if [ -e "$HOME/.claude" ] || [ -L "$HOME/.claude" ]; then
set -- "$@" .claude
fi
if [ -e "$HOME/.claude.json" ] || [ -L "$HOME/.claude.json" ]; then
set -- "$@" .claude.json
fi
[ "$#" -gt 0 ] || exit 1
tar --acls --xattrs --numeric-owner -cpf "$backup_dir/claude-state.tar" -C "$HOME" "$@"
tar --acls --xattrs --compare -f "$backup_dir/claude-state.tar" -C "$HOME"
sha256sum "$backup_dir/claude-state.tar" > "$backup_dir/claude-state.sha256"
(cd "$backup_dir" && sha256sum -c claude-state.sha256)
mkdir "$backup_dir/restore-check"
tar --acls --xattrs -xpf "$backup_dir/claude-state.tar" -C "$backup_dir/restore-check"
tar --acls --xattrs --compare -f "$backup_dir/claude-state.tar" -C "$backup_dir/restore-check"
printf 'Verified recovery directory: %s\n' "$backup_dir"
Všechny příkazy musejí uspět. Archiv zahrnuje celý existující strom .claude včetně ignorovaných a nesledovaných relací, pluginů i .claude.json, nikoli jen sledované nastavení. Je-li některá cesta symbolickým odkazem nebo data leží v jiném nastaveném umístění, zastavte a zahrňte rozvinutý cíl do stejné ověřené zálohy; samotný odkaz svůj cíl nezálohuje. Archiv nezahrnuje macOS Keychain ani jiné externí úložiště přihlášení, proto jejich identity ponechte na místě.
Pokud diagnostika konkrétně určí starou místní instalaci jako konfliktní kopii, přesuňte pouze ji do soukromého obnovovacího adresáře místo mazání konfigurace a relací:
# Use the verified backup_dir from the previous block.
if [ -d "$HOME/.claude/local" ]; then
mv "$HOME/.claude/local" "$backup_dir/legacy-local"
fi
Instalaci npm odstraňujte jen tehdy, když ji diagnostika určí jako konfliktní a chcete zachovat nativní. Pak použijte dokumentovaný nativní instalátor bez mazání .claude či .claude.json:
curl -fsSL https://claude.ai/install.sh | bash
claude --version
claude doctor
Ve Windows zůstává nativní instalační příkaz:
irm https://claude.ai/install.ps1 | iex
Obnovu proveďte odděleně. Znovu zastavte zapisovatele. Ověřte kontrolní součet archivu, rozbalte jej do prázdného obnovovacího adresáře jako výše a před použitím úspěšně porovnejte. Je-li nutná obnova přesunuté staré instalace, nejprve ověřte nepřítomnost $HOME/.claude/local a pak vraťte $backup_dir/legacy-local právě tam. Diagnostikovaný konfigurační soubor obnovte z ověřeného rozbalení až po zachování případné aktuální náhrady; celý strom slepě nepřepisujte. Relace, MCP i původní identita zůstávají zachovány. Samotný snímek Git nepokrývá ignorované přepisy, přihlašovací údaje ani metadata souborového systému.
Co byste NEMĚLI dělat, když je Claude Code rozbitý?
Hlavní poznatek
Šest anti-vzorů z popsaných případů podpory: měnit klíče před diagnostikou, provést úplné obnovení jako první krok, panikařit kvůli chybě UI u hooku, zvýšit návratový kód hooku před opravou logiky, upravit CLAUDE.md bez pojistky safe mode a věřit, že „Claude opraví vlastní MCP“. Každý z nich stojí hodiny a žádný není nutný.
Neměňte klíče před diagnostikou
„Autorizace nefunguje“ je v 90 % případů způsobena tím, že ANTHROPIC_API_KEY přebírá předplatné, chybou UI hooku nebo selháním MCP. Rotace klíčů nic z toho neopraví, ale způsobí další hodinu výpadku: musíte odvolat starý klíč, vydat nový, znovu jím podepsat CI a aktualizovat proměnné v produkci. Nejprve spusťte claude --safe-mode. Funguje? Pak je problém ve vlastních úpravách; klíčů se není třeba dotýkat.
Neprovádějte úplné obnovení před safe mode
Safe mode poskytne izolované prostředí za 1 sekundu. Smazání .claude může zničit relace, konfiguraci MCP a další nesledovaný stav. Nejprve diagnostikujte, ověřte soukromou zálohu a vratný přesun používejte jen u skutečně podezřelé instalační či konfigurační vrstvy.
Nepanikařte kvůli chybě UI u hooku
Než cokoli opravíte, zkontrolujte, zda se hook skutečně spustil (pomocí záznamu do stderr nebo explicitního výpisu), místo abyste se spoléhali na vizuální indikátor.
Nezvyšujte návratový kód hooku, dokud neopravíte logiku
Když váš blokující hook neblokuje, je lákavé nastavit exit 2 a považovat věc za vyřešenou. Je to funkční záplata, ale zakryje další problém: pokud blok po měsíc nefungoval, prošlo všechno, čemu měl hook zabránit. Nejdřív projděte historii git a zjistěte, co přesně uniklo. Pak blok přidejte. Uzavřený blok zpětně nevrátí, co se stalo předtím.
Neupravujte produkční CLAUDE.md bez pojistky safe mode
V popsaném případě upravíte CLAUDE.md, Claude se začne chovat podivně, spustíte git diff a zjistíte, že někdo ten večer přidal do repozitáře také MCP server a hook. Obviníte svou úpravu, vrátíte ji a Claude se stále chová podivně. Pravidlo: před git revert spusťte claude --safe-mode. Pokud problém přetrvává i v safe mode, vaše úprava s ním nesouvisela; není třeba ji vracet.
Nevěřte, že „Claude opraví vlastní MCP“
Typický scénář: požádáte Claude, aby „přidal určitý nástroj na MCP server“, Claude přepíše funkční konfiguraci, všechno se rozbije a pak Claude stráví několik tahů laděním škody, kterou způsobil — a přitom vyčerpá kvótu relace. Když je MCP rozbité, získejte konfiguraci ručně; nenechávejte to na agentovi. Část jeho sady nástrojů také funguje přes MCP a rozbité MCP znamená rozbitého diagnostika.
Kam pokračovat po opravě?
Hlavní poznatek
Jakmile obnovíte Claude Code, přidejte prevenci, aby se znovu nerozbil. Minimálně: disableBypassPermissionsMode: "disable" v uživatelském nastavení, hooky blokující .env a git push --force a sandbox pro dlouhé autonomní běhy. Protějškem tohoto průvodce je průvodce prevencí.
Po analýze incidentu se hned nevracejte k práci. Nejprve přidejte prevenci, aby se incident neopakoval. Nad druhým mozkem (složkou business/ se strukturou projektu) a CLAUDE.md můžete strávit hodiny a ruční obnovení je obtížné — to je silný důvod. Minimální sada:
~/.claude/settings.jsonspermissions.disableBypassPermissionsMode: "disable"— architektonický zákaz režimu obejití, takže omylem spuštěné--dangerously-skip-permissionsjednoduše nebude fungovat.- Hooky pro
Read(./env*),Bash(git push --force),Write(./node_modules/**)— věci, které je třeba zachytit na úrovni zákona, nikoli přání. - Konfigurace sandboxu pro dlouhé autonomní běhy (
/loop,/schedule). /compacts vlastními pravidly pro to, co zahodit z kontextu, aby se Claude sám nevyčerpal.
Úplné schéma ochrany ve čtyřech vrstvách najdete v průvodci „Jak nakonfigurovat Claude Code, aby vám přes noc nerozbil projekt“. Jeden průvodce pokrývá prevenci před spuštěním /loop; druhý řešení následků poté, co už /loop něco rozbil. Logicky k sobě patří.
Zdroje
- Anthropic Claude Code Changelog - oficiální changelog popisující v2.1.166 (
fallbackModel), v2.1.169 (safe mode, /cd), v2.1.174 (oprava kompakce), v2.1.176 (oprava větve git při /cd). - Anthropic Docs - Model configuration - části „Fallback model chains“, „Check what triggered fallback“, „Setting your model“.
- Anthropic Docs - Troubleshoot installation and login - konfliktní instalace,
claude doctor, přebíráníANTHROPIC_API_KEY.
Praktické materiály: dokumentace Ailoot.
Další materiály a nástroje: Ailoot.
Další podrobnosti
Časté otázky
Znamená selhání safe mode, že mám smazat ~/.claude?
Ne. Stále je třeba zkoumat instalaci, přihlášení, síť i infrastrukturu. Neprůkazný doctor nedokazuje nutnost odstranit nastavení či relace; opravujte jen diagnostikovanou vrstvu.
Co zachovat před opravou instalace?
Zastavte zapisovatele a zálohujte celý stav Claude včetně relací, pluginů, MCP, ignorovaných souborů a metadat. Před pokračováním ověřte součet a rozbalení, zachovejte účet i úložiště přihlášení a obnovujte jen diagnostikovanou vrstvu bez slepého přepsání současného stavu.