# Gendannelse af Claude Code: sikker tilstand, /cd og reservemodeller

> Fejlfinding i Claude Code med sikker tilstand, kommandoen /cd, reservemodeller og gendannelse af indstillinger. Rækkefølgen af kontroller og de oprindelige begrænsninger.

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


Praktisk materiale om at arbejde med agenter: [Ailoot-dokumentation](https://ailoot.ai/docs/).



## Hvad ændrer sig i Claude Code i juni 2026?

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

Vigtigste pointer

Den 8. juni 2026 tilføjede Anthropic flaget `--safe-mode` og kommandoen `/cd` i Claude Code v2.1.169. To dage tidligere introducerede v2.1.166 reservemodeller, op til 3 i en kæde. Disse tre funktioner løser det mest almindelige problem for vibe-kodere: ”alt er gået ned, jeg ved ikke, hvem der er skyld i det, og jeg vil ikke miste en time på at geninstallere.”

</div>

Tidligere var der kun én vej ud, når Claude Code begyndte at opføre sig mærkeligt – en spinner, der aldrig stoppede, et nedbrud ved opstart, en agent, der ignorerede reglerne i `CLAUDE.md`, eller en hook, der ikke blev kørt uden at give besked: kommentér manuelt dele af `.claude/settings.json` ud, deaktivér MCP-servere én ad gangen eller i værste fald slet `~/.claude` og geninstallér. I et beskrevet tilfælde blev `~/.claude` slettet, og opsætningen af MCP-serveren, som det havde taget halvanden time at samle, gik tabt. Senere viste det sig, at én linje i `CLAUDE.md` var årsagen, og at den kunne være fundet på 10 sekunder – men det blev først klart efter en fuld gendannelse.

I juni 2026 udrullede Anthropic tre mekanismer, der ændrer dette scenarie. Kort fortalt: hvad der kom, og hvornår:

| Version | Dato | Nyheder |
|----|----|----|
| **2.1.166** | 6. juni 2026 | Indstillingen `fallbackModel` + flaget `--fallback-model` til interaktive sessioner |
| **2.1.169** | 8. juni 2026 | Flaget `--safe-mode` og miljøvariablen `CLAUDE_CODE_SAFE_MODE`, kommandoen `/cd` |
| **2.1.176** | 12. juni 2026 | Rettelse: `/cd` og skift af worktree viste ikke længere den gamle git-branch |

Nedenfor forklares hver mekanisme trin for trin sammen med rækkefølgen, de skal bruges i, når en Claude Code-session kommer på afveje.

## Hvad får oftest Claude Code til at gå i stykker?

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

Vigtigste pointer

Ud fra den beskrevne erfaring går Claude Code typisk i stykker for vibe-kodere på grund af fire ting: en overfyldt `CLAUDE.md` med modstridende regler, en hook med forkert exitkode, en MCP-server, der fejler lydløst, og overlappende indstillinger på tre niveauer i `settings.json`. Der er én årsag, fejlfinding tager minutter, og panik får folk til straks at gribe til `rm -rf`.

</div>

I det beskrevne eksempel var `CLAUDE.md` først sat sammen på 80 linjer – og det fungerede i en måned. I den anden måned blev det tydeligt, at Claude én gang om ugen overtrådte alle de fastsatte regler: rørte ved `.env`, kørte `git push --force` og rodede rundt i `node_modules`. Ikke med vilje – den glemte det bare. Én gang blev `.gitignore` slettet, og årsagen var ikke umiddelbart klar. Dette scenarie gennemgås mere detaljeret i [guiden til `CLAUDE.md`](https://ailoot.ai/blog/da/claude-md-template/).

Når `CLAUDE.md` vokser til 400+ linjer, begynder den lydløst at skabe problemer: Den optager en betydelig del af kontekstvinduet ved sessionsstart og udvander vigtige instruktioner med sekundære instruktioner. Claude læser stadig formelt filen, så udefra ser det ud som ”reglerne er der, men de virker ikke” – et typisk tegn på en overfyldt aftale.

Hooks er den næstmest almindelige fejlkilde. `Claude Code hooks` har en detalje, som Anthropic ikke fremhæver.

Det vil sige, at `sys.exit(1)` i en Python-hook (eller enhver Unix-konventionel ”fejlede med en fejl”) ikke stopper Claude. Kun kode `2` er blokerende. I det beskrevne tilfælde blev hooken betragtet som et ”hårdt forbud”, men i praksis loggede den en klage og tillod handlingen.

MCP-servere er det tredje lag, og de kan også fejle på deres egen måde.

Symptomet ser ofte ens ud: MCP-kommandoer er tilgængelige, men returnerer `failed` uden et stacktrace. Læs mere om konfiguration af MCP og tilføjelse af servere med `claude mcp add` i [den separate guide](https://ailoot.ai/blog/da/mcp-servers-claude-code/).

Den fjerde fejlkilde er hierarkiet med tre niveauer i `settings.json`. Du har `~/.claude/settings.json` (brugerniveau), `.claude/settings.json` i projektets rodmappe (projekt), `.claude/settings.local.json` (lokalt) og eventuelt administrerede indstillinger fra en virksomhedsadministrator. De kombineres efter prioritetsregler. Når nogen tilføjer en MCP-server på projektniveau, mens du har en lignende post med en anden startkonfiguration på brugerniveau, opstår der en lydløs konflikt, som ser ud som om ”Claude Code er gået i stykker”.

## Hvordan fungerer `--safe-mode`, og hvad deaktiverer det?

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

Vigtigste pointer

`claude --safe-mode` starter Claude Code med alle tilpasninger deaktiveret: `CLAUDE.md`, plugins, skills, hooks, MCP-servere, brugerkommandoer, agenter, outputformater, workflows og keybindings. Autorisation, modelvalg, indbyggede værktøjer og tilladelser bevares. Dette er et diagnoseværktøj: Hvis problemet forsvinder i sikker tilstand, er en af de tilpasninger, du har tilføjet, årsagen.

</div>

Anthropics oprindelige formulering i ændringsloggen for v2.1.169 lyder:

<figure>
<blockquote>
<p>Tilføjede flaget <code>--safe-mode</code> (og <code>CLAUDE_CODE_SAFE_MODE</code>) til at starte Claude Code med deaktiverede tilpasninger (<code>CLAUDE.md</code>, plugins, skills, hooks, MCP-servere) til diagnostik.</p>
</blockquote>
<figcaption>— Anthropic Claude Code-ændringslog, https://code.claude.com/docs/en/changelog</figcaption>
</figure>

Anthropic præciserer i dokumentationen om modelkonfiguration:

<figure>
<blockquote>
<p>For at undersøge, om tilpasningerne er årsagen, skal du starte en session med <code>claude --safe-mode</code>, som deaktiverer <code>CLAUDE.md</code>, skills, MCP-servere og hooks. Git-status og mappenavne betragtes ikke som tilpasninger og er stadig tilgængelige.</p>
</blockquote>
<figcaption>— Anthropic-dokumentation – modelkonfiguration, https://code.claude.com/docs/en/model-config</figcaption>
</figure>

Dette er et **diagnoseværktøj**, ikke et ”rent miljø”. Sikker tilstand hjælper med at besvare ét spørgsmål: Ligger problemet i Claude Codes standardadfærd eller i de tilpasninger, der er blevet tilføjet? Det er en del af kontekstteknik – at styre, hvad Claude ser og ikke ser på et givent tidspunkt. Hvis alt fungerer i sikker tilstand, er det tydeligt, at lagene skal undersøges med binærsøgning. Hvis det ikke fungerer, ligger problemet i selve installationen, autorisationen, netværket eller infrastrukturen, og så giver det mening at se på `claude doctor` og logfilerne.

Dette deaktiverer sikker tilstand (Anthropics officielle liste – 5 hovedlag):

- `CLAUDE.md` på alle niveauer (bruger / projekt)
- Plugins
- Skills
- Hooks
- MCP-servere

Dette fungerer stadig:

- Autorisation (din OAuth-session eller API-nøgle)
- Modelvalg (`--model sonnet`, `--model opus`)
- Indbyggede værktøjer (Read, Write, Bash, Grep og så videre)
- Tilladelser
- Git-status
- Mappenavne

En vigtig detalje: Sikker tilstand deaktiverer ikke administrerede/politikstyrede indstillinger fra en virksomhedsadministrator. Hvis du arbejder i et team, hvor Bedrock GovCloud eller en MDM-konfiguration angiver `availableModels`, gælder disse begrænsninger stadig – sikker tilstand deaktiverer kun dine tilpasninger, ikke virksomhedens politikker.

## Hvordan isolerer du et lag og finder årsagen på 60 sekunder?

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

Vigtigste pointer

Trin 1: Kør `claude --safe-mode` i den samme mappe, hvor problemerne opstod. Hvis det virker, ligger problemet i dine tilpasninger, og så aktiverer du dem én ad gangen: `CLAUDE.md` -> hooks -> MCP -> skills. Hvis det heller ikke virker i sikker tilstand, ligger problemet i auth, versionen, netværket eller operativsystemet. Kør i så fald `claude doctor` for automatisk diagnostik uden at røre ved `rm -rf`.

</div>

Et fejlsøgningsscenarie, når Claude Code er ”holdt op med at lytte”. Den mindste version for alle kommandoerne nedenfor er **Claude Code v2.1.169**. Hvis din er ældre, skal du først opdatere (`npm update -g @anthropic-ai/claude-code` eller Anthropics native installationsprogram).

1. Åbn den samme mappe, hvor problemerne opstod.
2. Kør `claude --safe-mode`.
3. Hvis den starter uden problemer, skal du kontrollere din oprindelige anmodning. Virkede den? Så er et af lagene årsagen. Gå til trin 4.
4. Hvis den stadig ikke virker i sikker tilstand, skal du ikke røre ved konfigurationerne. Kør først `claude doctor`; kontrollér auth, version og modstridende installationer.

Når sikker tilstand starter uden problemer, skal du aktivere lagene ét ad gangen, begyndende med den mest sandsynlige årsag. Rækkefølgen bygger på den beskrevne erfaring:

1. **`CLAUDE.md`.** Kør `claude` uden sikker tilstand, men omdøb filen midlertidigt: `mv CLAUDE.md CLAUDE.md.bak`. Hvis det virker, er filen årsagen. Derefter kan du foretage en binærsøgning: behold halvdelen af linjerne, og kontrollér.
2. **Hooks.** Åbn `.claude/settings.json`, og sæt midlertidigt `[]` i afsnittet `hooks`. Genstart `claude`. Virker det? Så er en af hookene årsagen. Aktivér dem én ad gangen.
3. **MCP-servere.** Sæt tilsvarende afsnittet `mcpServers` i `~/.claude.json` eller `.claude/settings.json` til et tomt objekt midlertidigt, genstart, og kontrollér.
4. **Skills.** Flyt `.claude/skills/` til en midlertidig mappe. Start, og kontrollér.

Hvad betyder ”midlertidig omdøbning”? Filerne slettes ikke under fejlsøgningen. `mv` eller `git stash` gør det muligt at gendanne alt med én kommando, hvis det viser sig, at laget ikke var årsagen.



## Hvordan skifter du arbejdsmappe med `/cd` uden at miste konteksten?

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

Vigtigste pointer

Kommandoen `/cd <path>` i Claude Code 2.1.169+ skifter arbejdsmappe i den aktive session uden at miste promptcachen. Det er nyttigt, når det aktuelle projekts konfiguration er ødelagt: Du kan skifte til en ren mappe, kontrollere, at Claude virker, og vende tilbage. Før var du nødt til at lukke sessionen og starte igen.

</div>

Fra ændringsloggen for v2.1.169 den 8. juni:

<figure>
<blockquote>
<p>Tilføjede kommandoen <code>/cd</code> til at skifte sessionen til en ny arbejdsmappe uden at nulstille promptcachen midt i sessionen.</p>
</blockquote>
<figcaption>— Anthropic Claude Code-ændringslog, https://code.claude.com/docs/en/changelog</figcaption>
</figure>

Hvorfor er det nyttigt ved fejlfinding? Forestil dig, at du er i projektmappen `~/work/myapp`, og Claude Code opfører sig mærkeligt. Før var den eneste måde at kontrollere ”virker det overhovedet?” på at lukke sessionen, gå til en anden mappe og starte igen. Du mistede konteksten, historikken og den opvarmede promptcache. Nu kan du gøre sådan:

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

Claude skifter til den nye mappe og læser dens `CLAUDE.md` (hvis den findes) som en besked, ikke som en erstatning for systemprompten – det vil sige, at cachen bevares. Hvis alt fungerer i `~/sandbox/test`, er det tydeligt, at problemet lå i konfigurationen for `~/work/myapp`.

Den 12. juni rettede v2.1.176 en ubehagelig regression – `/cd` viste den gamle git-branch indtil en fuld genstart. Hvis din version er ældre, skal du enten opdatere eller blot ignorere `git status` i de første par beskeder efter skiftet – den indhenter det.

## Hvordan konfigurerer du reservemodeller til en 529-fejl?

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

Vigtigste pointer

I v2.1.166 tilføjede Anthropic `fallbackModel` – en kæde med op til 3 modeller, der prøves efter hinanden, når den primære model er overbelastet eller utilgængelig. Kæden aktiveres kun af overbelastning og serverfejl, der ikke kan gentages. Fejl med autorisation, fakturering, hastighedsbegrænsning og transport aktiverer ikke reservemodellen – de følger den almindelige logik for gentagelse.

</div>

I det beskrevne scenarie kører en lang opgave på Opus i et projekt én gang om ugen; efter 10 minutter returnerer API'et 529 Overloaded, og sessionen går ned. Før var du nødt til enten at vente eller skifte manuelt til Sonnet med `--model sonnet` og miste al den opvarmede kontekst. I en stor `business/` med en second-brain-opsætning kræver det omkring tyve minutters arbejde. Nu findes der en ordentlig mekanisme.

Det præcise citat fra den officielle dokumentation:

<figure>
<blockquote>
<p>Når den primære model er overbelastet, utilgængelig eller returnerer en anden serverfejl, der ikke kan gentages, kan Claude Code skifte til en reservemodel i stedet for at afvise anmodningen. Fejl med autorisation, fakturering, hastighedsbegrænsning, anmodningsstørrelse og transport udløser aldrig skift – de følger den almindelige sti for gentagelser og fejlhåndtering.</p>
</blockquote>
<figcaption>— Anthropic-dokumentation – modelkonfiguration, https://code.claude.com/docs/en/model-config</figcaption>
</figure>

Og separat: sådan fungerer kæden:

<figure>
<blockquote>
<p>Konfigurér en eller flere reservemodeller, så prøver Claude Code dem i rækkefølge og viser en meddelelse, når den skifter. Skiftet gælder kun den aktuelle tur – den næste besked prøver den primære model igen. Kæder er begrænset til tre modeller efter deduplikering; yderligere poster ignoreres.</p>
</blockquote>
<figcaption>— Anthropic-dokumentation – modelkonfiguration, https://code.claude.com/docs/en/model-config</figcaption>
</figure>

Der er to måder at konfigurere det på. Via CLI:

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

Via `~/.claude/settings.json`:

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

En separat detalje om hastighedsbegrænsninger. Anthropic sender bevidst ikke en 429-fejl videre gennem kæden, så du ikke kan omgå anmodningsgrænsen ved at skifte til den næste model. Reservemodellen fungerer kun, når den primære model er overbelastet, utilgængelig eller returnerer en serverfejl, der ikke kan gentages (for eksempel 529 Overloaded). Hastighedsbegrænsninger følger den almindelige logik for gentagelse og backoff.

Endnu en detalje: Den 12. juni rettede v2.1.174 en regression, hvor komprimering ikke havde respekteret `--fallback-model`. Hvis du har en lang session, der komprimeres under overbelastning, blev reservemodellen ikke kaldt før denne rettelse. Hvis du arbejder med lange sessioner (`/compact`, `/loop` natten over), skal du opdatere til mindst v2.1.174.

## Hvad skal du rette, når `CLAUDE.md`, en hook, MCP eller en skill er årsagen?

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

Vigtigste pointer

Når sikker tilstand har identificeret det skyldige lag, afhænger rettelsen af laget. For `CLAUDE.md` kan du bruge binærsøgning eller gå tilbage til en færdig skabelon på under 200 linjer. For en hook skal du kontrollere exitkoden (2 blokerer, 1 gør ikke) og logikken. For MCP skal du fjerne én server og kontrollere. For en skill skal du kontrollere, om `SKILL.md` indeholder modstridende instruktioner i forhold til `CLAUDE.md`.

</div>

Konkrete strategier for hvert lag.

### Hvis `CLAUDE.md` er årsagen

Åbn filen, og kontrollér dens størrelse. Ud fra den beskrevne erfaring bør du **holde den aktive `CLAUDE.md` på højst 200 linjer** og flytte resten til routere og understøttende dokumenter ved siden af projektet (den fulde second-brain-struktur findes i [guiden til second brain](https://ailoot.ai/blog/da/claude-code-second-brain/)). Hvis du har 400+ linjer, er den næsten helt sikkert årsagen. Trin:

1. Tag en sikkerhedskopi: `cp CLAUDE.md CLAUDE.md.full`.
2. Gå tilbage til en kort, fungerende skabelon. En færdig skabelon findes i [guiden ”Sådan konfigurerer du CLAUDE.md”](https://ailoot.ai/blog/da/claude-md-template/).
3. Genstart Claude Code. Kontrollér.
4. Hvis det virker, skal du gendanne regler i små blokke på 10–20 linjer og kontrollere efter hver blok.
5. Find den blok, der forstyrrer adfærden. Skriv den om til en hook med den korrekte exitkode (exitkoder for hooks gennemgås i det næste underafsnit af denne H2).

### Hvis en hook er årsagen

Det vigtigste spørgsmål er, om exitkoden er korrekt. Claude Code-hooks bruger:

- **Exit 0** – alt er godt; handlingen fortsætter.
- **Exit 1** – en fejl, men **ikke-blokerende**. Claude fortsætter, som om intet var hændt.
- **Exit 2** – en **blokerende** fejl. Kun denne stopper faktisk handlingen.

Hvis du skrev `sys.exit(1)` eller `exit 1` i en shell-hook, fordi du troede, at det ville blokere, fungerer den kode som en advarselslog i Claude Code uden at stoppe handlingen. Skift den til `2`. Se den [separate guide](https://ailoot.ai/blog/da/claude-code-hooks/) for detaljer om hooks og konfiguration uden denne faldgrube.

Et andet almindeligt tilfælde er, at en hook returnerer ugyldig JSON på stdout. Claude Code fortolker hookens svar som JSON, og hvis der er uvedkommende indhold (en log, en statusmarkør, en emoji), betragtes hooken som mislykket, og handlingen fortsætter. Reglen er: **stdout indeholder kun JSON; alt andet sendes til stderr**.

Det tredje tilfælde er en hook, der læser noget fra `~/.claude/`, som sikker tilstand har skjult. Det er et normalt scenarie; løsningen er ikke at ændre hooken, men at kontrollere `os.environ.get('CLAUDE_CODE_SAFE_MODE')` i starten og afslutte med 0.

### Hvis en MCP-server er årsagen

Symptomer: MCP-kommandoer er tilgængelige, men returnerer `failed` uden et tydeligt stacktrace. Trin:

1. Kør `claude mcp list` – hvilke servere er defineret?
2. Deaktivér servere én ad gangen i `~/.claude.json`: omdøb nøglen `claude-server-A` til `_claude-server-A` (det deaktiverer den uden at slette den).
3. Genstart `claude`. Kontrollér, hvilke kald der virker.
4. Når du har fundet den skyldige server, skal du kontrollere dens log: `claude mcp logs <name>`.
5. Hvis det er en tredjepartsserver (`@modelcontextprotocol/server-postgres` og lignende), skal du kontrollere, om den har en nyere udgave. MCP-økosystemet er stadig i oprør; servere går regelmæssigt i stykker efter opdateringer af Claude Code.

Hvis du oplever ”nedbrud ved opstart, og kun med to MCP-servere”, skal du sammenligne adfærden i sikker tilstand uden MCP.

### Hvis en skill er årsagen

En skill er `SKILL.md` plus kode i `.claude/skills/<name>/`. Symptomer: Claude ignorerer skillen, anvender den på det forkerte tidspunkt eller anvender den, men producerer noget ubrugeligt. Trin:

1. Åbn `SKILL.md`. Kontrollér beskrivelsen – den **bør være på 1–2 sætninger og præcist beskrive, hvornår den skal bruges**. Hvis der står ”en universel hjælper til alt”, forstår Claude ikke, hvornår den skal aktiveres.
2. Kontrollér, om der er modstrid med `CLAUDE.md`. Hvis `CLAUDE.md` siger ”skriv altid tests”, men skillens beskrivelse siger ”bruges til hurtig prototyping uden tests”, er der en konflikt.
3. Hvis skillen bruger eksterne kommandoer (npm, python, git), skal du kontrollere, at de er tilgængelige i den systemdækkende PATH. En skill har sit eget minimale miljø.

## Hvad gør du, hvis sikker tilstand ikke hjalp: Diagnosticér og bevar status før reparation

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

Vigtigste pointer

Hvis sikker tilstand også fejler, omfatter de resterende muligheder installation, godkendelse, netværk eller infrastruktur. Kør `claude doctor`, og undersøg evidensen. En uafklaret rapport begrunder ikke sletning af indstillinger eller sessioner: Bevar og verificér først den fulde status, og reparér derefter kun den diagnosticerede installation.

</div>

Fjernelse af brugerstatus er ikke en diagnostisk genvej. Brug kontrollerne nedenfor til at identificere fejlen; bevar evidensen, og undersøg videre, hvis de er uafklarede. Enhver installationsreparation begynder med en verificeret backup og bevarer eksisterende konto og legitimationslageridentitet. Rækkefølge:

1. **`claude doctor`** – automatisk diagnostik. Anthropic skriver i sin dokumentation:

<figure>
<blockquote>
<p>Hvis <code>claude --version</code> virker, men noget andet går galt, skal du køre <code>claude doctor</code> for at generere en automatisk diagnosticeringsrapport.</p>
</blockquote>
<figcaption>— Anthropic-dokumentation – fejlfinding af installation, https://code.claude.com/docs/en/troubleshoot-install</figcaption>
</figure>

2. **Kontrollér, om der er modstridende installationer.** Mange har både en global npm-version og det native installationsprogram installeret på samme tid:

<figure>
<blockquote>
<p>Flere Claude Code-installationer kan føre til versionsuoverensstemmelser eller uventet adfærd.</p>
</blockquote>
<figcaption>— Anthropic-dokumentation – fejlfinding af installation, https://code.claude.com/docs/en/troubleshoot-install</figcaption>
</figure>

3. **Kontrollér, om `ANTHROPIC_API_KEY` overtager din OAuth-session.** Det er en almindelig årsag til ”intet virker, nøglen er udløbet”:

<figure>
<blockquote>
<p>Når `ANTHROPIC_API_KEY` er angivet, og du har bekræftet den, bruger Claude Code denne nøgle i stedet for dine OAuth-legitimationsoplysninger til abonnementet.</p>
</blockquote>
<figcaption>— Anthropic-dokumentation – fejlfinding af installation, https://code.claude.com/docs/en/troubleshoot-install</figcaption>
</figure>

Løsning: Kør `unset ANTHROPIC_API_KEY` i den aktuelle shell-session, eller fjern den fra `~/.zshrc` / `~/.bashrc`.

4. **Reparér kun den installation, diagnostikken identificerer; bevar først al brugerstatus.** En fejl i sikker tilstand eller en uafklaret doctor-rapport dokumenterer ikke, at brugerdata skal fjernes. Stop alle Claude-sessioner og andre skrivende processer før en konsistent sikkerhedskopi. Bevar samme Unix-konto, HOME, operativsystemets legitimationslager og Anthropic-konto; rotér ikke nøgler, og opret ikke en erstatningsidentitet.

Følgende backupeksempel er til **Linux med GNU tar**. Brug på macOS eller Windows et backupværktøj, der bevarer platformens ACL’er, udvidede attributter, links og metadata, og verificér gendannelse før fortsættelse; antag ikke, at GNU-specifikke flag virker dér. Arkivet indeholder legitimationsoplysninger og sessionsudskrifter: Hold det privat og uden for repositories.

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

Alle kommandoer skal lykkes. Arkivet dækker hele det eksisterende `.claude`-træ inklusive ignorerede/usporede sessioner og pluginstatus samt `.claude.json`, ikke kun Git-sporede indstillinger. Stop og medtag det opløste mål i samme verificerede backup, hvis en sti er et symlink, eller data ligger et separat konfigureret sted; arkivering af et link alene sikkerhedskopierer ikke målet. Arkivet indeholder ikke macOS Keychain eller et andet eksternt legitimationslager, så bevar disse identiteter på plads.

Hvis diagnostikken specifikt identificerer den **ældre lokale installation** som den modstridende kopi, skal kun den installation flyttes til den private gendannelsesmappe frem for at slette konfiguration og sessioner:

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

Fjern kun en npm-installation, hvis diagnostikken identificerer den som den modstridende installation, og du vil beholde den oprindelige. Brug derefter det [dokumenterede installationsprogram](https://code.claude.com/docs/en/setup) uden at slette `.claude` eller `.claude.json`:

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

På Windows er den oprindelige installationskommando stadig:

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

**Gendan særskilt.** Stop skrivende processer igen. Kontrollér arkivets checksum, og udpak til en tom gendannelsesmappe som ovenfor; gennemfør sammenligningen, før filerne bruges. Bekræft først, at `$HOME/.claude/local` ikke findes, hvis den flyttede ældre installation skal gendannes, og flyt derefter `$backup_dir/legacy-local` tilbage til præcis den sti. Gendan kun en diagnosticeret indstillingsfil fra den verificerede udpakning efter bevaring af en eventuel aktuel erstatning; overskriv ikke hele træet blindt. Sessioner, MCP-indstillinger og original identitet forbliver bevaret. Et Git-snapshot alene dækker ikke ignorerede/usporede udskrifter, legitimationsoplysninger eller filsystemmetadata.

## Hvad bør du IKKE gøre, når Claude Code er i stykker?

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

Vigtigste pointer

Seks uhensigtsmæssige mønstre fundet i de beskrevne supportsager: at ændre nøgler før fejlfinding, foretage en fuld nulstilling som det første, gå i panik over en UI-fejl i en hook, hæve en hooks exitkode før logikken er rettet, redigere `CLAUDE.md` uden en sikkerhedsmekanisme i sikker tilstand og tro, at ”Claude reparerer sin egen MCP”. Hvert af dem koster timer, og ingen af dem er nødvendige.

</div>

### Skift ikke nøgler før fejlfinding

”Autorisation virker ikke” skyldes i 90% af tilfældene enten, at `ANTHROPIC_API_KEY` overtager abonnementet, en UI-fejl i en hook eller en MCP, der er fejlet. At rotere nøgler løser ingen af delene, men medfører endnu en times nedetid: Du skal tilbagekalde den gamle nøgle, udstede en ny, signere CI med den igen og opdatere variablerne i produktion. Kør `claude --safe-mode` først. Virker det? Så ligger problemet i tilpasningerne; du behøver ikke røre nøglerne.

### Foretag ikke en fuld nulstilling før sikker tilstand

Sikker tilstand giver et isoleret miljø på 1 sekund. Sletning af `.claude` kan ødelægge sessioner, MCP-konfiguration og anden usporet status. Diagnosticér først, verificér en privat backup, og brug kun en reversibel flytning til det installations- eller konfigurationslag, som faktisk er impliceret.

### Gå ikke i panik over en UI-fejl i en hook

Før du retter noget, skal du kontrollere, om hooken faktisk blev kørt (via en log til `stderr` eller et eksplicit print) i stedet for at stole på den visuelle indikator.

### Hæv ikke en hooks exitkode, før du har rettet logikken

Når din blokerende hook ikke blokerer, er det fristende at sætte `exit 2` og kalde det løst. Det er en fungerende rettelse, men den skjuler et andet problem: Hvis blokeringen ikke virkede i en måned, slap alt det igennem, som hooken skulle have forbudt. Gennemgå først git-loggen, og find ud af præcis, hvad der slap igennem. Tilføj derefter blokeringen. Ellers gør en lukket blokering ikke det, der allerede er sket, ugjort.

### Redigér ikke produktionsfilen `CLAUDE.md` uden en sikkerhedsmekanisme i sikker tilstand

I det beskrevne tilfælde redigerer du `CLAUDE.md`, Claude begynder at opføre sig mærkeligt, du kører `git diff` og ser, at nogen også har tilføjet en MCP-server og en hook til repoet samme aften. Du giver din redigering skylden, ruller den tilbage, og Claude opfører sig stadig mærkeligt. Reglen: Kør `claude --safe-mode`, før du kører `git revert`. Hvis problemet fortsætter i sikker tilstand, havde din redigering intet med det at gøre; du behøver ikke rulle den tilbage.

### Tro ikke på, at ”Claude reparerer sin egen MCP”

Et typisk scenarie: Du beder Claude om at ”tilføje et bestemt værktøj til MCP-serveren”, Claude omskriver den fungerende konfiguration, alt går i stykker, og Claude bruger derefter flere ture på at fejlfinde den skade, den selv forårsagede – og bruger samtidig sessionskvoten. Når MCP er i stykker, skal du **hente konfigurationen manuelt**; overlad det ikke til agenten. En del af dens værktøjer kører også på MCP, og en ødelagt MCP betyder en ødelagt diagnostiker.

## Hvor går du hen, når du har løst problemet?

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

Vigtigste pointer

Når du har gendannet Claude Code, skal du tilføje forebyggende foranstaltninger, så det ikke går i stykker igen. Som minimum: `disableBypassPermissionsMode: "disable"` i brugerindstillingerne, hooks, der blokerer `.env` og `git push --force`, samt et sandbox til lange autonome kørsler. Forebyggelsesguiden er dens modstykke.

</div>

Når du har analyseret hændelsen, skal du ikke straks gå tilbage til arbejdet. Tilføj først forebyggende foranstaltninger, så hændelsen ikke gentager sig. Du kan miste timer på en second brain (mappen `business/` med projektstrukturen) og `CLAUDE.md`, og det er svært at gendanne dem manuelt – det er en god grund. Minimumsopsætning:

1. **`~/.claude/settings.json`** med `permissions.disableBypassPermissionsMode: "disable"` – et arkitektonisk forbud mod bypass-tilstand, så en utilsigtet start med `--dangerously-skip-permissions` simpelthen ikke virker.
2. **Hooks for `Read(./env*)`, `Bash(git push --force)`, `Write(./node_modules/**)`** – handlinger, der skal fanges på regelniveau, ikke overlades til ønsker.
3. **Sandbox-konfiguration til lange autonome kørsler** (`/loop`, `/schedule`).
4. **`/compact` med dine egne regler** for, hvad der skal fjernes fra konteksten, så Claude ikke opbruger sig selv.

Den fulde beskyttelse i fire lag findes i [guiden ”Sådan konfigurerer du Claude Code, så det ikke ødelægger projektet natten over”](https://ailoot.ai/blog/da/claude-code-safe-overnight-setup/). Den ene guide dækker forebyggelse før start af `/loop`; den anden dækker gendannelse, efter at `/loop` allerede har ødelagt noget. Et logisk par.

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

### Kilder

- [Anthropic Claude Code-ændringslog](https://code.claude.com/docs/en/changelog) – officiel ændringslog med beskrivelser af v2.1.166 (`fallbackModel`), v2.1.169 (sikker tilstand, /cd), v2.1.174 (rettelse af komprimering), v2.1.176 (rettelse af git-branch i /cd).
- [Anthropic-dokumentation – modelkonfiguration](https://code.claude.com/docs/en/model-config) – afsnittene ”Fallback model chains”, ”Check what triggered fallback”, ”Setting your model”.
- [Anthropic-dokumentation – fejlfinding af installation og login](https://code.claude.com/docs/en/troubleshoot-install) – modstridende installationer, `claude doctor`, `ANTHROPIC_API_KEY`-overtagelse.

</div>

Praktisk materiale: [Ailoot-dokumentation](https://ailoot.ai/docs/).





Mere materiale og værktøjer: [Ailoot](https://ailoot.ai/).

## Spørgsmål og svar

### Betyder fejl i sikker tilstand, at jeg skal slette ~/.claude?

Nej. Installation, godkendelse, netværk og infrastruktur skal stadig undersøges. En uafklaret doctor-rapport beviser ikke, at indstillinger eller sessioner skal fjernes; reparér kun det diagnosticerede lag.

### Hvad skal bevares før installationsreparation?

Stop skrivende processer, og sikkerhedskopiér den komplette Claude-status inklusive sessioner, plugin-/MCP-konfiguration, ignorerede filer og filsystemmetadata. Verificér checksum og udpakning før fortsættelse, bevar eksisterende konto og legitimationslager, og gendan kun det diagnosticerede lag uden blind overskrivning af aktuel status.


## Ailoot · Virksomheden og dens projektportefølje

Ailoot bygger på solid driftserfaring, en stor kundebase, stabil service og løbende kontrol af KPI.

Virksomheden og dens projektportefølje: millioner af kunder; månedligt salg for milliarder.

Ailoot bruger denne driftserfaring til API-adgang til AI-funktioner i kundernes produkter, agenter, applikationer og automatiseringer.
