Blog

Obnovitev Claude Code: Safe Mode, /cd in nadomestni modeli

Markdown

Diagnosticiranje Claude Code s safe mode, ukazom /cd, nadomestnimi modeli in obnovitvijo nastavitev. Vrstni red preverjanj in izvirne omejitve.

Preberi celoten članek

Praktična gradiva o delu z agenti: dokumentacija Ailoot.

Kaj se je v Claude Code spremenilo junija 2026?

Ključne ugotovitve

Anthropic je 8. junija 2026 v Claude Code v2.1.169 dodal zastavico --safe-mode in ukaz /cd. Dva dni prej je v2.1.166 uvedel nadomestne modele, do 3 v verigi. Te tri funkcije obravnavajo najpogostejšo težavo vibe coderjev: »vse je odpovedalo, ne vem, kdo je kriv, in nočem izgubiti ene ure za ponovno namestitev.«

Prej je bila ob nenavadnem delovanju Claude Code—neskončnem kazalniku nalaganja, sesutju ob zagonu, neupoštevanju pravil v CLAUDE.md ali tihem nedelovanju hooka—na voljo le ena rešitev: ročno komentiranje delov datoteke .claude/settings.json, zaporedno onemogočanje strežnikov MCP ali, v najslabšem primeru, brisanje ~/.claude in ponovna namestitev. V enem opisanem primeru so izbrisali ~/.claude in izgubili nastavitev strežnika MCP, za katero so porabili uro in pol. Pozneje se je izkazalo, da je bila kriva ena vrstica v CLAUDE.md in da bi jo lahko našli v 10 sekundah—vendar je to postalo jasno šele po popolni obnovitvi.

Anthropic je junija 2026 uvedel tri mehanizme, ki spreminjajo ta scenarij. Na kratko: kaj je prišlo in kdaj:

RazličicaDatumNovost
2.1.1666. junij 2026Nastavitev fallbackModel + zastavica --fallback-model za interaktivne seje
2.1.1698. junij 2026Zastavica --safe-mode in spremenljivka okolja CLAUDE_CODE_SAFE_MODE, ukaz /cd
2.1.17612. junij 2026Popravek: /cd in preklop med delovnimi drevesi ne prikazujeta več stare veje git

V nadaljevanju je vsak mehanizem pojasnjen po korakih, skupaj z vrstnim redom uporabe, ko se seja Claude Code iztiri.

Kaj najpogosteje pokvari Claude Code?

Ključne ugotovitve

Glede na opisane izkušnje Claude Code pri vibe coderjih običajno odpove zaradi štirih stvari: preobsežne datoteke CLAUDE.md z nasprotujočimi si pravili, hooka z napačno izhodno kodo, strežnika MCP, ki odpove brez obvestila, ter prekrivajočih se nastavitev na treh ravneh datoteke settings.json. Krivec je en sam, diagnosticiranje traja nekaj minut, panika pa ljudi takoj pripravi do uporabe rm -rf.

V opisanem primeru je bila datoteka CLAUDE.md sprva sestavljena iz 80 vrstic—in je en mesec delovala. V drugem mesecu je postalo opazno, da Claude enkrat na teden krši vsa postavljena pravila: poseže v .env, zažene git push --force, brska po node_modules. Ne zlonamerno—preprosto pozabi. Enkrat je bil izbrisan .gitignore, razlog pa sprva ni bil jasen. Ta scenarij je podrobneje obravnavan v vodniku za CLAUDE.md.

Ko se CLAUDE.md razširi na več kot 400 vrstic, začne tiho povzročati težave: ob zagonu seje zavzame velik del kontekstnega okna in pomembna navodila razredči med manj pomembnimi. Claude datoteko še vedno formalno prebere, zato je od zunaj videti, kot da »pravila so, vendar ne delujejo«—kar je značilen znak preobsežnega dogovora.

Hooki so drugi pogost vir težav. Claude Code hooks imajo posebnost, ki je Anthropic ne poudarja.

