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

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

Source: https://ailoot.ai/blog/sl/claude-code-safe-mode-recovery/
Canonical: https://ailoot.ai/blog/sl/claude-code-safe-mode-recovery/
Language: sl
Publisher: Ailoot (https://ailoot.ai/)
Translation: guide-140
Revision: sha256-58ab61c32f29d07553cda4bbfadd979e5f310306bea9de347346c83d1a19e9c1


Praktična gradiva o delu z agenti: [dokumentacija Ailoot](https://ailoot.ai/docs/).



## Kaj se je v Claude Code spremenilo junija 2026?

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

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.«

</div>

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čica | Datum | Novost |
|----|----|----|
| **2.1.166** | 6. junij 2026 | Nastavitev `fallbackModel` + zastavica `--fallback-model` za interaktivne seje |
| **2.1.169** | 8. junij 2026 | Zastavica `--safe-mode` in spremenljivka okolja `CLAUDE_CODE_SAFE_MODE`, ukaz `/cd` |
| **2.1.176** | 12. junij 2026 | Popravek: `/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?

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

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`.

</div>

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`](https://ailoot.ai/blog/sl/claude-md-template/).

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](https://ailoot.ai/blog/sl/mcp-servers-claude-code/).

Č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?

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

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.

</div>

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

<figure>
<blockquote>
<p>Dodali smo zastavico <code>--safe-mode</code> (in <code>CLAUDE_CODE_SAFE_MODE</code>) za zagon Claude Code z onemogočenimi prilagoditvami (<code>CLAUDE.md</code>, vtičniki, veščine, hooki, strežniki MCP) za diagnostiko.</p>
</blockquote>
<figcaption>— Anthropic Claude Code Changelog, https://code.claude.com/docs/en/changelog</figcaption>
</figure>

Anthropic v dokumentaciji o konfiguraciji modela pojasnjuje:

<figure>
<blockquote>
<p>Če želite preveriti, ali so krive prilagoditve, zaženite sejo z ukazom <code>claude --safe-mode</code>, ki onemogoči <code>CLAUDE.md</code>, veščine, strežnike MCP in hooke. Stanje git in imena imenikov ne veljajo za prilagoditve, zato ostanejo na voljo.</p>
</blockquote>
<figcaption>— Anthropic Docs - Model configuration, https://code.claude.com/docs/en/model-config</figcaption>
</figure>

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?

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

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`.

</div>

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?

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

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.

</div>

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

<figure>
<blockquote>
<p>Dodali smo ukaz <code>/cd</code> za preklop seje v novo delovno mapo brez ponastavitve predpomnilnika pozivov sredi seje.</p>
</blockquote>
<figcaption>— Anthropic Claude Code Changelog, https://code.claude.com/docs/en/changelog</figcaption>
</figure>

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:

```bash
# 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?

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

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.

</div>

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:

<figure>
<blockquote>
<p>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.</p>
</blockquote>
<figcaption>— Anthropic Docs - Model configuration, https://code.claude.com/docs/en/model-config</figcaption>
</figure>

Ločeno še o delovanju verige:

<figure>
<blockquote>
<p>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.</p>
</blockquote>
<figcaption>— Anthropic Docs - Model configuration, https://code.claude.com/docs/en/model-config</figcaption>
</figure>

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

```bash
claude --fallback-model sonnet,haiku
```

Prek datoteke `~/.claude/settings.json`:

```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?

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

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`.

</div>

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](https://ailoot.ai/blog/sl/claude-code-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«](https://ailoot.ai/blog/sl/claude-md-template/).
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](https://ailoot.ai/blog/sl/claude-code-hooks/).

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

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

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.

</div>

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:

<figure>
<blockquote>
<p>Če `claude --version` deluje, vendar je nekaj drugega narobe, zaženite `claude doctor`, da ustvarite samodejno diagnostično poročilo.</p>
</blockquote>
<figcaption>— Anthropic Docs - Troubleshoot installation, https://code.claude.com/docs/en/troubleshoot-install</figcaption>
</figure>

2.  **Preverite nasprotujoče si namestitve.** Veliko ljudi ima hkrati nameščeno globalno različico npm in izvirni namestitveni program:

<figure>
<blockquote>
<p>Več namestitev Claude Code lahko povzroči neujemanje različic ali nepričakovano delovanje.</p>
</blockquote>
<figcaption>— Anthropic Docs - Troubleshoot installation, https://code.claude.com/docs/en/troubleshoot-install</figcaption>
</figure>

3.  **Preverite, ali `ANTHROPIC_API_KEY` prestreza vašo sejo OAuth.** To je pogost vzrok za »nič ne deluje, ključ je potekel«:

<figure>
<blockquote>
<p>Ko je nastavljen `ANTHROPIC_API_KEY` in ga potrdite, Claude Code namesto poverilnic OAuth za naročnino uporabi ta ključ.</p>
</blockquote>
<figcaption>— Anthropic Docs - Troubleshoot installation, https://code.claude.com/docs/en/troubleshoot-install</figcaption>
</figure>

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

4.  **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.

```bash
# 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:

```bash
# 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](https://code.claude.com/docs/en/setup) brez brisanja `.claude` ali `.claude.json`:

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

V sistemu Windows ukaz izvorne namestitve ostaja:

```powershell
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?

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

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.

</div>

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

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

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.

</div>

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«](https://ailoot.ai/blog/sl/claude-code-safe-overnight-setup/). Eden obravnava preprečevanje pred zagonom `/loop`; drugi obnovitev po tem, ko je `/loop` že nekaj pokvaril. Smiselna para.

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

### Viri

- [Anthropic Claude Code Changelog](https://code.claude.com/docs/en/changelog) - uradni dnevnik sprememb z opisi v2.1.166 (`fallbackModel`), v2.1.169 (safe mode, /cd), v2.1.174 (popravek stiskanja) in v2.1.176 (popravek veje git pri /cd).
- [Anthropic Docs - Model configuration](https://code.claude.com/docs/en/model-config) - razdelki »Fallback model chains«, »Check what triggered fallback«, »Setting your model«.
- [Anthropic Docs - Troubleshoot installation and login](https://code.claude.com/docs/en/troubleshoot-install) - nasprotujoče si namestitve, `claude doctor`, prestrezanje `ANTHROPIC_API_KEY`.

</div>

Praktična gradiva: [dokumentacija Ailoot](https://ailoot.ai/docs/).





Več gradiv in orodij: [Ailoot](https://ailoot.ai/).

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


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