Gendannelse af Claude Code: sikker tilstand, /cd og reservemodeller
MarkdownFejlfinding i Claude Code med sikker tilstand, kommandoen /cd, reservemodeller og gendannelse af indstillinger. Rækkefølgen af kontroller og de oprindelige begrænsninger.
Læs hele artiklen
Praktisk materiale om at arbejde med agenter: Ailoot-dokumentation.
Hvad ændrer sig i Claude Code i juni 2026?
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.”
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?
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.
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.
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.
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?
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.
Anthropics oprindelige formulering i ændringsloggen for v2.1.169 lyder:
Tilføjede flaget
--safe-mode(ogCLAUDE_CODE_SAFE_MODE) til at starte Claude Code med deaktiverede tilpasninger (CLAUDE.md, plugins, skills, hooks, MCP-servere) til diagnostik.
Anthropic præciserer i dokumentationen om modelkonfiguration:
For at undersøge, om tilpasningerne er årsagen, skal du starte en session med
claude --safe-mode, som deaktivererCLAUDE.md, skills, MCP-servere og hooks. Git-status og mappenavne betragtes ikke som tilpasninger og er stadig tilgængelige.
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.mdpå 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?
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.
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).
- Åbn den samme mappe, hvor problemerne opstod.
- Kør
claude --safe-mode. - Hvis den starter uden problemer, skal du kontrollere din oprindelige anmodning. Virkede den? Så er et af lagene årsagen. Gå til trin 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:
CLAUDE.md. Kørclaudeuden 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.- Hooks. Åbn
.claude/settings.json, og sæt midlertidigt[]i afsnittethooks. Genstartclaude. Virker det? Så er en af hookene årsagen. Aktivér dem én ad gangen. - MCP-servere. Sæt tilsvarende afsnittet
mcpServersi~/.claude.jsoneller.claude/settings.jsontil et tomt objekt midlertidigt, genstart, og kontrollér. - 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?
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.
Fra ændringsloggen for v2.1.169 den 8. juni:
Tilføjede kommandoen
/cdtil at skifte sessionen til en ny arbejdsmappe uden at nulstille promptcachen midt i sessionen.
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:
# 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?
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.
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:
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.
Og separat: sådan fungerer kæden:
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.
Der er to måder at konfigurere det på. Via CLI:
claude --fallback-model sonnet,haiku
Via ~/.claude/settings.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?
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.
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). Hvis du har 400+ linjer, er den næsten helt sikkert årsagen. Trin:
- Tag en sikkerhedskopi:
cp CLAUDE.md CLAUDE.md.full. - Gå tilbage til en kort, fungerende skabelon. En færdig skabelon findes i guiden ”Sådan konfigurerer du CLAUDE.md”.
- Genstart Claude Code. Kontrollér.
- Hvis det virker, skal du gendanne regler i små blokke på 10–20 linjer og kontrollere efter hver blok.
- 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 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:
- Kør
claude mcp list– hvilke servere er defineret? - Deaktivér servere én ad gangen i
~/.claude.json: omdøb nøglenclaude-server-Atil_claude-server-A(det deaktiverer den uden at slette den). - Genstart
claude. Kontrollér, hvilke kald der virker. - Når du har fundet den skyldige server, skal du kontrollere dens log:
claude mcp logs <name>. - Hvis det er en tredjepartsserver (
@modelcontextprotocol/server-postgresog 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:
- Å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. - Kontrollér, om der er modstrid med
CLAUDE.md. HvisCLAUDE.mdsiger ”skriv altid tests”, men skillens beskrivelse siger ”bruges til hurtig prototyping uden tests”, er der en konflikt. - 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
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.
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:
claude doctor– automatisk diagnostik. Anthropic skriver i sin dokumentation:
Hvis
claude --versionvirker, men noget andet går galt, skal du køreclaude doctorfor at generere en automatisk diagnosticeringsrapport.
- Kontrollér, om der er modstridende installationer. Mange har både en global npm-version og det native installationsprogram installeret på samme tid:
Flere Claude Code-installationer kan føre til versionsuoverensstemmelser eller uventet adfærd.
- Kontrollér, om
ANTHROPIC_API_KEYovertager din OAuth-session. Det er en almindelig årsag til ”intet virker, nøglen er udløbet”:
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.
Løsning: Kør unset ANTHROPIC_API_KEY i den aktuelle shell-session, eller fjern den fra ~/.zshrc / ~/.bashrc.
- 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.
# 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:
# 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 uden at slette .claude eller .claude.json:
curl -fsSL https://claude.ai/install.sh | bash
claude --version
claude doctor
På Windows er den oprindelige installationskommando stadig:
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?
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.
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?
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.
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:
~/.claude/settings.jsonmedpermissions.disableBypassPermissionsMode: "disable"– et arkitektonisk forbud mod bypass-tilstand, så en utilsigtet start med--dangerously-skip-permissionssimpelthen ikke virker.- Hooks for
Read(./env*),Bash(git push --force),Write(./node_modules/**)– handlinger, der skal fanges på regelniveau, ikke overlades til ønsker. - Sandbox-konfiguration til lange autonome kørsler (
/loop,/schedule). /compactmed 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”. 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.
Kilder
- Anthropic Claude Code-ændringslog – 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 – afsnittene ”Fallback model chains”, ”Check what triggered fallback”, ”Setting your model”.
- Anthropic-dokumentation – fejlfinding af installation og login – modstridende installationer,
claude doctor,ANTHROPIC_API_KEY-overtagelse.
Praktisk materiale: Ailoot-dokumentation.
Mere materiale og værktøjer: Ailoot.
Flere oplysninger
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.