To pomeni, da sys.exit(1) v hooku Python (ali katera koli običajna unijska oznaka »neuspešno zaradi napake«) ne ustavi Claude. Blokira samo koda 2. V opisanem primeru je hook veljal za »strogo prepoved«, v praksi pa je zabeležil pritožbo in dovolil izvedbo dejanja.

Strežniki MCP so tretja plast in tudi ti lahko odpovejo na svoj način.

Simptomi so pogosto enaki: ukazi MCP so na voljo, vendar vrnejo failed brez povratnega sledenja. Več o nastavljanju MCP in dodajanju strežnikov z ukazom claude mcp add si oglejte v ločenem vodniku.

Četrti vir težav je hierarhija settings.json s tremi ravnmi. Obstajajo ~/.claude/settings.json (uporabniška raven), .claude/settings.json v korenski mapi projekta (projektna raven), .claude/settings.local.json (lokalna raven) in po želji upravljane nastavitve skrbnika podjetja. Združijo se po pravilih prednosti. Ko nekdo na projektni ravni doda strežnik MCP, vi pa imate na uporabniški ravni podoben vnos z drugačno konfiguracijo zagona, pride do tihega spora, zaradi katerega je videti, kot da je »Claude Code pokvarjen.«

Kako deluje --safe-mode in kaj onemogoči?

Ključne ugotovitve

Ukaz claude --safe-mode zažene Claude Code s popolnoma onemogočenimi prilagoditvami: CLAUDE.md, vtičniki, veščine, hooki, strežniki MCP, uporabniški ukazi, agenti, slogi izhoda, delovni tokovi in vezave tipk. Pooblastitev, izbira modela, vgrajena orodja in dovoljenja ostanejo na voljo. To je diagnostično orodje: če težava v safe mode izgine, je kriva ena od dodanih plasti.

Izvirno besedilo Anthropicovega dnevnika sprememb za v2.1.169 se glasi:

Dodali smo zastavico --safe-mode (in CLAUDE_CODE_SAFE_MODE) za zagon Claude Code z onemogočenimi prilagoditvami (CLAUDE.md, vtičniki, veščine, hooki, strežniki MCP) za diagnostiko.

— Anthropic Claude Code Changelog, https://code.claude.com/docs/en/changelog

Anthropic v dokumentaciji o konfiguraciji modela pojasnjuje:

Če želite preveriti, ali so krive prilagoditve, zaženite sejo z ukazom claude --safe-mode, ki onemogoči CLAUDE.md, veščine, strežnike MCP in hooke. Stanje git in imena imenikov ne veljajo za prilagoditve, zato ostanejo na voljo.

— Anthropic Docs - Model configuration, https://code.claude.com/docs/en/model-config

To je diagnostično orodje, ne »čisto okolje.« Safe mode pomaga odgovoriti na eno vprašanje: ali je težava v privzetem delovanju Claude Code ali v dodanih prilagoditvah? To je del načrtovanja konteksta—upravljanja tega, kaj Claude v določenem trenutku vidi in česa ne. Če v safe mode vse deluje, je jasno, da je treba plasti preveriti z binarnim iskanjem. Če ne deluje, je težava v sami namestitvi, pooblastitvi, omrežju ali infrastrukturi; tedaj je smiselno preveriti claude doctor in dnevnike.

Kaj safe mode onemogoči (uradni Anthropicov seznam—5 glavnih plasti):

  • CLAUDE.md na vseh ravneh (uporabniška / projektna)
  • Vtičnike
  • Veščine
  • Hooke
  • Strežnike MCP

Kaj še vedno deluje:

  • Pooblastitev (vaša seja OAuth ali ključ API)
  • Izbira modela (--model sonnet, --model opus)
  • Vgrajena orodja (Read, Write, Bash, Grep in podobno)
  • Dovoljenja
  • Stanje git
  • Imena imenikov

Pomembna podrobnost: safe mode ne onemogoči upravljanih nastavitev oziroma pravilnikov skrbnika podjetja. Če delate v skupini, kjer Bedrock GovCloud ali konfiguracija MDM nastavlja availableModels, te omejitve ostanejo—safe mode onemogoči samo vaše prilagoditve, ne pa pravilnikov podjetja.

