~/.claude/settings.json. Es sucht an einigen Stellen danach, und die Datei, aus der es eine Einstellung liest, entscheidet, für wen die Einstellung gilt. Diese Seite behandelt diese Dateien: in welche man eine Einstellung setzt, wie man eine Einstellung ändert und bestätigt, dass sie angewendet wurde, und welchen Wert Claude Code verwendet, wenn derselbe Schlüssel in mehr als einer Datei gesetzt ist. Berechtigungen konfigurieren behandelt, was Claude Code ohne Nachfrage ausführen kann und wie man allow, ask und deny Regeln schreibt.
Diese Seite behandelt Claude Code, das auf Ihrer Maschine läuft: das Terminal, die VS Code und JetBrains Erweiterungen und die Desktop-App, die alle die gleichen Einstellungsdateien lesen. Eine Cloud-Sitzung auf Claude Code im Web läuft auf einer anderen Maschine und liest nur einige davon; siehe Einstellungen in Cloud-Sitzungen.
Einstellungsdateien und wer sie betreffen
Claude Code liest Einstellungen aus vier Dateien, und eine Organisation kann auch verwaltete Einstellungen über die claude.ai-Konsole bereitstellen. Jede Quelle hat einen Geltungsbereich: die Menge von Personen und Projekten, auf die eine in ihr gespeicherte Einstellung angewendet wird, ob das nur Sie, alle in einem Projekt oder alle in Ihrer Organisation sind.
In der Spalte „Datei“ ist
~/.claude der .claude-Ordner in Ihrem Home-Verzeichnis, und ein einfaches .claude ist der .claude-Ordner in Ihrem Projekt.
Vergleichen Sie den Geltungsbereich jeder Einstellungsdatei
Angenommen, Sie haben drei Projekte auf Ihrem Computer:website/, api/ und acme-app/, ein Teamkollege hat seinen eigenen Klon von acme-app/, und Sie starten eine Cloud-Sitzung auf acme-app/.
Die folgende Grafik zeigt, in welchen dieser Ordner eine Einstellung angewendet wird, wenn Sie Claude Code von ihnen aus starten. Klicken Sie auf eine Einstellungsdatei, um die Ordner anzuzeigen, die sie erreicht.
~/.claude/settings.json: jedes Projekt auf Ihrem Computer, und nichts auf dem Computer Ihres Teamkollegen oder in der Cloud-Sitzungacme-app/.claude/settings.json: Ihracme-app/. Es erreicht den Klon Ihres Teamkollegen und die Cloud-Sitzung nur, wenn Sie die Datei in die Versionskontrolle committen; bis dahin ist es eine Datei auf Ihrer Festplatte wie jede andere und niemand sonst hat sieacme-app/.claude/settings.local.json: nur Ihracme-app/. Claude Code fügt es beim ersten Mal, wenn es die Datei schreibt, zu Ihren globalen Git-Ausschlüssen hinzu, damit es aus Ihren Commits herausbleibt; wenn Sie die Datei von Hand erstellen, fügen Sie sie selbst zu.gitignorehinzu- Verwaltete Einstellungen, ob eine
managed-settings.json-Datei, eine MDM-Richtlinie oder servergesteuerte Einstellungen aus der claude.ai-Konsole: jedes Projekt auf jedem Computer, auf dem Ihre Organisation sie bereitstellt, oder auf dem Sie sich mit Ihrem Organisationskonto anmelden. Nur servergesteuerte Einstellungen erreichen die Cloud-Sitzung
Suchen oder erstellen Sie Ihre Einstellungsdateien
Die Installation von Claude Code erstellt keine Einstellungsdatei. Wenn Ihr Computer oder Projekt bereits eine hat, kam sie aus einer dieser Quellen:- Verwaltet: Ihre Organisation stellt sie bereit. Sie erstellen oder bearbeiten sie nicht.
- Gemeinsames Projekt: Ein Projekt, das bereits Claude Code verwendet, kann eine committed haben. Wenn nicht, erstellen Sie sie unter
.claude/settings.jsonim Projektordner. - Benutzer und Projekt lokal: Erstellen Sie sie selbst, oder lassen Sie Claude Code sie erstellen. Es schreibt
~/.claude/settings.jsondas erste Mal, wenn Sie eine Option im/config-Menü ändern, die es in Benutzereinstellungen speichert, wie das Design, und.claude/settings.local.jsondas erste Mal, wenn Sie eine dauerhafte Genehmigung bei einer Berechtigungsabfrage geben, wie „Ja, und frag mich nicht mehr“ für einen Bash-Befehl. Einige/config-Optionen, einschließlich Tipps anzeigen, werden stattdessen in.claude/settings.local.jsongespeichert.
Unter Windows bedeutet
~/.claude %USERPROFILE%\.claude. Um die Home-Verzeichnis-Dateien woanders zu speichern, setzen Sie CLAUDE_CONFIG_DIR; Claude Code speichert dann Ihre Einstellungen, Sitzungsverlauf und Plugins stattdessen dort.~/.claude.json, die es für sich selbst schreibt; Sie müssen sie nicht bearbeiten. Sie enthält Ihre Kontodaten, MCP-Server-Konfigurationen, projektspezifischen Status wie Vertrauensentscheidungen und die globalen Konfigurationsschlüssel, die /config für Sie schreibt.
Teilen Sie Einstellungen mit Ihrem Team
Committen Sie.claude/settings.json, damit jeder, der das Repository klont, die gleichen Berechtigungen, Hooks und Plugins erhält. Jeder Teamkollege kann es für sich selbst in seiner eigenen .claude/settings.local.json überschreiben, sodass persönliche Ausnahmen keinen Commit benötigen. Für eine vollständige Team-Datei siehe die gemeinsamen Einstellungen eines Teams.
Einiges von dem, das Sie committen, wartet, bis jeder Teamkollege den Ordner vertraut, und einige Schlüssel wirken sich nie aus einer Repository-Datei aus; Beheben Sie eine Einstellung, die nicht angewendet wird behandelt beides.
Halten Sie persönliche Einstellungen aus einem Repository heraus
Um eine Einstellung für sich selbst in einem Projekt zu ändern, ohne sie für Ihre Teamkollegen zu ändern, speichern Sie sie in.claude/settings.local.json im Projekt. Claude Code wendet diese Datei über die committete .claude/settings.json an, also wenn die Datei Ihres Teams "model": "claude-sonnet-5" setzt und Sie Opus möchten, fügen Sie "model": "claude-opus-5-5" in Ihre lokale Datei ein und nur Ihre Sitzungen ändern sich.
Claude Code schreibt auch in diese Datei, hält sie aus Ihren Commits heraus und wendet ihre allow-Regeln ohne den Vertrauensschritt an:
- Claude Code schreibt sie auch. Wenn Claude die Berechtigung zum Ausführen eines Bash-Befehls anfordert und Sie „Ja, und frag mich nicht mehr“ wählen, speichert Claude Code diese Berechtigungsgenehmigung hier als
allow-Regel. - Sie müssen sie nicht selbst gitignorieren, es sei denn, Sie haben sie von Hand erstellt. Das erste Mal, wenn Claude Code die Datei in einem Git-Repository schreibt, das sie nicht bereits ignoriert, fügt es
**/.claude/settings.local.jsonzu Ihrer globalen Git-Ausschluss-Datei hinzu, damit die Datei in jedem Repository aus Ihren Commits herausbleibt. Diese Datei istcore.excludesFile, wenn Ihre globale Git-Konfiguration sie auf einen absoluten oder~-präfixierten Pfad setzt; andernfalls ist es$XDG_CONFIG_HOME/git/ignore, oder~/.config/git/ignore, wennXDG_CONFIG_HOMEnicht gesetzt ist. Wenn Sie die Datei von Hand erstellt haben und Claude Code noch nicht darin geschrieben hat, fügen Sie sie selbst zu.gitignorehinzu. - Ihre allow-Regeln warten nicht auf Vertrauen, während die Datei nicht verfolgt bleibt. Da die Datei Ihnen gehört und nicht dem Repository, wendet Claude Code ihre
allow-Regeln ohne den Workspace-Vertrauens-Schritt an, den es für die committete Datei erfordert. Wenn die Datei von Git verfolgt wird, gilt der Vertrauensschritt auch für sie; siehe Wenn Ihre lokale Einstellungsdatei Vertrauen benötigt.
Wo Claude Code die lokale Datei in einem Git-Repository hält
Wenn Claude die Berechtigung zum Ausführen eines Bash-Befehls anfordert und Sie „Ja, und frag mich nicht mehr“ wählen, speichert Claude Code diese Genehmigung alsallow-Regel in .claude/settings.local.json. Wenn Sie Claude Code in einem Unterverzeichnis eines Git-Repositorys starten, liest und schreibt es diese Datei im Repository-Root und wendet die Genehmigung auf das gesamte Repository an. In einem Worktree verwendet es die Datei im Root des Haupt-Checkouts.
Zwei Regeln qualifizieren den Root-Speicherort:
- Wenn die Datei stattdessen bei
.claude/settings.jsonbleibt: außerhalb eines Git-Repositorys, wenn der Repository-Root Ihr Home-Verzeichnis ist, unter Windows oder wenn der Repository-Root oder sein.git- oder.claude-Eintrag nicht Ihrem Benutzer gehört. - Pfade in der Datei verankern nicht im Repository-Root: eine Berechtigungsregel, die mit
/beginnt oder ein relativer Sandbox-Pfad verankert stattdessen im primären Arbeitsverzeichnis der Sitzung.
resolveSettings()-Helfer des Agent SDK liest die Datei immer aus dem Startverzeichnis.
Claude Code liest die gemeinsame .claude/settings.json aus dem primären Arbeitsverzeichnis der Sitzung, also um eine Datei zu verwenden, die im Repository-Root committed ist, starten Sie Claude Code dort. Nachdem Sie die Sitzung mit /cd verschieben, liest Claude Code stattdessen beide Projektdateien aus dem neuen Verzeichnis, wobei die lokale Datei nach denselben Regeln platziert wird. Das Lesen von ihnen aus dem Verzeichnis, in das Sie verschoben haben, erfordert Claude Code v2.1.246 oder später. Für eine Worktree-Sitzung, die Sie aus der Desktop-App starten, siehe Was Worktrees mit dem Haupt-Checkout teilen.
Überprüfen Sie, was Ihre Organisation erzwingt
Wenn Ihre Organisation Claude Code verwaltet, werden einige Einstellungen für Sie entschieden und nichts, das Sie in Ihre eigenen Dateien einfügen, ändert sie. Um zu sehen, welche, führen Sie/status aus: die Zeile Setting sources nennt die verwaltete Quelle, die auf Sie angewendet wird. Verwaltete Einstellungen gelten überall dort, wo Claude Code auf diesem Computer läuft; Was ein Entwickler ändern kann behandelt lokale Administratorrechte und Tools außer Claude Code.
Verwaltete Einstellungen erreichen Sie durch die Bereitstellungsmechanismen auf der Seite für verwaltete Einstellungen, am häufigsten:
- Servergesteuerte Einstellungen, die Claude Code aus der claude.ai-Admin-Konsole oder einem selbstgehosteten Claude-Apps-Gateway abruft
- MDM- oder Betriebssystem-Richtlinien und
managed-settings.json-Dateien in einem Systemverzeichnis - Ein Embedding-Host wie Claude Desktop, über die SDK-Option
managedSettings; siehe Steuern Sie die Richtlinie von einem Embedding-Host
requireCoworkFullVmSandbox. Wo und wann eine Richtlinie angewendet wird behandelt Cowork und Cloud-Sitzungen.
Wenn Sie der Administrator sind, führt Sie Richten Sie Claude Code für Ihre Organisation ein durch die Auswahl, was Sie erzwingen möchten, und Stellen Sie verwaltete Einstellungen bereit behandelt die Bereitstellung und wie Sie bestätigen, dass eine Richtlinie in Kraft ist. Informationen zur Warnung, die der Editor für verwaltete Einstellungen in der claude.ai-Admin-Konsole anzeigen kann, finden Sie unter Konfigurieren Sie servergesteuerte Einstellungen.
Ändern Sie eine Einstellung
Sie können eine Einstellung vom/config Menü, durch Bearbeiten einer Einstellungsdatei oder für eine Sitzung von der Befehlszeile aus ändern.
Claude Code’s Systemaufforderung wird nicht veröffentlicht. Um Claude stehende Anweisungen zu geben, verwenden Sie CLAUDE.md Dateien oder das Flag --append-system-prompt.
Verwenden Sie das /config Menü
Führen Sie/config in Claude Code aus und öffnen Sie die Registerkarte Config. Es listet eine kurze Menge persönlicher Optionen wie Design, Editor-Modus und ausführliche Ausgabe auf, nicht jeden Einstellungsschlüssel. Wählen Sie eine Option, um sie zu ändern; Claude Code speichert sie für Sie:
- Die meisten Optionen:
~/.claude/settings.json - Ein paar Optionen, wie Tipps anzeigen:
.claude/settings.local.json - Die globalen Konfigurationsoptionen:
~/.claude.json
key=value, wie /config verbose=true.
/config ist Teil der Terminal-Schnittstelle. Das VS Code Chat-Panel und die Desktop-App öffnen es nicht; ändern Sie Einstellungen dort durch Bearbeiten einer Einstellungsdatei oder durch die Einstellungen dieser Apps.Bearbeiten Sie eine Einstellungsdatei
Öffnen Sie die Einstellungsdatei für den Bereich, den Sie möchten, in Ihrem Editor und fügen Sie einen Schlüssel hinzu oder ändern Sie ihn. Einstellungsdateien sind striktes JSON: ein// Kommentar oder ein nachfolgendes Komma ist ein Syntaxfehler, und Claude Code meldet die Datei als Einstellungsfehler beim nächsten Start. Um beispielsweise Claude Code Ihre Lint- und Test-Befehle ohne Nachfrage ausführen zu lassen und es daran zu hindern, .env Dateien zu lesen, fügen Sie dies zu ~/.claude/settings.json hinzu:
~/.claude/settings.json
permissions ist eine Regel, die ein Tool und das, was es darf, benennt; Berechtigungen konfigurieren erklärt die Syntax. Die Zeile $schema verweist auf das veröffentlichte JSON-Schema für Claude Code-Einstellungen, das Ihnen Autovervollständigung und Inline-Validierung in VS Code, Cursor und jedem anderen Editor gibt, der JSON-Schema unterstützt. Das Schema kann hinter den neuesten CLI-Versionen zurückbleiben, sodass eine Validierungswarnung auf einem kürzlich dokumentierten Schlüssel nicht bedeutet, dass Ihre Konfiguration ungültig ist.
Nachdem Sie speichern, führen Sie /status in Claude Code aus, um zu bestätigen, dass die Datei geladen wurde; Bestätigen Sie, was geladen wurde sagt, was die Zeile Setting sources zeigt und wie eine fehlerhafte Datei gemeldet wird.
Für eine vollständige persönliche Datei, Team-Datei und Organisations-Datei, jeweils mit einem Kommentar zu jedem Schlüssel, den sie setzt, siehe die Beispiel-Einstellungsdateien.
Ändern Sie eine Einstellung für eine Sitzung
Um einen Wert zu versuchen, ohne ihn zu speichern, setzen Sie ihn, wenn Sie Claude Code starten. Der Wert gilt für diese Sitzung und Ihre Einstellungsdateien bleiben wie sie waren. Sie haben drei Möglichkeiten, es zu tun:--settings: übergeben Sie einen Schlüssel als JSON, inline oder als Pfad zu einer Datei. Claude Code wendet ihn über Ihre Benutzer-, Projekt- und lokalen Dateien und unter verwalteten Einstellungen an. Es kann jeden Schlüssel setzen, den Ihre Benutzereinstellungsdatei kann; es kann keineManagedoderGlobal configSchlüssel setzen.- Ein Flag für diesen Schlüssel: einige Schlüssel haben ihr eigenes Flag, wie
--modelfürmodelund--effortfüreffortLevelundmodelSettings. - Eine Umgebungsvariable: exportieren Sie die gepaarte Variable des Schlüssels, bevor Sie
claudeausführen, wieANTHROPIC_MODELfürmodel.
/config ändern, schreibt Claude Code in Ihre Einstellungsdateien, und /model speichert den Wert als Ihren Standard für neue Sitzungen.
Wenn Sie s im /model Picker drücken, wechselt Claude Code das Modell, ohne es als Ihren Benutzer-Standard zu speichern. Passen Sie die Anstrengungsstufe an sagt, welche /effort Picks Claude Code als Ihren Standard für das Modell speichert, das Sie verwenden, und welche nur auf die aktuelle Sitzung angewendet werden.
Um beispielsweise eine Sitzung auf Opus zu starten, ohne Ihren Standard zu ändern:
Wenn Änderungen wirksam werden
Claude Code überwacht Ihre Einstellungsdateien und lädt sie neu, wenn sie sich ändern, sodass es die meisten Änderungen auf die laufende Sitzung ohne Neustart anwendet, einschließlich Änderungen anpermissions, hooks und Anmeldedaten-Helfern wie apiKeyHelper. Claude Code lädt auch eine Einstellungsdatei, die Sie mid-Sitzung erstellen, wenn ihr Ordner existierte, als die Sitzung begann. Für den .claude/ Ordner des Projekts lädt es die Datei auch, wenn Sie den Ordner in der gleichen Sitzung erstellen.
Das Neuladen behandelt Benutzer-, Projekt-, lokale und verwaltete Einstellungen, und Claude Code führt den ConfigChange Hook für jede erkannte Einstellungsdatei-Änderung aus, nicht für verwaltete Einstellungen, die von MDM oder der claude.ai-Konsole ankommen. Verwaltete Einstellungen, die von MDM oder der claude.ai-Konsole ankommen, erreichen eine laufende Sitzung nach einem Zeitplan statt sofort; die Bereitstellungstabelle gibt ihn pro Quelle an.
Claude Code liest einige Schlüssel nur einmal, beim Sitzungsstart, sodass eine Änderung an einem von ihnen die laufende Sitzung nicht erreicht. Admin-seitige Schlüssel, die auch auf einen Neustart warten, wie requiredMinimumVersion, sind unter wo und wann eine Richtlinie angewendet wird aufgelistet. Die, die Sie am ehesten mid-Sitzung bearbeiten:
model: verwenden Sie/model, um mid-Sitzung zu wechseln. Jedes Modell hat seinen eigenen Prompt-Cache, sodass die erste Anfrage nach einem Wechsel das ganze Gespräch ungecacht erneut liest; siehe Wechsel von ModelleneffortLevelundmodelSettings: verwenden Sie/effort, um Anstrengung mid-Sitzung zu ändern
Bestätigen Sie, was geladen wurde
Führen Sie/status in Claude Code aus, um zu sehen, welche Einstellungsquellen aktiv sind. Die Registerkarte Status enthält eine Zeile Setting sources, die jede Einstellungsdatei auflistet, die Claude Code für die aktuelle Sitzung geladen hat, wie User settings oder Project local settings. Wenn verwaltete Einstellungen wirksam sind, zeigt der Eintrag für verwaltete Einstellungen in Klammern, wie sie Ihre Maschine erreicht haben.
Die Zeile bestätigt, welche Dateien Claude Code gelesen hat; sie zeigt nicht, welche Datei jeden Schlüssel bereitgestellt hat. Um Einträge aufzulisten, die Claude Code abgelehnt hat, führen Sie claude doctor aus; für ein Modell, das Projekt- oder verwaltete Einstellungen setzen, nennt der Startup-Header die Datei, die es gesetzt hat. /status und /config öffnen den gleichen Dialog auf verschiedenen Registerkarten, und die Registerkarte Config ist keine Ansicht Ihrer settings.json Inhalte.
Beheben Sie eine fehlerhafte Einstellungsdatei
Wenn Sie JSON falsch tippen oder einen Schlüssel auf einen Wert setzen, den Claude Code nicht akzeptiert, teilt Claude Code Ihnen dies am Anfang einer interaktiven Sitzung mit. Was es zeigt, hängt davon ab, wie viel der Datei betroffen ist:- Einstellungsfehler: eine Benutzer-, Projekt- oder lokale Datei hat ungültiges JSON oder einen Wert, den das Schema ablehnt. Am Anfang einer interaktiven Sitzung zeigt Claude Code einen Dialog, der Ihnen erlaubt, die Datei mit Claudes Hilfe zu beheben, zu beenden oder ohne die fehlerhaften Einstellungen fortzufahren.
- Einstellungswarnung: nur einzelne Einträge schlagen fehl, wie eine fehlerhafte Berechtigungsregel oder ein unbekannter Hook-Ereignisname. Claude Code überspringt diese Werte und behält den Rest der Datei wirksam.
- Verwaltete Einstellungen: Claude Code erzwingt weiterhin den Rest der Datei. Ungültige Einträge in verwalteten Einstellungen sagt, was es ablegt und welche Schlüssel auf einen strengeren Wert zurückfallen, bis Sie sie beheben. Für ein verwaltetes Einstellungsdokument, das nicht gültiges JSON ist, siehe Verwaltetes Einstellungsdokument konnte nicht analysiert werden.
- Konfigurationsfehler:
~/.claude.jsonkann nicht analysiert werden. Claude Code kopiert die fehlerhafte Datei zu~/.claude/backups/.claude.json.corrupted.<timestamp>und fragt, ob Sie beenden und sie von Hand beheben oder auf die Standardkonfiguration zurücksetzen möchten; ein-pLauf druckt den Fehler und beendet. Um Ihren vorherigen Status wiederherzustellen, kopieren Sie eine der fünf neuesten.claude.json.backup.<timestamp>Dateien in~/.claude/backups/zurück, die Claude Code vor dem Schreiben der Datei speichert.
/status aus, um die betroffenen Dateien zu sehen, und claude doctor für die Details jedes Fehlers.
Ein -p Lauf zeigt keinen Dialog. Es sei denn, ein verwaltetes Einstellungsdokument kann nicht analysiert werden, überspringt Claude Code die fehlerhafte Datei oder Werte und fährt mit dem Rest fort, sodass nach einem -p Lauf, der eine Einstellung ignoriert, claude doctor ausführen, um zu sehen, was es abgelegt hat.
Einstellungspriorität
Wenn der gleiche Schlüssel an mehr als einer Stelle erscheint, verwendet Claude Code den Wert aus der höchsten Ebene, die ihn setzt. Der Stapel unten zeigt die Ebenen, höchste oben; ein Schlüssel auf einer höheren Ebene überschreibt den gleichen Schlüssel überall darunter. In Reihenfolge, höchste Priorität zuerst:- Verwaltete Einstellungen: Einstellungen, die Ihre Organisation bereitstellt, durch eine
managed-settings.jsonDatei, eine MDM-Richtlinie oder serververwaltete Einstellungen von der claude.ai-Konsole. Nichts in Ihren eigenen Einstellungsdateien oder--settingsüberschreibt einen verwalteten Schlüssel, und ein Flag wie--modelwählt nur aus den Modellen, die Ihre Organisation erlaubt. Ein verwaltetesmodelist ein Standardwert für den Start, keine Sperre; die Sperren sindavailableModelsunddeniedModels. Wenn Ihre Organisation mehr als eine verwaltete Quelle bereitstellt, sagen die Regeln für Priorität innerhalb der verwalteten Ebene, was Claude Code aus jeder liest. - Befehlszeile: JSON, das Sie mit
--settings <file-or-json>übergeben, wenn Sieclaudestarten, nur für diese Sitzung; siehe Ändern Sie eine Einstellung für eine Sitzung. Ein Schlüssel, den Sie dort setzen, überschreibt den gleichen Schlüssel in Ihren Projekt- und Benutzereinstellungsdateien, und ein Schlüssel, den Sie weglassen, behält seinen Wert aus diesen Dateien. Andere Flags wie--modellegen eine einzelne Sache für die Sitzung fest und sind nicht Teil dieses Stapels; der Eintrag eines Schlüssels in der Einstellungsreferenz gibt an, welche Flags ihn überschreiben. - Projekt-lokale Einstellungen (
.claude/settings.local.json): Ihre persönlichen Einstellungen für dieses Projekt. - Gemeinsame Projekt-Einstellungen (
.claude/settings.json): Einstellungen, die Ihr Team in die Versionskontrolle eincheckt. - Benutzer-Einstellungen (
~/.claude/settings.json): Ihre persönlichen Einstellungen für jedes Projekt.
ANTHROPIC_MODEL, das in Ihrer Shell exportiert wird, gilt über den model Schlüssel aus jeder Datei, während ANTHROPIC_DEFAULT_MODEL nur gilt, wenn keine Datei model setzt. Die Umgebungsvariablen-Referenz sagt, welche Schlüssel ein Paar haben und welche Claude Code zuerst liest. Ein env Block in einer Einstellungsdatei ist ein gewöhnlicher Schlüssel und folgt den Ebenen oben.
Für ein paar sicherheitsempfindliche Schlüssel ehrt Claude Code einen strengeren Wert aus einer niedrigeren Ebene über einen verwalteten Wert; Ausnahmen zur Priorität der verwalteten Einstellungen listet sie auf.
Listen werden zusammengeführt statt überschrieben
Wenn Sie den gleichen Listen-Schlüssel, wiepermissions.allow, in mehr als einer Datei setzen, kombiniert Claude Code die Listen statt eine zu wählen, sodass jede Datei Einträge hinzufügen kann, ohne die eines anderen zu entfernen. Vier Schlüssel, die Modell-Listen oder Pro-Modell-Einträge halten, folgen ihren eigenen Regeln:
fallbackModelist eine geordnete Kette, wo Position Bedeutung hat, sodass Claude Code den ganzen Wert aus der höchsten Prioritätsdatei nimmt, die ihn definiert.modelPickerhält eine geordnete Liste von Zeilen plus ein Replace-Flag, sodass Claude Code Zeilen aus zwei Quellen nie zusammenführt. Es nimmt den ganzen Wert aus dem höchsten von verwalteten Einstellungen,--settingsund Benutzereinstellungen, die ihn definieren, und ignoriert den Schlüssel in Projekt- und lokalen Einstellungen. Erfordert Claude Code v2.1.242 oder später.availableModels: wenn die verwalteten Einstellungen, die Claude Code anwendet, ihn definieren, wendet Claude Code diese Liste wie sie ist an und ignoriert Einträge, die Sie in Benutzer-, Projekt- oder lokalen Einstellungen hinzufügen, es sei denn, eine App, die Claude Code einbettet, liefert ihre eigene Modell-Liste; siehe Ausnahmen zur Priorität der verwalteten Einstellungen. Über verwaltete Quellen wird die Liste auch nie zusammengeführt; wie Claude Code verwaltete Quellen kombiniert sagt, welche Quelle’s Liste angewendet wird. Über nicht verwaltete Bereiche führt Claude Code die Arrays wie üblich zusammen.modelSettings: Claude Code löst es ein Modell auf einmal auf, zusammen miteffortLevel. DermodelSettingsEintrag sagt, welche Datei’s Wert auf ein Modell angewendet wird.
Beispiele für Priorität
Während Claude arbeitet, zeigt Claude Code einen einzeiligen Tipp unter dem Spinner, wie “Verwenden Sie /config, um Ihren Standard-Berechtigungsmodus zu ändern (einschließlich Plan Mode)”. Angenommen, Sie möchten diese Tipps aus, sodass SiespinnerTipsEnabled auf false in ~/.claude/settings.json setzen. Jedes Szenario unten ist etwas, das sie wieder einschalten kann, und was Sie dagegen tun können.
Team-Einstellungen überschreiben persönliche Einstellungen
Die.claude/settings.json Ihres Teams setzt es auf true. Claude Code verwendet den Projektwert, weil gemeinsames Projekt über Benutzer sitzt, sodass Sie Tipps in diesem Projekt und nirgendwo sonst sehen.
Sie können Ihren Wert zurückbekommen: fügen Sie "spinnerTipsEnabled": false zu .claude/settings.local.json in diesem Projekt hinzu. Projekt-lokal sitzt über gemeinsames Projekt, sodass Ihre Sitzungen dort Tipps nicht mehr zeigen und die Sitzungen Ihrer Teamkollegen sich nicht ändern.
Organisations-Einstellungen überschreiben alles
Die verwalteten Einstellungen Ihrer Organisation setzen es auftrue. Nichts, das Sie in Benutzer-, Projekt- oder lokale Einstellungen setzen, schaltet Tipps aus, und auch nicht --settings. Verwaltet ist die oberste Ebene.
Sie können Ihren Wert nicht zurückbekommen. Führen Sie /status aus, um zu sehen, welche verwaltete Quelle angewendet wird, und fragen Sie Ihren Administrator, ob die Richtlinie sich ändern sollte.
Die Befehlszeile überschreibt Ihre Dateien für eine Sitzung
Sie haben die Sitzung mitclaude --settings '{"spinnerTipsEnabled": true}' gestartet. Befehlszeile sitzt über jeder Datei außer verwaltet, sodass diese Sitzung Tipps zeigt, obwohl Ihre Dateien false sagen.
Sie bekommen Ihren Wert in der nächsten Sitzung zurück; --settings dauert eine Sitzung und schreibt nicht in eine Datei.
Ein Flag oder eine Umgebungsvariable setzt das gleiche
Einige Schlüssel haben ein Befehlszeilenflag oder eine Umgebungsvariable, die den Einstellungswert unabhängig davon überschreibt, welche Datei ihn setzt:ANTHROPIC_MODEL überschreibt die model Einstellung, und --model überschreibt beide für eine Sitzung.
Ob Sie Ihren Wert zurückbekommen, hängt vom Schlüssel ab: heben Sie die Variable auf oder lassen Sie das Flag fallen, und überprüfen Sie den Eintrag des Schlüssels auf der Einstellungsreferenz und die Zeile der Variable auf der Umgebungsvariablen-Referenz für welche Claude Code verwendet.
Beheben Sie eine Einstellung, die nicht angewendet wird
Wenn Sie einen Schlüssel setzen und Claude Code sich nicht so verhält, als hätten Sie, beginnen Sie mit/status, um zu sehen, welche Dateien es geladen hat, dann finden Sie Ihr Symptom unten. Debuggen Sie Ihre Konfiguration behandelt die breiteren Überprüfungen, einschließlich eines sauberen Konfigurationstests.
Ein Wert, den Sie setzen, wird ignoriert
Etwas anderes setzt den gleichen Schlüssel, die Datei kann diesen Wert nicht setzen, oder die Datei wurde nicht geladen:-
Eine höhere Ebene setzt ihn. Eine andere Einstellungsdatei, ein
--settingsFlag oder eine verwaltete Quelle setzt den Schlüssel über Ihrem; der Stapel sagt welche. Ein Flag oder eine Umgebungsvariable kann auch den Schlüssel auf eigene Faust überschreiben, entschieden Schlüssel für Schlüssel; der Eintrag des Schlüssels auf der Einstellungsreferenz sagt, welche Claude Code verwendet, und derenvEintrag behandelt einen verwaltetenenvWert versus einen Shell-Export. -
Ein Sicherheitsschlüssel behält seinen strengen Wert. Für ein paar Schlüssel ehrt Claude Code den restriktiven Wert aus jeder Datei, sodass ein Projekt
truefürdisableClaudeAiConnectorsbleibt an; siehe Ausnahmen zur Priorität der verwalteten Einstellungen. -
Die Datei kann diesen Wert nicht setzen.
permissions.defaultModeWerteautoundbypassPermissionswirken sich nicht von Projekt- oder lokalen Einstellungen aus; setzen Sie sie stattdessen in Benutzer- oder verwaltete Einstellungen, oder übergeben Sie--permission-modefür eine Sitzung. Vor v2.1.257 wirkte sichbypassPermissionsvon jeder Datei aus. Eine Telemetrie-Exportvariable in einemenvBlock wirkt sich auch nicht von Projekt- oder lokalen Einstellungen aus, außer ein paar Off-Werte. Variablen, die Claude Code inenvignoriert listet die Variablen und diese Werte auf. - Die Datei ist fehlerhaft. Ungültiges JSON oder ein abgelehnter Wert lässt Claude Code die Datei oder den Eintrag überspringen; siehe Beheben Sie eine fehlerhafte Einstellungsdatei.
Eine Änderung, die Sie in Claude Code gemacht haben, geht in neuen Sitzungen verloren
Wenn Sie eine Wahl für neue Sitzungen von innen Claude Code speichern, wie ein Standardmodell mit/model, schreibt Claude Code es in Ihre Benutzereinstellungsdatei, ~/.claude/settings.json. Wenn Sie nicht in diese Datei schreiben können, zum Beispiel weil ein anderes Tool sie generiert oder sie mit einer schreibgeschützten Kopie verlinkt, gilt die Änderung für die aktuelle Sitzung und ist in der nächsten weg. Setzen Sie den Schlüssel in das Tool, das die Datei generiert, oder ersetzen Sie die Datei mit einer, in die Sie schreiben können.
Wenn Sie in die Datei schreiben können und die Änderung bleibt immer noch nicht, überprüfen Sie, ob die Änderung nur für eine Sitzung war oder eine höhere Ebene setzt den gleichen Schlüssel. Für den model Schlüssel, Eine neue Sitzung startet auf einem anderen Modell als Sie gewählt haben listet mehr Ursachen auf.
Eine verwaltete Änderung hat Sie nicht erreicht
Verwaltete Quellen erreichen eine laufende Sitzung nach dem Zeitplan in der Bereitstellungstabelle, sodass starten Sie die Sitzung zuerst neu. Wenn/status dann eine andere Quelle nennt als die, die Ihr Administrator geändert hat, gilt eine höherrangige Quelle; Wie Claude Code verwaltete Quellen kombiniert gibt die Reihenfolge.
Ein eingecheckter Schlüssel erreicht Teamkollegen nicht
Zwei Dinge halten einen Schlüssel in.claude/settings.json davon ab, für alle zu gelten, die ihn klonen:
-
Claude Code ignoriert den Schlüssel in einer Repository-Datei. Suchen Sie nach
User, local, or managed,User or managed,User,ManagedoderGlobal configin der Spalte Scope des Einstellungsindex. Diese Schlüssel wirken sich nie von der gemeinsamen Datei aus, außer ein paar, die eine Repository-Datei immer noch ausschalten kann. Jeder dieser Einträge sagt so auf seiner Scope-Zeile.Global configSchlüssel gelten nur von~/.claude.json. Innerhalb desenvSchlüssels gelten die Telemetrie-Exportvariablen auch nie von der gemeinsamen Datei, außer ein paar Off-Werte; siehe Variablen, die Claude Code inenvignoriert. -
Der Schlüssel wartet auf Vertrauen.
permissions.allowRegeln,permissions.additionalDirectories,extraKnownMarketplacesund die meistenenvWerte gelten nur, nachdem jeder Teamkollege den Ordner vertraut. Bis dahin sehen sie immer noch Berechtigungsabfragen und bekommen keine Plugins von einem Marketplace, den die Datei erklärt.denyundaskRegeln gelten sofort.
Berechtigungsregeln kombinieren sich anders als Sie erwartet
- Sie haben “Ja, und frag mich nicht mehr” in einer Berechtigungsabfrage gewählt, werden aber für das gleiche Tool immer noch nachgefragt. Diese Wahl speicherte eine
allowRegel in Ihrer lokalen Datei, und eineallowRegel dort übertrifft nicht eineaskRegel aus einer Projekt- oder verwalteten Datei; wie Berechtigungsregeln kombinieren erklärt die Reihenfolge. In der VS Code-Erweiterung lässt die Genehmigungskarte Sie die Zieldatei wählen, einschließlich der gemeinsamen Datei des Projekts, was die Regel für alle ändert; in der CLI schreibt Claude Code nur in Ihre lokale Datei. - Die Allow-Regeln Ihrer Organisation gelten immer noch neben Ihren. Das ist erwartet: Claude Code führt
permissions.allowüber Bereiche zusammen, es sei denn, Ihre Organisation setztallowManagedPermissionRulesOnly.
Ausnahmen zur Priorität der verwalteten Einstellungen
Für ein paar Schlüssel, deren Werte eine Sitzung einschränken, ehrt Claude Code einen restriktiven Wert aus einem Bereich, der ansonsten verwaltete Einstellungen nicht überschreiben könnte. Finden Sie den Schlüssel in dieser Tabelle, um zu sehen, welchen Wert er ehrt und von wo.
Eine App, die Claude Code in sich selbst ausführt und
CLAUDE_CODE_PROVIDER_MANAGED_BY_HOST setzt, ist auch eine Ausnahme. Claude Code nimmt die Modell-Konfiguration dieser App über die model, fallbackModel, modelPicker und modelOverrides Schlüssel aus jeder verwalteten Quelle, und über die Modell-Auswahl-Variablen in einem verwalteten env Block, wie ANTHROPIC_MODEL und die ANTHROPIC_DEFAULT_*_MODEL Familie. Claude Code behält eine verwaltete availableModels Allowlist in Kraft, es sei denn, die App liefert ihre eigene.
Einstellungen in Cloud-Sitzungen
Eine Cloud-Sitzung läuft in einer Cloud-Umgebung auf einem frischen Klon Ihres Repositorys, nicht auf Ihrer Maschine. Das ändert, welche Einstellungen es erreichen:- Cloud-Threads in einem Projekt: In einem Cloud-Thread in einem Projekt gelten keine Berechtigungsregeln, Hooks oder
envaus der.claude/settings.jsoneines Repositorys, unabhängig davon, wie viele Repositorys das Projekt hat. Was Threads aus Ihren Repositorys übernehmen listet auf, was Sie stattdessen verwenden können. - Gemeinsame Projekt-Einstellungen (
.claude/settings.json): werden in einer Sitzung mit einem Repository außerhalb der Threads eines Projekts gelesen, da die Datei Teil des Klons ist und die Sitzung darin startet. Committen Sie eine Einstellung dort, um sie in diesen Sitzungen anzuwenden. - Gemeinsame Projekt-Einstellungen mit mehreren Repositorys: In einer von Anthropic gehosteten Umgebung startet eine Sitzung mit mehreren Repositorys über den Klonen und liest aus jeder
.claude/settings.jsondes Repositorys nur die SchlüsselenabledPluginsundextraKnownMarketplaces, nicht Berechtigungsregeln, Hooks,envoder andere Schlüssel. Die Marketplaces und Plugins, die diese beiden Schlüssel deklarieren, werden immer noch nicht in einer Cloud-Sitzung geladen. Für eine selbstgehostete Umgebung siehe welche Repository-Einstellungen gelten. - Benutzer- und Projekt-lokale Einstellungen (
~/.claude/settings.jsonund.claude/settings.local.json): nicht gelesen. Beide bleiben auf Ihrer Maschine, und die lokale Datei ist nicht im Klon. - Verwaltete Einstellungen: eine
managed-settings.jsonDatei oder MDM-Profil auf Ihrem Gerät erreicht eine Cloud-Sitzung nicht. Die serververwalteten Einstellungen Ihrer Organisation erreichen sie; Oberflächenabdeckung listet auf, welche Cloud-Sitzungen sie erhalten. Eine selbstgehostete Umgebung liest auch die verwaltete Einstellungsdatei in ihrem Runner-Image. Wie Claude Code verwaltete Quellen kombiniert sagt, wann diese Datei angewendet wird. /config: im Browser unter claude.ai/code öffnet die Claude Code-Sektion Ihrer claude.ai-Einstellungen statt einen Wert zu ändern. Um eine Einstellung für eine Cloud-Sitzung zu ändern, setzen Sie eine Umgebungsvariable auf der Umgebung. In einer Sitzung mit einem Repository außerhalb der Threads eines Projekts können Sie stattdessen den Schlüssel in die.claude/settings.jsondieses Repositorys committen.
CLAUDE.md, Skills, MCP-Server, Plugins und Anmeldedaten.
Was kommt als nächstes
- Alle Einstellungen: jeder Schlüssel, mit wo Sie ihn setzen und einem Beispiel
- Beispiel-Einstellungsdateien: eine persönliche Datei, eine Team-Datei und eine verwaltete Datei einer Organisation
- Berechtigungen konfigurieren: allow, ask und deny Regeln, und was Claude Code ohne Nachfrage ausführt
- Umgebungsvariablen: die Variablen, die Claude Code liest und der
envBlock - Debuggen Sie Ihre Konfiguration: wenn eine Einstellung nicht angewendet wird
- Claude-Verzeichnis-Referenz: jede Datei, die Claude Code liest, einschließlich Subagents, MCP-Server, Plugins und
CLAUDE.md