Kako v 60 sekundah osamiti plast in najti krivca?

Ključne ugotovitve

  1. korak: zaženite claude --safe-mode v isti mapi, kjer so se pojavile težave. Če deluje, je težava v vaših prilagoditvah; nato jih omogočajte eno za drugo: CLAUDE.md -> hooki -> MCP -> veščine. Če ne deluje niti v safe mode, je težava v avtentikaciji, različici, omrežju ali operacijskem sistemu. V tem primeru zaženite claude doctor za samodejno diagnostiko, ne da bi uporabili rm -rf.

Diagnostični postopek za primer, ko je Claude Code »prenehal poslušati.« Najnižja različica za vse spodnje ukaze je Claude Code v2.1.169. Če je vaša starejša, jo najprej posodobite (npm update -g @anthropic-ai/claude-code ali uporabite Anthropicov izvirni namestitveni program).

  1. Odprite isto mapo, v kateri so se pojavile težave.
  2. Zaženite claude --safe-mode.
  3. Če se zažene brez težav, preverite prvotno zahtevo. Je delovala? Če da, je kriva ena od plasti. Nadaljujte s 4. korakom.
  4. Če tudi v safe mode ne deluje, se ne dotikajte konfiguracij. Najprej zaženite claude doctor; preverite avtentikacijo, različico in morebitne nasprotujoče si namestitve.

Ko se safe mode zažene brez težav, omogočajte plasti eno za drugo, začenši z najverjetnejšim krivcem. Vrstni red na podlagi opisanih izkušenj:

  1. CLAUDE.md. Zaženite claude brez safe mode, vendar datoteko začasno preimenujte: mv CLAUDE.md CLAUDE.md.bak. Če deluje, je vzrok ta datoteka. Nato lahko uporabite binarno iskanje: ohranite polovico vrstic in preverite.
  2. Hooki. Odprite .claude/settings.json in v razdelku hooks začasno nastavite []. Znova zaženite claude. Ali deluje? Potem je kriv eden od hookov. Omogočajte jih enega za drugim.
  3. Strežniki MCP. Podobno v datoteki ~/.claude.json ali .claude/settings.json razdelek mcpServers začasno nastavite na prazen objekt, znova zaženite in preverite.
  4. Veščine. Premaknite .claude/skills/ v začasno mapo. Zaženite in preverite.

»Začasno preimenovanje« pomeni, da datotek med diagnostiko ne izbrišete. Ukaza mv ali git stash omogočata, da vse obnovite z enim ukazom, če se izkaže, da ta plast ni kriva.

Kako z ukazom /cd zamenjati delovno mapo, ne da bi izgubili kontekst?

Ključne ugotovitve

Ukaz /cd <path> v Claude Code 2.1.169+ zamenja delovno mapo v aktivni seji, ne da bi se izgubili predpomnilnik pozivov. Uporaben je, ko je konfiguracija trenutnega projekta pokvarjena: preklopite lahko v čisto mapo, preverite, ali Claude deluje, in se vrnete. Prej ste morali sejo zapreti in jo znova zagnati.

Iz dnevnika sprememb za v2.1.169, 8. junija:

Dodali smo ukaz /cd za preklop seje v novo delovno mapo brez ponastavitve predpomnilnika pozivov sredi seje.

— Anthropic Claude Code Changelog, https://code.claude.com/docs/en/changelog

Zakaj je to uporabno pri odpravljanju težav? Recimo, da ste v mapi projekta ~/work/myapp in Claude Code se vede nenavadno. Prej ste lahko preverili, ali »sploh deluje«, le tako, da ste sejo zaprli, se premaknili v drugo mapo in jo znova zagnali. Izgubili ste kontekst, zgodovino in ogreti predpomnilnik pozivov. Zdaj lahko uporabite:

# In the same session:
/cd ~/sandbox/test

Claude preklopi v novo mapo in njen CLAUDE.md (če obstaja) prebere kot sporočilo, ne kot nadomestni sistemski poziv—predpomnilnik se torej ohrani. Če vse deluje v ~/sandbox/test, je jasno, da je težavo povzročila konfiguracija za ~/work/myapp.

Dne 12. junija je v2.1.176 odpravil neprijetno regresijo—/cd je do popolnega ponovnega zagona prikazoval staro vejo git. Če uporabljate starejšo različico, jo posodobite ali pa prvih nekaj sporočil po preklopu preprosto prezrite git status—stanje se bo osvežilo.

Kako nastaviti nadomestne modele za napako 529?

Ključne ugotovitve

V v2.1.166 je Anthropic dodal fallbackModel—verigo z do 3 modeli, ki se zaporedoma preizkusijo, ko je primarni model preobremenjen ali nedosegljiv. Verigo sprožijo samo preobremenitve in neponovljive napake strežnika. Napake avtentikacije, obračunavanja, omejitve hitrosti in prenosa ne sprožijo verige nadomestnih modelov—zanje velja običajna logika ponavljanja poskusa.

V opisanem scenariju se v projektu enkrat tedensko zažene dolga naloga z Opusom; po 10 minutah API vrne 529 Overloaded in seja se sesuje. Prej ste morali čakati ali ročno preklopiti na Sonnet z --model sonnet ter izgubiti ves ogreti kontekst. V velikem imeniku business/ z nastavitvijo second brain to pomeni približno dvajset minut dela. Zdaj je na voljo ustrezen mehanizem.

Natančen navedek iz uradne dokumentacije:

Ko je primarni model preobremenjen, nedosegljiv ali vrne drugo neponovljivo napako strežnika, lahko Claude Code preklopi na nadomestni model, namesto da bi zahteva spodletela. Napake avtentikacije, obračunavanja, omejitve hitrosti, velikosti zahteve in prenosa nikoli ne sprožijo preklopa—zanje velja običajna pot ponavljanja poskusa in obravnave napak.

— Anthropic Docs - Model configuration, https://code.claude.com/docs/en/model-config

Ločeno še o delovanju verige:

Nastavite enega ali več nadomestnih modelov in Claude Code jih preizkusi po vrsti ter ob preklopu prikaže obvestilo. Preklop velja samo za trenutni korak—naslednje sporočilo znova poskusi uporabiti primarni model. Po odstranitvi dvojnikov so v verigi največ trije modeli; dodatni vnosi se prezrejo.

— Anthropic Docs - Model configuration, https://code.claude.com/docs/en/model-config

Nastavite ga lahko na dva načina. Prek CLI:

claude --fallback-model sonnet,haiku

Prek datoteke ~/.claude/settings.json:

{
  "fallbackModel": ["claude-sonnet-4-6", "claude-haiku-4-5"]
}

Omejitve hitrosti imajo še posebno pravilo. Anthropic napake 429 namenoma ne pošlje naprej po verigi, zato omejitve zahtev ni mogoče obiti s preklopom na naslednji model. Nadomestni model deluje samo, ko je primarni preobremenjen, nedosegljiv ali vrne neponovljivo napako strežnika (na primer 529 Overloaded). Za omejitve hitrosti veljata običajna logika ponavljanja poskusa in čakanje s postopno daljšimi intervali.

Še ena podrobnost—12. junija je v2.1.174 odpravil regresijo, pri kateri stiskanje ni upoštevalo zastavice --fallback-model. Če imate dolgo sejo in jo sistem stisne med preobremenitvijo, se pred tem popravkom nadomestni model ni poklical. Če delate z dolgimi sejami (/compact, nočni /loop), posodobite vsaj na v2.1.174.

Kaj popraviti, če je kriv CLAUDE.md, hook, MCP ali veščina?

Ključne ugotovitve

Ko safe mode pokaže, katera plast je kriva, je popravek odvisen od te plasti. Pri CLAUDE.md uporabite binarno iskanje ali se vrnite na pripravljeno predlogo z manj kot 200 vrsticami. Pri hooku preverite izhodno kodo (2 blokira, 1 ne) in logiko. Pri MCP odstranite en strežnik in preverite. Pri veščini preverite, ali si SKILL.md nasprotuje z CLAUDE.md.

Posebne strategije za vsako plast.

Če je kriv CLAUDE.md

Odprite datoteko in preverite njeno velikost. Glede na opisane izkušnje naj aktivni CLAUDE.md ne presega 200 vrstic; preostalo premaknite v usmerjevalnike in podporne dokumente ob projektu (celotna struktura second brain je v vodniku za second brain). Če ima 400+ vrstic, je skoraj zagotovo kriv. Koraki:

  1. Ustvarite varnostno kopijo: cp CLAUDE.md CLAUDE.md.full.
  2. Vrnite se na kratko delujočo predlogo. Pripravljena je v vodniku »Kako konfigurirati CLAUDE.md«.
  3. Znova zaženite Claude Code. Preverite.
  4. Če deluje, obnovite pravila v majhnih blokih po 10–20 vrstic in preverite po vsakem bloku.
  5. Poiščite blok, ki pokvari delovanje. Preoblikujte ga v hook s pravilno izhodno kodo (izhodne kode hookov so obravnavane v naslednjem podrazdelku tega H2).

Če je kriv hook

Glavno vprašanje je, ali je izhodna koda pravilna. Hooki Claude Code uporabljajo:

  • Exit 0 — vse je v redu; dejanje se izvede.
  • Exit 1 — napaka, vendar ne blokira. Claude nadaljuje, kot da se ni nič zgodilo.
  • Exit 2 — blokirna napaka. Samo ta dejansko ustavi dejanje.

Če ste v shell hook napisali sys.exit(1) ali exit 1, ker ste mislili, da s tem blokirate, ta koda v Claude Code deluje kot opozorilni dnevnik in ne ustavi dejanja. Spremenite jo v 2. Podrobnosti o hookih in nastavitvi brez te pasti so v ločenem vodniku.

Drugi pogost primer je, da hook na stdout vrne neveljaven JSON. Claude Code odgovor hooka razčleni kot JSON; če vsebuje dodatno besedilo (dnevnik, oznako napredka, emoji), se hook obravnava kot neuspešen, dejanje pa se izvede. Pravilo: stdout naj vsebuje samo JSON; vse drugo pošljite na stderr.

Tretji primer je, da hook bere nekaj iz ~/.claude/, kar je safe mode skril. To je običajen scenarij; ne odpravljajte ga s popravki hooka, temveč na začetku preverite os.environ.get('CLAUDE_CODE_SAFE_MODE') in zaključite z izhodno kodo 0.

Če je kriv strežnik MCP

Simptomi: ukazi MCP so na voljo, vendar vrnejo failed brez jasnega povratnega sledenja. Koraki:

  1. Zaženite claude mcp list—kateri strežniki so določeni?
  2. V datoteki ~/.claude.json enega za drugim onemogočite strežnike: ključ claude-server-A preimenujte v _claude-server-A (s tem strežnik deaktivirate, ne da bi ga izbrisali).
  3. Znova zaženite claude. Preverite, kateri klici delujejo.
  4. Ko najdete krivega strežnika, preverite njegov dnevnik: claude mcp logs <name>.
  5. Če gre za strežnik tretje osebe (@modelcontextprotocol/server-postgres in podobne), preverite, ali ima nedavno izdajo. Ekosistem MCP je še vedno v pretresu; strežniki se po posodobitvah Claude Code redno pokvarijo.

Če naletite na »sesutje ob zagonu, in to samo z dvema MCP-jema«, primerjajte delovanje v safe mode brez MCP.

Če je kriva veščina

Veščino sestavljata SKILL.md in koda v .claude/skills/<name>/. Simptomi: Claude ignorira veščino, jo uporabi ob napačnem času ali jo uporabi, vendar ustvari neuporaben rezultat. Koraki:

  1. Odprite SKILL.md. Preverite opis—obsega naj 1–2 stavka in natančno opiše, kdaj jo je treba uporabiti. Če piše »univerzalni pripomoček za vse«, Claude ne razume, kdaj naj jo prikliče.
  2. Preverite, ali si nasprotuje z CLAUDE.md. Če CLAUDE.md pravi »vedno piši teste«, opis veščine pa pravi »uporabi za hitro prototipiranje brez testov«, gre za spor.
  3. Če veščina uporablja zunanje ukaze (npm, python, git), preverite, ali so na voljo v sistemski spremenljivki PATH. Veščina ima svoje minimalno okolje.

Kaj storiti, če Safe Mode ni pomagal: diagnostika in ohranitev stanja pred popravilom

Ključne ugotovitve

Če odpove tudi safe mode, med možnostmi ostajajo namestitev, overjanje, omrežje ali infrastruktura. Zaženite claude doctor in preglejte dokaze. Nedoločen izpis ne upravičuje brisanja nastavitev ali sej: najprej ohranite in preverite celotno stanje, nato popravite samo diagnosticirano namestitev.

Odstranjevanje uporabniškega stanja ni diagnostična bližnjica. S spodnjimi preverjanji prepoznajte napako; če niso določna, ohranite dokaze in raziskujte naprej. Vsako popravilo namestitve začne preverjena varnostna kopija in ohrani obstoječi račun ter identiteto shrambe poverilnic. Vrstni red:

  1. claude doctor — samodejna diagnostika. Anthropic v svoji dokumentaciji piše:

Če `claude --version` deluje, vendar je nekaj drugega narobe, zaženite `claude doctor`, da ustvarite samodejno diagnostično poročilo.

— Anthropic Docs - Troubleshoot installation, https://code.claude.com/docs/en/troubleshoot-install
  1. Preverite nasprotujoče si namestitve. Veliko ljudi ima hkrati nameščeno globalno različico npm in izvirni namestitveni program:

Več namestitev Claude Code lahko povzroči neujemanje različic ali nepričakovano delovanje.

— Anthropic Docs - Troubleshoot installation, https://code.claude.com/docs/en/troubleshoot-install
  1. Preverite, ali ANTHROPIC_API_KEY prestreza vašo sejo OAuth. To je pogost vzrok za »nič ne deluje, ključ je potekel«:

Ko je nastavljen `ANTHROPIC_API_KEY` in ga potrdite, Claude Code namesto poverilnic OAuth za naročnino uporabi ta ključ.

— Anthropic Docs - Troubleshoot installation, https://code.claude.com/docs/en/troubleshoot-install

Rešitev: v trenutni seji lupine izvedite unset ANTHROPIC_API_KEY ali spremenljivko odstranite iz datoteke ~/.zshrc / ~/.bashrc.

  1. Popravite samo namestitev, ki jo pokaže diagnostika; najprej ohranite vse uporabniško stanje. Napaka safe mode ali nedoločen izpis doctor ne dokazujeta potrebe po odstranitvi uporabniških podatkov. Pred dosledno varnostno kopijo ustavite vse seje Claude in druge pisce. Ohranite isti uporabniški račun Unix, HOME, shrambo poverilnic operacijskega sistema in račun Anthropic; ključev ne menjajte in ne ustvarjajte nadomestne identitete.

Spodnji primer kopiranja je za Linux z GNU tar. V macOS ali Windows uporabite orodje, ki ohrani ACL, razširjene atribute, povezave in metapodatke te platforme, ter pred nadaljevanjem preverite obnovo; ne predpostavljajte delovanja zastavic GNU drugje. Arhiv vsebuje poverilnice in prepise sej: hranite ga zasebno in zunaj repozitorijev.

# 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"

Vsi ukazi morajo uspeti. Arhiv pokriva celotno obstoječe drevo .claude, tudi prezrte in nesledene seje ter stanje vtičnikov, in .claude.json, ne samo nastavitve, sledene z Git. Če je katera pot simbolna povezava ali so podatki v drugi nastavljeni mapi, se ustavite in razrešeni cilj vključite v isto preverjeno kopijo; arhiviranje same povezave ne kopira cilja. Arhiv ne vsebuje macOS Keychain ali druge zunanje shrambe poverilnic, zato te identitete ohranite na mestu.

Če diagnostika kot nasprotujočo kopijo izrecno prepozna staro lokalno namestitev, v zasebni obnovitveni imenik premaknite samo njo, namesto brisanja nastavitev in sej:

# Use the verified backup_dir from the previous block.
if [ -d "$HOME/.claude/local" ]; then
  mv "$HOME/.claude/local" "$backup_dir/legacy-local"
fi

Namestitev npm odstranite samo, če jo diagnostika prepozna kot nasprotujočo namestitev in želite ohraniti izvorno. Nato uporabite dokumentirani izvorni namestitveni program brez brisanja .claude ali .claude.json:

curl -fsSL https://claude.ai/install.sh | bash
claude --version
claude doctor

V sistemu Windows ukaz izvorne namestitve ostaja:

irm https://claude.ai/install.ps1 | iex

Obnovo opravite posebej. Znova ustavite pisce. Preverite kontrolno vsoto arhiva in ga kot zgoraj razširite v prazen obnovitveni imenik; pred uporabo datotek uspešno izvedite primerjavo. Za obnovo premaknjene stare namestitve najprej potrdite, da $HOME/.claude/local ne obstaja, nato $backup_dir/legacy-local premaknite nazaj na točno to pot. Diagnostično potrjeno nastavitveno datoteko obnovite iz preverjenega izvlečka šele po ohranitvi trenutne zamenjave; celotnega drevesa ne prepišite slepo. Seje, nastavitve MCP in izvirna identiteta ostajajo ohranjene. Sam posnetek Git ne pokriva prezrtih/nesledenih prepisov, poverilnic ali metapodatkov datotečnega sistema.

Česa NE smete storiti, ko Claude Code ne deluje?

Ključne ugotovitve

Šest slabih vzorcev, ugotovljenih v opisanih primerih podpore: menjava ključev pred diagnostiko, popolna ponastavitev kot prvi korak, panika zaradi napake uporabniškega vmesnika hooka, zvišanje izhodne kode hooka pred popravilom njegove logike, urejanje datoteke CLAUDE.md brez varovala safe mode ter prepričanje, da »Claude sam popravi svoj MCP.« Vsak od teh vzorcev stane več ur, nobeden pa ni potreben.

Ne menjajte ključev pred diagnostiko

»Avtorizacija ne deluje« je v 90 % primerov posledica tega, da ANTHROPIC_API_KEY prestreže naročnino, napake uporabniškega vmesnika hooka ali nedelujočega MCP-ja. Zamenjava ključev ne odpravi ničesar od tega, povzroči pa še eno uro nedelovanja: preklicati morate stari ključ, izdati novega, znova podpisati CI z njim in posodobiti spremenljivke v produkciji. Najprej zaženite claude --safe-mode. Deluje? Potem je težava v prilagoditvah; ključev se ni treba dotakniti.

Ne izvedite popolne ponastavitve, preden poskusite Safe Mode

Safe mode v 1 sekundi zagotovi izolirano okolje. Brisanje .claude lahko uniči seje, konfiguracijo MCP in drugo nesledeno stanje. Najprej diagnosticirajte, preverite zasebno varnostno kopijo ter povratni premik uporabite samo za dejansko prizadeto plast namestitve ali nastavitev.

Ne zganjajte panike zaradi napake uporabniškega vmesnika hooka

Preden karkoli popravljate, preverite, ali se je hook dejansko izvedel (z dnevnikom na stderr ali izrecnim izpisom), namesto da se zanašate na vizualni indikator.

Ne zvišujte izhodne kode hooka, preden popravite njegovo logiko

Ko vaš blokirni hook ne blokira, vas morda zamika, da nastavite exit 2 in zadevo odkljukate. To je delujoč popravek, vendar skrije drugo težavo: če blokiranje en mesec ni delovalo, so se izvedle vse stvari, ki bi jih hook moral prepovedati. Najprej preglejte dnevnik git in natančno ugotovite, kaj se je izmuznilo. Nato dodajte blokado. Sicer zdaj delujoča blokada ne razveljavi preteklih dogodkov.

Ne urejajte produkcijske datoteke CLAUDE.md brez varovala safe mode

V opisanem primeru uredite CLAUDE.md, Claude začne delovati nenavadno, zaženete git diff in vidite, da je nekdo tisti večer v repozitorij dodal tudi strežnik MCP in hook. Krivite svojo spremembo, jo razveljavite, Claude pa se še naprej vede nenavadno. Pravilo: pred git revert zaženite claude --safe-mode. Če težava vztraja tudi v safe mode, vaša sprememba ni imela nobene zveze z njo; ni je treba razveljaviti.

Ne verjemite, da »Claude sam popravi svoj MCP«

Tipičen scenarij: prosite Claude, naj »doda določeno orodje v strežnik MCP«, Claude prepiše delujočo konfiguracijo, vse se pokvari, nato pa Claude več korakov odpravlja škodo, ki jo je povzročil sam—in pri tem porabi še kvoto seje. Ko MCP ne deluje, konfiguracijo pridobite ročno; ne prepustite tega agentu. Tudi del njegove zbirke orodij deluje prek MCP, zato pokvarjen MCP pomeni tudi pokvarjeno diagnostično orodje.

Kaj storiti po odpravi težave?

Ključne ugotovitve

Ko obnovite Claude Code, dodajte preventivne ukrepe, da se težava ne ponovi. Najmanj: disableBypassPermissionsMode: "disable" v uporabniških nastavitvah, hooki, ki blokirajo .env in git push --force, ter peskovnik za dolge samostojne zagone. Vodnik za preprečevanje dopolnjuje ta vodnik.

Po analizi incidenta se ne vrnite takoj k delu. Najprej dodajte zaščito, da se incident ne ponovi. Za second brain (mapo business/ s strukturo projekta) in CLAUDE.md lahko porabite več ur, ročno obnavljanje pa je težavno—kar je dober razlog. Minimalna postavitev:

  1. ~/.claude/settings.json z permissions.disableBypassPermissionsMode: "disable"—arhitekturna prepoved načina obhoda, zaradi katere pomotoma zagnani --dangerously-skip-permissions preprosto ne bo deloval.
  2. Hooki za Read(./env*), Bash(git push --force), Write(./node_modules/**)—stvari, ki jih je treba uveljaviti kot pravilo, ne zgolj izraziti kot željo.
  3. Konfiguracija peskovnika za dolge samostojne zagone (/loop, /schedule).
  4. /compact z lastnimi pravili o tem, kaj zavreči iz konteksta, da se Claude ne izčrpa.

Celotna štirislojna zaščitna shema je v vodniku »Kako konfigurirati Claude Code, da čez noč ne pokvari vašega projekta«. Eden obravnava preprečevanje pred zagonom /loop; drugi obnovitev po tem, ko je /loop že nekaj pokvaril. Smiselna para.

Viri

Praktična gradiva: dokumentacija Ailoot.

Več gradiv in orodij: Ailoot.

Več podrobnosti

Vprašanja in odgovori: Obnovitev Claude Code: Safe Mode, /cd in nadomestni modeli

Ali napaka v safe mode pomeni, da naj izbrišem ~/.claude?

Ne. Še vedno ostajajo možni vzroki namestitve, overjanja, omrežja in infrastrukture. Nedoločen izpis doctor ni dokaz za odstranitev nastavitev ali sej; popravite samo diagnosticirano plast.

Kaj ohranim pred popravilom namestitve?

Ustavite pisce in kopirajte celotno stanje Claude s sejami, konfiguracijo vtičnikov/MCP, prezrtimi datotekami in metapodatki datotečnega sistema. Pred nadaljevanjem preverite kontrolno vsoto in izvleček, ohranite obstoječi račun ter shrambo poverilnic in obnovite samo diagnosticirano plast brez slepega prepisovanja trenutnega stanja.

Vsi članki