~/.claude.json speichert. Um eine Datei auszuwählen oder die Priorität zu überprüfen, beginnen Sie mit Einstellungsdateien und Priorität.
Einstellungsindex
Jeder Schlüssel unten verlinkt auf seinen Eintrag. Der Geltungsbereich listet die Dateien auf, in denen er stehen kann:Benutzer ist ~/.claude/settings.json, Projekt ist .claude/settings.json, Lokal ist .claude/settings.local.json und Verwaltet ist das, was Ihre Organisation bereitstellt. Jede Datei bedeutet alle vier, und Globale Konfiguration bedeutet ~/.claude.json.
Modell und Antworten
Legen Sie fest, welche Modelle Claude Code verwendet und wie es antwortet. Wie diese Einstellungen mit dem Befehl/model und Umgebungsvariablen zusammenwirken, erfahren Sie unter Modellkonfiguration.
advisorModel
Wählen Sie, welches Modell antwortet, wenn Claude das serverseitige Advisor-Tool aufruft. Entfernen Sie den Wert, um den Advisor auszuschalten. Der Advisor muss mindestens so leistungsfähig sein wie Ihr Hauptmodell. Unter Advisor-Modell auswählen finden Sie die zulässigen Kombinationen und was passiert, wenn Sie eine nicht zulässige wählen.
Normalerweise bearbeiten Sie diesen Schlüssel nicht von Hand. Führen Sie /advisor aus, um eine Auswahl zu öffnen, die die aktuelle Wahl, die Modelle, die als Advisor dienen können, und No advisor anzeigt. Claude Code speichert Ihre Auswahl in diesem Schlüssel in ~/.claude/settings.json. Wenn Sie die Auswahl über einen Remote Control-Client oder in einer Sitzung treffen, die an einen Remote-Worker angebunden ist, gilt sie nur für diese Sitzung und ändert diesen Schlüssel nicht.
Wenn Ihr Konto die Zustimmung zum Nutzungsguthaben erfordert, erteilen Sie diese zuerst, indem Sie /model fable ausführen. Bis dahin speichert die Auswahl von Fable in /advisor nichts, und Claude Code weist Sie an, zuerst /model fable auszuführen.
- Geltungsbereich:
Any file - Typ: String, einer der Aliase
"fable","opus"oder"sonnet", die auf die aktuelle Standardversion der jeweiligen Modellfamilie in Claude Code aufgelöst werden, oder eine vollständige Modell-ID wie"claude-opus-5-5" - Standard: nicht gesetzt, der Advisor ist also ausgeschaltet
- Überschreibungen pro Sitzung:
--advisorhat für eine Sitzung Vorrang vor diesem Schlüssel.CLAUDE_CODE_DISABLE_ADVISOR_TOOLschaltet den Advisor aus, und dieser Schlüssel kann ihn nicht wieder einschalten
settings.json
"fable" erfordert Fable-Zugriff.
alwaysThinkingEnabled
Schalten Sie Extended Thinking für jede Sitzung aus, indem Sie diesen Wert auf false setzen. Thinking ist standardmäßig eingeschaltet, daher ändert true nichts. Die meisten Benutzer setzen dies über /config, statt die Datei zu bearbeiten.
Bei Modellen, die immer denken, etwa Opus 5.5, Sonnet 5.5, Haiku 5.5 und den Fable-Modellen, hat false keine Wirkung. Bei Drittanbietern lässt Claude Code den Parameter thinking weg, statt Thinking auszuschalten, sodass Modelle mit adaptivem Reasoning weiterhin denken können. Wenn Thinking über die Anthropic API ausgeschaltet ist, sendet Claude Code an Modelle, von denen es weiß, dass sie diese Kombination nicht akzeptieren, etwa Opus 5, den Effort high statt einer höheren Stufe.
- Geltungsbereich:
Any file - Typ: Boolean
true: keine Wirkung; Thinking ist bereits eingeschaltetfalse: Claude Code schaltet Extended Thinking für jede Sitzung aus
- Standard: nicht gesetzt, Thinking ist also bei Modellen eingeschaltet, die es unterstützen
- Überschreibungen pro Sitzung:
MAX_THINKING_TOKENShat für eine Sitzung Vorrang vor diesem Schlüssel:0schaltet Thinking aus, mit denselben Modell- und Anbietergrenzen wiefalse, und ein positiver Wert schaltet Thinking ein, selbst wenn dieser Schlüsselfalseist. Bei Modellen mit adaptivem Reasoning wird die Zahl selbst ignoriert
settings.json
availableModels
Beschränken Sie, welche Modelle Benutzer für die Hauptsitzung, Subagenten, Skills und den Advisor auswählen können. Eine verwaltete Liste schränkt /model, --model und den Schlüssel model in den eigenen Dateien eines Entwicklers ein; ein Modell außerhalb der Liste kann nicht ausgewählt werden. Mit dem standardmäßigen Präfixabgleich wirkt sich dies allein nicht auf die Option „Default“ aus; kombinieren Sie es dafür mit enforceAvailableModels.
- Geltungsbereich:
Any file. Stellen Sie es in verwalteten Einstellungen bereit, um es für eine Organisation durchzusetzen. - Typ: Array von Modell-Aliasen oder -IDs
- Standard: nicht gesetzt, jedes Modell ist also verfügbar
settings.json
"claude-opus-5" erlaubt auch spätere Versionen, die ihn erweitern, etwa Opus 5.5. Um eine dieser Versionen zu blockieren, verwenden Sie deniedModels. Damit jeder Modell-ID-Eintrag nur die genannte Version erlaubt, verwenden Sie availableModelsMatch. Siehe Modellauswahl beschränken. Zu IDs von Drittanbietern siehe Modelle für Drittanbieter-Bereitstellungen festlegen.
availableModelsMatch
Legen Sie fest, wie Einträge in availableModels mit Modell-IDs abgeglichen werden. Standardmäßig erlaubt ein Modell-ID-Eintrag auch spätere Versionen, die ihn erweitern, sodass "claude-opus-5" Opus 5.5 erlaubt. Mit "exact" erlaubt jeder Modell-ID-Eintrag nur die genannte Version, sodass eine neuere Version dieses Modells blockiert bleibt, bis Sie sie aufführen. Erfordert Claude Code v2.1.283 oder höher.
- Geltungsbereich:
Managed. Claude Code ignoriert den Schlüssel in Benutzer-, Projekt- und lokalen Einstellungen sowie in--settingsund gibt eine Warnung aus - Typ: String, einer der Werte:
"prefix": Ein Modell-ID-Eintrag erlaubt seine Version und jede Modell-ID, die ihn um ein weiteres Segment erweitert"exact": Ein Modell-ID-Eintrag erlaubt nur die genannte Version, sodass"claude-opus-5"Opus 5 erlaubt, aber nichtclaude-opus-5-5. Ein Eintrag wie"claude-opus-4-5"erlaubt auch seine datierte Anthropic-Modell-IDclaude-opus-4-5-20251101. Ein Familienalias wie"opus"erlaubt weiterhin die gesamte Familie, und die Einträgebest,opusplanunddefaultwerden ignoriert
- Standard:
"prefix"
managed-settings.json
"exact" ist auch die Option „Default“ auf die aufgeführten Modelle beschränkt, sobald die Liste mindestens ein Modell oder eine Familie nennt. Siehe Bestimmte Modelle oder Versionen blockieren.
deniedModels
Blockieren Sie bestimmte Modelle, mit oder ohne availableModels-Allowlist und selbst wenn diese Liste sie erlaubt. Claude Code blendet ein blockiertes Modell in der /model-Auswahl aus, und das Modell kann nirgends ausgewählt werden, wo availableModels durchgesetzt wird. Auch eine Sitzung mit der Option „Default“ führt kein blockiertes Modell aus, wie unter Bestimmte Modelle oder Versionen blockieren beschrieben. Erfordert Claude Code v2.1.283 oder höher.
- Geltungsbereich:
Managed. Claude Code ignoriert den Schlüssel in Benutzer-, Projekt- und lokalen Einstellungen sowie in--settingsund gibt eine Warnung aus - Typ: Array von Modell-Aliasen oder -IDs
- Ein Familienalias wie
"opus"blockiert jedes Modell dieser Familie - Eine Modell-ID wie
"claude-opus-5-5"blockiert diese Version in jeder Schreibweise, einschließlich datierter und anbieterspezifischer IDs - Eine Modell-ID ohne Nebenversion, etwa
"claude-opus-5", blockiert auch spätere Nebenversionen wie Opus 5.5. Schreiben Sie"claude-opus-5-0", um nur Opus 5 zu blockieren - Die Einträge
best,opusplanunddefaultwerden ignoriert
- Ein Familienalias wie
- Standard: nicht gesetzt, es ist also kein Modell blockiert
managed-settings.json
effortLevel
Legen Sie eine Standard-Effort-Stufe für Modelle fest, für die Sie keine Stufe gespeichert haben. Niedrigere Stufen sind bei einfachen Aufgaben schneller und günstiger, und höhere Stufen denken bei komplexen Problemen gründlicher nach.
Wenn Sie /effort low, medium, high oder xhigh in einer interaktiven Sitzung auf Ihrem Rechner ausführen, speichert Claude Code die Stufe für das aktive Modell unter modelSettings, statt diesen Schlüssel zu schreiben. Vor v2.1.251 schrieb /effort diesen Schlüssel.
Innerhalb derselben Einstellungsdatei verwendet Claude Code die gespeicherte Stufe eines Modells statt dieses Schlüssels. modelSettings beschreibt die Rangfolge über Dateien hinweg.
In einer Sitzung, die an einen Remote-Worker angebunden ist, in einem -p-Lauf und im Agent SDK gilt /effort nur für diese Sitzung. Effort-Stufe anpassen listet die interaktiven Auswahlen auf, die ebenfalls nur für diese Sitzung gelten. Die Meldung, die /effort ausgibt, zeigt an, was geschehen ist.
- Geltungsbereich:
Any file - Typ: String, einer der Werte:
"low": das geringste Reasoning, für kurze, klar umrissene, latenzkritische Aufgaben, die keine hohe Intelligenz erfordern"medium": reduziert den Token-Verbrauch für kostensensible Arbeit, bei der etwas Intelligenz geopfert werden kann"high": ausgewogenes Verhältnis von Token-Verbrauch und Intelligenz"xhigh": gründlicheres Reasoning bei höherem Token-Verbrauch
- Standard: nicht gesetzt
- Überschreibungen pro Sitzung:
--efforthat für eine Sitzung Vorrang vor diesem Schlüssel, undCLAUDE_CODE_EFFORT_LEVELhat Vorrang vor beiden
settings.json
~/.claude/settings.json ist dieser Schlüssel die ältere Form, die /effort schrieb, bevor Stufen pro Modell gespeichert wurden, und er gilt weiterhin dort, wo er vorher galt: bei Opus 5, Fable 5.1 und früheren Modellen. Opus 5.5 und danach veröffentlichte Modelle ignorieren ihn und beginnen mit ihrem eigenen Standard, bis Sie eine Stufe für sie speichern, die /effort unter modelSettings schreibt. In Projekt-, lokalen und verwalteten Einstellungen sowie mit --settings gilt dieser Schlüssel für jedes Modell.
enforceAvailableModels
Die /model-Auswahl hat eine Option Default, und default-Modelleinstellung beschreibt, auf welches Modell sie aufgelöst wird. Eine availableModels-Allowlist beschränkt die Modelle, die Sie benennen können, aber mit dem standardmäßigen Präfixabgleich ordnet sie den Standard Ihres Kontotyps nicht neu zu, sodass Default weiterhin auf ein Modell außerhalb der Liste aufgelöst werden kann. Dieser Schlüssel schließt diese Lücke. Erfordert Claude Code v2.1.175 oder höher.
Wenn Ihre Organisation verwaltete Einstellungen bereitstellt, liest Claude Code diesen Schlüssel ausschließlich aus der verwalteten Quelle und ignoriert ihn in Ihren anderen Dateien.
Wie dieser Schlüssel auf die Modellprüfungen beim Start angewendet wird, erfahren Sie unter Amazon Bedrock und Google Cloud’s Agent Platform.
- Geltungsbereich:
Any file - Typ: Boolean
true: Wenn Default auf ein Modell außerhalb vonavailableModelsaufgelöst würde, löst Claude Code es auf das erste verfügbare Modell der Liste auffalse: Dieser Schlüssel ändert nicht, wie Default aufgelöst wird
- Standard:
false
settings.json
availableModels nicht gesetzt oder leer ist. Siehe Allowlist für das Default-Modell durchsetzen. Erfordert Claude Code v2.1.175 oder höher.
fallbackModel
Nennen Sie Ersatzmodelle, die Claude Code der Reihe nach versuchen soll, wenn Ihr primäres Modell überlastet oder nicht verfügbar ist. Claude Code wechselt für den Rest des Turns zum nächsten verfügbaren Modell der Kette und zeigt einen Hinweis an. Ohne Kette versucht Claude Code dasselbe Modell erneut und zeigt dann den Fehler des Servers an, und Sie versuchen es selbst erneut oder wechseln das Modell.
Ein Wechsel bedeutet einen Turn mit kaltem Prompt-Cache auf dem Fallback-Modell; Ihre nächste Nachricht versucht zuerst wieder das primäre Modell.
- Geltungsbereich:
Any file - Typ: Array von Modell-Aliasen oder -IDs;
"default"wird zum Standardmodell erweitert - Standard: nicht gesetzt, eine fehlgeschlagene Anfrage wird also nicht mit einem anderen Modell erneut versucht
- Überschreibungen pro Sitzung:
--fallback-modelhat für eine Sitzung Vorrang vor diesem Schlüssel
settings.json
["claude-sonnet-5"] und Ihre Benutzerdatei ["claude-haiku-4-5"] setzt, lautet die Kette nur ["claude-sonnet-5"]. Claude Code behält höchstens drei verschiedene zulässige Modelle aus der Liste und ignoriert den Rest. Siehe Fallback-Modellketten.
fastMode
Schalten Sie den Fast-Modus für Sitzungen ein, in denen er verfügbar ist, etwa für interaktive Arbeit wie schnelle Iteration oder Live-Debugging, bei der Ihnen Geschwindigkeit höhere Kosten pro Token wert ist. Normalerweise bearbeiten Sie diesen Schlüssel nicht selbst. Das Ausführen von /fast schreibt fastMode: true in ~/.claude/settings.json, und erneutes Ausführen zum Ausschalten des Fast-Modus entfernt den Schlüssel.
Über die Anthropic API unterstützen nur Fable 5.2, Opus 5.5, Opus 5 und Opus 4.8 den Fast-Modus. Wenn Sie /fast von einem anderen Modell aus ausführen, wechseln Sie zu Opus, und ein Wechsel zu einem nicht unterstützten Modell schaltet den Fast-Modus aus. Siehe Modelle wechseln, während der Fast-Modus eingeschaltet ist. Auf Google Cloud’s Agent Platform wechselt /fast stattdessen zu Fable 5.2 und schreibt diesen Schlüssel nicht, und Claude Code ignoriert ein gespeichertes true.
- Geltungsbereich:
Any file - Typ: Boolean
true: Claude Code schaltet den Fast-Modus für Sitzungen ein, in denen er verfügbar ist. Bei Fable 5.2 müssen Sie außerdem/fastausführen, während Sie Fable 5.2 verwendenfalse: Der Fast-Modus bleibt ausgeschaltet
- Standard: nicht gesetzt, der Fast-Modus ist also ausgeschaltet
- Überschreibungen pro Sitzung:
CLAUDE_CODE_DISABLE_FAST_MODEschaltet den Fast-Modus für eine Sitzung aus, und dieser Schlüssel kann ihn nicht wieder einschalten
settings.json
fastModePerSessionOptIn
Normalerweise speichert das Ausführen von /fast den Schlüssel fastMode in den Benutzereinstellungen einer Person, sodass neue Sitzungen mit einem unterstützten Modell mit eingeschaltetem Fast-Modus starten. Bei Fable 5.2 geschieht das nur, wenn die Person ihn eingeschaltet hat, während sie Fable 5.2 verwendet hat. Damit jede Person /fast in jeder Sitzung ausführen muss, in der sie ihn nutzen möchte, setzen Sie diesen Schlüssel auf true. Claude Code belässt den Schlüssel fastMode in der Datei, sodass das Ausschalten dieses Schlüssels das alte Verhalten wiederherstellt.
Owner in Team- oder Enterprise-Plänen können ihn organisationsweit über serververwaltete Einstellungen bereitstellen. Wenn verwaltete Einstellungen den Schlüssel setzen, wird /fast on außerhalb interaktiver Terminal-Sitzungen abgelehnt und meldet, dass Ihre Organisation den Fast-Modus deaktiviert hat. Das betrifft den nicht interaktiven Modus, die VS Code-Erweiterung und Cloud-Sitzungen.
- Geltungsbereich:
Any file - Typ: Boolean
true: Ein gespeichertesfastMode: trueschaltet den Fast-Modus beim Sitzungsstart nicht mehr ein, sodass jede Person/fastin jeder Sitzung ausführt, in der sie ihn nutzen möchte; ein mit--settingsübergebenesfastMode: truegilt weiterhin für diese Sitzung, sofern verwaltete Einstellungen diesen Schlüssel nicht setzenfalse: Ein gespeichertesfastMode: truewirkt so, wie unterfastModebeschrieben
- Standard:
false
settings.json
language
Lassen Sie Claude standardmäßig in einer anderen Sprache als Englisch antworten. Für Antworten gibt es keine feste Liste: Claude Code übergibt den Wert unverändert an Claude als Anweisung, immer in dieser Sprache zu antworten, sodass jeder Sprachname funktioniert, den Claude lesen kann. Claude Code prüft den Wert nicht, sodass ein falsch geschriebener Name Claude unverändert erreicht, statt einen Fehler auszulösen. Derselbe Wert legt die Sprache für die Sprachdiktierfunktion fest, für die es eine feste Liste unterstützter Diktiersprachen gibt, sowie für automatisch generierte Sitzungstitel.
- Geltungsbereich:
Any file - Typ: String, ein beliebiger Sprachname wie
"japanese","spanish"oder"french"; Claude Code validiert ihn nicht - Standard: nicht gesetzt; Sitzungstitel entsprechen dann der Sprache Ihrer Konversation
settings.json
maxEffortLevel
Begrenzen Sie die Effort-Stufe, die eine Sitzung verwenden kann, wobei niedrigere Stufen verfügbar bleiben. Jede höhere Stufe läuft stattdessen mit der Obergrenze, auch eine aus /effort, der /model-Auswahl, --effort, CLAUDE_CODE_EFFORT_LEVEL, dem Frontmatter-Feld effort eines Skills oder Subagenten oder dem eigenen Standard des Modells. Claude Code wendet die Obergrenze selbst vor jeder Anfrage an, sodass sie bei jedem Anbieter gilt, einschließlich Amazon Bedrock, Google Cloud’s Agent Platform und Microsoft Foundry. Erfordert Claude Code v2.1.267 oder höher.
- Geltungsbereich:
Any file. Stellen Sie es in verwalteten Einstellungen bereit, um es für eine Organisation durchzusetzen. Wenn mehrere Geltungsbereiche eine Obergrenze setzen, gilt die niedrigste, sodass eine in einem Geltungsbereich gesetzte Obergrenze nicht von einem anderen angehoben werden kann - Typ: String, einer der Werte
"low","medium","high","xhigh"oder"max". Der Wert"max"setzt keine Obergrenze - Standard: nicht gesetzt, es gilt also keine Obergrenze
- Obergrenzen pro Modell: Fügen Sie
maxEffortLevelzummodelSettings-Eintrag eines Modells hinzu. Dieser Eintrag ersetzt diesen Schlüssel für das Modell nur innerhalb der Einstellungsquelle, die beides setzt, etwa Ihre Benutzereinstellungen oder eine verwaltete Quelle. Setzen Sie dort"max", um das Modell von der Obergrenze dieser Quelle auszunehmen; Claude Code wendet Obergrenzen aus anderen Quellen weiterhin an
medium und nimmt Sonnet 4.6 aus:
settings.json
model
Legen Sie das Modell fest, das jede neue Sitzung verwendet, damit Sie nicht jedes Mal eines mit /model auswählen müssen. Eine Festlegung hier hindert Sie nicht daran, mitten in der Sitzung zu wechseln. Wenn Ihr Admin ein Organisations-Standardmodell festgelegt hat, das die Benutzerauswahl überschreibt, erhalten Sie dieses Modell, auch wenn Sie diesen Schlüssel in Benutzer-, Projekt- oder lokalen Einstellungen setzen.
- Geltungsbereich:
Any file - Typ: String, ein Modellalias oder eine vollständige Modell-ID
- Standard: nicht gesetzt, Claude Code verwendet also das Standardmodell Ihres Kontos
- Überschreibungen pro Sitzung:
--modelhat Vorrang vorANTHROPIC_MODEL, und beide haben für eine Sitzung Vorrang vor diesem Schlüssel, auch vor einem verwaltetenmodel; eineavailableModels-Liste gilt weiterhin für die Auswahl
settings.json
ANTHROPIC_DEFAULT_MODEL, das Claude Code nur verwendet, wenn nichts anderes ein Modell auswählt.
modelOverrides
Ordnen Sie Anthropic-Modell-IDs anbieterspezifischen Modell-IDs zu, etwa ARNs von Amazon Bedrock Inference Profiles. Jeder Eintrag der Modellauswahl verwendet dann beim Aufruf der Anbieter-API seinen zugeordneten Wert. Administratoren nutzen dies bei Amazon Bedrock, Google Cloud’s Agent Platform und Microsoft Foundry, um jede Modellversion für Governance, Kostenzuordnung oder regionales Routing an ein bestimmtes Inference Profile, einen Versionsnamen oder eine Bereitstellung weiterzuleiten.
- Geltungsbereich:
Any file - Typ: Objekt, das Modell-IDs Anbieter-Modell-IDs zuordnet
- Standard: nicht gesetzt
settings.json
modelPicker
Listen Sie die Modelle auf, die die /model-Auswahl anbietet, in der Reihenfolge, in der Sie sie schreiben, und mit Bezeichnungen Ihrer Wahl, sodass die Auswahl die Modelle zeigt, die Ihre Organisation nutzt, nach dem integrierten Angebot oder stattdessen. Das Feld model jeder Zeile wird unverändert übernommen, akzeptiert also alles, was --model akzeptiert: einen Alias wie opus, eine Anthropic-Modell-ID oder eine ID im Anbieterformat für Amazon Bedrock, Google Cloud’s Agent Platform, Microsoft Foundry oder ein LLM-Gateway. Erfordert Claude Code v2.1.242 oder höher.
- Geltungsbereich:
User or managed. Claude Code liest den Schlüssel aus verwalteten Einstellungen,--settingsund Benutzereinstellungen und ignoriert ihn in Projekt- und lokalen Einstellungen, damit ein geklontes Repository die Auswahl nicht umbenennen kann. Die höchste dieser drei Quellen, die den Schlüssel setzt, liefert das gesamte Angebot, und Claude Code kombiniert nie Angebote aus zwei Quellen. - Typ: Objekt mit einem Array
optionsaus Zeilen und einem optionalen BooleanreplaceBuiltInOptions - Standard: nicht gesetzt, die Auswahl zeigt also das integrierte Angebot
managed-settings.json
Felder für modelPicker
Der Schlüssel nimmt zwei Felder an: eines für die Zeilen selbst und eines dafür, ob sie das integrierte Angebot ersetzen oder ergänzen.
Ein Eintrag in
options kann neben seinem model auch einen optionalen String behavesAs enthalten, was v2.1.257 oder höher erfordert. Setzen Sie ihn auf die ID eines Modells, das Ihre Claude Code-Version bereits kennt, etwa claude-opus-4-8, bei einem Eintrag, dessen model neuer als Ihre Version ist. Claude Code wendet dann die Fähigkeiten und Effort-Standards dieses bekannten Modells auf den Eintrag an, statt sein Modell als unbekannt zu behandeln. Die Bezeichnung des Eintrags und die Modell-ID, die Claude Code in Anfragen sendet, ändern sich nicht.
Ist replaceBuiltInOptions eingeschaltet, blendet Claude Code alle anderen Zeilen aus: das integrierte Angebot, die Zeilen, die es für availableModels-Einträge hinzufügt, die Modelle, die die Gateway-Erkennung gefunden hat, und ANTHROPIC_CUSTOM_MODEL_OPTION. Ist es ausgeschaltet, überspringt Claude Code ein aufgeführtes Modell, das das integrierte Angebot bereits abdeckt. Eine Bezeichnung ändert, was die Auswahl anzeigt, nicht welches Modell Claude Code ausführt.
Eine availableModels-Allowlist gilt weiterhin für diese Zeilen. Bevor Sie ein aufgeführtes Modell zur Allowlist hinzufügen, lesen Sie Zusammenführungsverhalten: Eine bestimmte Modell-ID schränkt den Platzhaltereintrag ihrer Familie ein. Claude Code prüft außerdem jede Zeile gegen die Sitzung, bevor es die Auswahl anzeigt:
- Entfernt: eine Zeile, die Claude Code nicht bedienen kann, etwa ein eingestelltes Modell oder ein Modell, auf das Ihre Organisation keinen Zugriff hat
- Ausgegraut: eine Zeile, die Sie noch nicht auswählen können, mit Angabe des Grundes
- Keine Zeile bleibt übrig: Claude Code behält das integrierte Angebot, wie üblich durch die Allowlist gefiltert
modelPricing
Weisen Sie Ausgaben zu den Preisen aus, die Ihre Organisation zahlt, statt zum Listenpreis. Setzen Sie dies, wenn Ihre Organisation vertraglich vereinbarte Preise hat, damit die Dollarbeträge, die Entwickler sehen, Ihrer Rechnung entsprechen. Claude Code wendet die Preise in /usage, der Statuszeile, dem Wert total_cost_usd des Agent SDK, dem Limit --max-budget-usd sowie der Kostenmetrik und den Ereignissen von OpenTelemetry an. Sie geben die Preise selbst an: Claude Code liest sie nicht aus Ihrem Vertrag oder der Claude Console. Erfordert Claude Code v2.1.242 oder höher.
- Geltungsbereich:
Managed. Stellen Sie den Schlüssel über serververwaltete Einstellungen, eine MDM-Richtlinie, eine Dateimanaged-settings.jsonoder ein Richtlinien-Hilfsprogramm bereit. Claude Code ignoriert ihn in Benutzer-, Projekt- und lokalen Einstellungen, in--settingsund unter Windows in der vom Benutzer beschreibbaren HKCU-Registry. Bei serververwalteten Einstellungen weist jede Sitzung Kosten zum Listenpreis aus, bis der Einstellungsabruf dieser Sitzung die Einstellung bestätigt hat. Eine Host-Anwendung, die Claude Code einbettet undCLAUDE_CODE_PROVIDER_MANAGED_BY_HOSTsetzt, kann über die SDK-OptionmanagedSettingseine eigene Tabelle bereitstellen, die Claude Code nur verwendet, wenn keine verwaltete Quelle den Schlüssel setzt, und nur in Claude Code v2.1.246 oder höher. - Typ: Objekt mit einem optionalen
multiplierund einer optionalen Zuordnungoverrides - Standard: nicht gesetzt, Claude Code weist also den Listenpreis aus, sofern keine Host-Anwendung eine Tabelle bereitstellt
multiplier für einen pauschalen Rabatt oder Aufschlag, nur overrides für Preise pro Modell oder beides.
Dieses Beispiel legt vertraglich vereinbarte Preise für Sonnet 4.6 fest und reduziert dann jeden Betrag, einschließlich der Sonnet-Zeile, um 15 %:
managed-settings.json
multiplier auf einen Wert über 1, bis höchstens 10, um jeden Betrag zu erhöhen. Ein Aufschlag erfordert Claude Code v2.1.271 oder höher. Frühere Versionen ignorieren einen multiplier über 1 mit einer Warnung und behalten den Rest der Einstellung.
Die Schritte, einschließlich der Prüfung, ob die Preise wirksam sind, finden Sie unter Ausgaben zu Ihren vertraglich vereinbarten Preisen ausweisen.
Felder für modelPricing
Claude Code verwendet die Preise einer Zeile genau so, wie Sie sie geschrieben haben, ohne den Fast-Modus-Aufschlag oder den Preis für Inferenz nur in den USA hinzuzufügen. Wenn Sie zusätzlich
multiplier setzen, wendet Claude Code ihn auf die Preise der Zeile an. Claude Code verwirft eine Zeile mit einem Preis, den es nicht parsen kann, oder einen multiplier, den es nicht parsen kann, und behält den Rest; siehe Defekte Einstellungsdatei reparieren.
Für welche Modelle eine modelPricing-Zeile gilt
Claude Code bestimmt anhand des Schlüssels der Zeile, für welche Modelle sie gilt:
- Die ID eines integrierten Modells: ein Schlüssel, den Claude Code selbst für ein integriertes Modell verwendet, sei es die eigene ID des Modells, etwa
claude-sonnet-4-6, oder seine Bedrock-, Agent Platform- oder Foundry-ID. Claude Code wendet die Zeile auf jede datierte Snapshot-ID und jede anbieterspezifische ID dieses Modells an. - Jeder andere Schlüssel: ein Schlüssel, der nicht die ID eines integrierten Modells ist, etwa ein Gateway-Modellalias. Claude Code wendet die Zeile nur auf genau diese ID an. Wenn eine Modell-ID exakt mit einem Ihrer Schlüssel übereinstimmt und gleichzeitig unter eine Zeile fällt, deren Schlüssel die ID eines integrierten Modells ist, verwendet Claude Code die exakte Übereinstimmung.
- Ein Bedrock Application Inference Profile: Sobald Claude Code das Profil auf das Modell aufgelöst hat, an das es weiterleitet, über Ihre
modelOverrides-Zuordnung oder diebedrock:GetInferenceProfile-Abfrage, wendet Claude Code die Zeile dieses Modells auf das Profil an.
modelSettings
Speichern Sie eine Effort-Stufe für jedes Modell, das Sie verwenden. Erfordert Claude Code v2.1.251 oder höher.
Wenn Sie in einer interaktiven Sitzung auf Ihrem Rechner low, medium, high oder xhigh mit /effort oder dem Effort-Schieberegler der /model-Auswahl als Standard speichern, schreibt Claude Code diese Stufe hier unter das Modell, das Sie verwenden, sodass Sie diesen Schlüssel selten selbst bearbeiten. Wenn Sie eine dieser Stufen in der Modellauswahl der VS Code-Erweiterung wählen, speichert Claude Code sie hier auf dieselbe Weise. Der Eintrag effortLevel listet die Sitzungen auf, in denen /effort nur für diese Sitzung gilt.
Bearbeiten Sie den Schlüssel von Hand, um eine gespeicherte Stufe zu ändern oder zu entfernen.
Das effortLevel eines Modells hier hat Vorrang vor dem übergeordneten effortLevel in derselben Einstellungsdatei. Über Dateien hinweg löst Claude Code jedes Modell separat auf: Die Einstellungsdatei mit dem höchsten Vorrang, die entweder ein effortLevel für dieses Modell oder ein übergeordnetes effortLevel setzt, das für dieses Modell gilt, entscheidet, sodass ein effortLevel in verwalteten Einstellungen Vorrang vor einer Stufe hat, die Sie in Benutzereinstellungen gespeichert haben. Effort-Stufe anpassen listet auf, was eine gespeicherte Stufe sonst noch überschreiben kann, etwa --effort beim Start.
Um den Effort eines Modells zu begrenzen, statt seine Stufe festzulegen, fügen Sie dem Eintrag dieses Modells ein Feld maxEffortLevel hinzu. Das Feld erfordert Claude Code v2.1.267 oder höher.
- Geltungsbereich:
Any file - Typ: Objekt, das einen Modellnamen einem Objekt mit beliebigen dieser Felder zuordnet:
effortLevel: einer der Werte"low","medium","high"oder"xhigh"maxEffortLevel: die höchste Effort-Stufe, mit der das Modell laufen darfautoCompactWindow: eine Anzahl von Token von100000bis1000000oder"auto"für das auf das Modell abgestimmte Fenster./autocompactspeichert hier. Für dieses Modell hat der Wert Vorrang vor einem übergeordnetenautoCompactWindowin derselben Einstellungsdatei. Erfordert Claude Code v2.1.288 oder höher
- Standard: nicht gesetzt
claude-opus-5-5, und ordnet den Alias dieses Modells, IDs mit Datumssuffix, [1m]-IDs und erkannte anbieterspezifische IDs demselben Eintrag zu.
Dieses Beispiel hält Opus 5.5 auf high, während andere Modelle ihre eigenen gespeicherten oder Standardstufen verwenden:
settings.json
/effort auto aus, um Ihre gespeicherte Stufe für das verwendete Modell zu löschen. Claude Code belässt die anderen Einträge und ein eventuelles übergeordnetes effortLevel.
outputStyle
Wählen Sie einen Ausgabestil nach Namen aus. Ein Ausgabestil ist ein gespeicherter Satz von Anweisungen, der Claudes Rolle, Ton und Ausgabeformat ändert, etwa die integrierten Stile Explanatory und Learning oder ein selbst geschriebener Stil.
Wenn Sie diesen Schlüssel während einer Sitzung ändern, verwendet Claude den neuen Stil ab Ihrer nächsten Nachricht. Was diese Nachricht beim Prompt-Caching kostet, erfahren Sie unter Ausgabestil ändern. Vor v2.1.251 wurde die Änderung erst wirksam, nachdem Sie /clear ausgeführt oder eine neue Sitzung gestartet hatten.
- Geltungsbereich:
Any file - Typ: String, der Name eines integrierten oder benutzerdefinierten Ausgabestils
- Standard: nicht gesetzt, Claude Code verwendet also den Standardstil
settings.json
promptCacheTtl
Legen Sie fest, wie lange der Prompt-Cache die Hauptkonversation hält. Dieser Schlüssel gilt für Ihre interaktiven Turns, -p-Turns und Agent SDK-Turns sowie für die Hilfsanfragen, die Claude Code direkt mit ihnen ausführt. Die einstündige Lebensdauer hält den Cache auch über längere Pausen warm, und die API berechnet jeden Cache-Schreibvorgang zu einem höheren Preis als bei der fünfminütigen Lebensdauer. Erfordert Claude Code v2.1.242 oder höher.
- Geltungsbereich:
Any file - Typ: String, einer der Werte:
"5m": Der Cache hält fünf Minuten"1h": Der Cache hält eine Stunde
- Standard: nicht gesetzt, jede Anfrage der Hauptkonversation erhält also ihre Standardlebensdauer
- Überschreibungen pro Sitzung:
FORCE_PROMPT_CACHING_5Mhat Vorrang vor allem anderen, dannCLAUDE_CODE_PROMPT_CACHE_TTL, dann dieser Schlüssel und zuletztENABLE_PROMPT_CACHING_1H
settings.json
showThinkingSummaries
Zeigen Sie Zusammenfassungen von Claudes Extended Thinking in interaktiven Sitzungen an. Setzen Sie dies, wenn Sie die vollständigen Zusammenfassungen sehen möchten, wenn Sie Thinking mit Ctrl+O aufklappen. Wenn nicht gesetzt oder false, schwärzt die Anthropic API Thinking-Blöcke, und Claude Code zeigt einen zugeklappten Platzhalter an.
- Geltungsbereich:
Any file - Typ: Boolean
true: Sie sehen vollständige Thinking-Zusammenfassungen, wenn Sie Thinking mitCtrl+Oaufklappenfalse: Die Anthropic API schwärzt Thinking-Blöcke, und Claude Code zeigt einen zugeklappten Platzhalter an
- Standard:
false
settings.json
subagentPromptCacheTtl
Legen Sie fest, wie lange der Prompt-Cache die Anfragen hält, die Claude Code außerhalb der Hauptkonversation stellt. Dieser Schlüssel gilt für Subagenten, Workflows sowie für Claude Codes eigene Hintergrund- und Hilfsanfragen, etwa Komprimierung und Sitzungstitel. Die einstündige Lebensdauer hält den Cache auch über längere Pausen warm, und die API berechnet jeden Cache-Schreibvorgang zu einem höheren Preis als bei der fünfminütigen Lebensdauer. Erfordert Claude Code v2.1.242 oder höher.
- Geltungsbereich:
Any file - Typ: String, einer der Werte:
"5m": Der Cache hält fünf Minuten"1h": Der Cache hält eine Stunde
- Standard: nicht gesetzt, jede dieser Anfragen erhält also ihre Standardlebensdauer
- Überschreibungen pro Sitzung:
FORCE_PROMPT_CACHING_5Mhat Vorrang vor allem anderen, dannCLAUDE_CODE_SUBAGENT_PROMPT_CACHE_TTL, dann dieser Schlüssel, dannENABLE_PROMPT_CACHING_1H, das für jede Anfrage die einstündige Lebensdauer anfordert. Wo der eigene Frontmatter-Wert eines Subagenten in der Rangfolge steht, erfahren Sie unter TTL selbst wählen
settings.json
promptCacheTtl nicht abdeckt. Setzen Sie also beide, um eine Lebensdauer für jede Anfrage festzulegen, die Claude Code stellt. Wie sich der Cache eines Subagenten von dem der Hauptkonversation unterscheidet, erfahren Sie unter Subagenten und der Cache.
switchModelsOnFlag
Legen Sie fest, was passiert, wenn ein Sicherheitsklassifikator eine Anfrage kennzeichnet: zum Fallback-Modell wechseln und fortfahren oder pausieren, damit Sie zwischen Wechseln und Bearbeiten des Prompts wählen können.
- Geltungsbereich:
Any file. Erscheint in/configals Switch models when a message is flagged mit den Optionen Switch automatically und Ask each time. - Typ: Boolean
true: Claude Code wechselt zum Fallback-Modell und fährt fortfalse: In einer interaktiven Sitzung pausiert Claude Code, damit Sie zwischen Wechseln und Bearbeiten des Prompts wählen können; wo kein Dialog angezeigt werden kann, etwa bei einem-p-Lauf, endet die gekennzeichnete Anfrage mit einem Fehler
- Standard: nicht gesetzt. Claude Code wechselt automatisch, kann aber in einer interaktiven Sitzung zuerst nachfragen
settings.json
ultracode
Starten Sie Sitzungen mit eingeschaltetem ultracode. Ist es eingeschaltet, plant Claude für jede substanzielle Aufgabe einen Workflow, statt darauf zu warten, dass Sie danach fragen. Claude plant Workflows nur, wenn dynamische Workflows für Sie aktiviert sind und Ihr Modell den Effort xhigh unterstützt. Der Schlüssel ändert die Effort-Stufe der Sitzung nicht: ultracode läuft mit der Stufe, die die Sitzung verwendet. Claude Code liest diesen Schlüssel, schreibt ihn aber nie: /effort ultracode schaltet ultracode nur für die aktuelle Sitzung ein.
- Geltungsbereich:
Any file - Typ: Boolean
true: Sitzungen starten mit eingeschaltetem ultracode, wenn dynamische Workflows für Sie aktiviert sind und Ihr Modellxhighunterstütztfalse: Sitzungen starten mit ausgeschaltetem ultracode
- Standard: nicht gesetzt, ultracode ist also ausgeschaltet
- Überschreibungen pro Sitzung:
/effort ultracodeschaltet ultracode für eine Sitzung ohne diesen Schlüssel ein, und/effort ultracode offschaltet es für eine Sitzung aus, wenn dieser Schlüsseltrueist. Das Flag--effort ultracodeschaltet es ebenfalls für eine Sitzung ein, mit dem Effortxhigh
settings.json
effortLevel, modelSettings und den anderen Effort-Quellen, und eine Effort-Obergrenze wie maxEffortLevel senkt diese Stufe, ohne ultracode auszuschalten. Dies sowie die Form /effort ultracode off erfordern Claude Code v2.1.284 oder höher. Vor v2.1.284 lief die Sitzung mit ultracode: true mit dem Effort xhigh, und eine Effort-Obergrenze unter xhigh hielt ultracode ausgeschaltet. Eine apply_flag_settings-Steuerungsanfrage des Agent SDK akzeptiert den Schlüssel ebenfalls.
Berechtigungseinstellungen
Entscheiden Sie, was Claude ohne Nachfrage tun kann, welcher Standard-Berechtigungsmodus für neue Sitzungen gilt und was der Klassifikator des Auto-Modus zulässt. Informationen zur Regelsyntax und zum Berechtigungsmodell finden Sie unter Berechtigungen konfigurieren.allowManagedPermissionRulesOnly
Machen Sie verwaltete Einstellungen zur einzigen Quelle für Berechtigungsregeln. Claude Code ignoriert dann allow-, ask- und deny-Regeln in Benutzer-, Projekt-, lokalen und --settings-Dateien, ignoriert --allowedTools, blendet die Optionen zum Immer-Zulassen in Berechtigungsabfragen aus und speichert keine neuen Regeln.
Wenn übergeordnete Einstellungen von einem Embedding-Host gelten, behandelt Claude Code diese als Teil der verwalteten Ebene. Es verwirft deren allow-Regeln und additionalDirectories und behält deren deny- und ask-Regeln bei, außer Read- und Edit-Regeln, deren Muster mit ! beginnt. Ein Host kann Pfade aus den verwalteten Regeln nicht mit einer !-Regel ausschneiden, unabhängig davon, ob Sie diesen Schlüssel setzen oder nicht.
--disallowedTools-Regeln und die deny- und ask-Regeln der aktuellen Sitzung gelten weiterhin, auch nachdem Claude Code die Einstellungen während der Sitzung neu lädt. Sie beschränken nur, daher können sie nicht erweitern, was die verwalteten Regeln gewähren. Vor v2.1.257 verwarf Claude Code diese Befehlszeilen- und Sitzungsregeln beim ersten Neuladen der Einstellungen.
Informationen dazu, was ein !-Muster in einer --disallowedTools- oder Sitzungsregel ausschneiden kann, finden Sie unter Read- und Edit-Regeln.
Wenn Sie diesen Schlüssel setzen, ignoriert Claude Code v2.1.282 oder später außerdem das allowed-tools-Frontmatter in Skills und .claude/commands/-Dateien aus diesen Quellen:
- Das
.claude/-Verzeichnis eines Repositorys - Ihre Verzeichnisse
~/.claude/skills/und~/.claude/commands/, einschließlich von claude.ai synchronisierter Skills - Ein
--add-dir-Verzeichnis - Plugins, die mit einem
.claude-plugin-Manifest deklariert sind, innerhalb von~/.claude/skills/oder dem.claude/skills/des Projekts - Plugins, die nur für eine Sitzung geladen werden und deren IDs auf
@inlineenden, wenn alle folgenden Bedingungen erfüllt sind:- Die Sitzung ist eine Code-Sitzung oder Cowork-Sitzung, jedoch keine Cloud-Sitzung, für die die Claude Desktop-App selbst Claude Code startet
- Ihre verwalteten Einstellungen setzen den Schlüssel, nicht nur die übergeordneten Einstellungen eines Embedding-Hosts
- Die Sitzung läuft mit Claude Code v2.1.305 oder später
allowed-tools. @inline-Plugins außerhalb dieser Desktop-Sitzungen behalten ihres ebenfalls, außer einem Plugin namens anthropic-skills. Das disallowed-tools eines Skills gilt weiterhin. Was ein Entwickler sieht, wenn Claude Code das Feld ignoriert, erfahren Sie unter Wenn nur verwaltete Berechtigungsregeln gelten.
- Geltungsbereich:
Managed - Typ: Boolean
true: verwaltete Einstellungen werden zur einzigen Quelle für Berechtigungsregelnfalse: Claude Code wendet Berechtigungsregeln aus Benutzer-, Projekt-, lokalen und--settings-Dateien zusätzlich zu den verwalteten an
- Standard: nicht gesetzt, daher wendet Claude Code Berechtigungsregeln aus Benutzer-, Projekt- und lokalen Einstellungen sowie aus
--settingszusätzlich zu den verwalteten an
managed-settings.json
allowManagedMcpServersOnly. Siehe Nur verwaltete Einstellungen.
autoMode
Fügen Sie Ihre eigenen Regeln zu dem hinzu, was der Auto-Modus-Klassifikator blockiert und zulässt. Verwenden Sie es, um dem Klassifikator mitzuteilen, welchen Repos, Buckets und Domains Ihre Organisation vertraut, damit er alltägliche interne Vorgänge nicht mehr blockiert. Der Klassifikator wird mit integrierten Allow- und Deny-Regeln ausgeliefert. Fügen Sie die Literalzeichenfolge "$defaults" in einem Array ein, um diese integrierten Regeln an dieser Position zu behalten und Ihre Regeln um sie herum hinzuzufügen; lassen Sie sie weg, um sie durch Ihre zu ersetzen.
- Geltungsbereich:
User or managed - Typ: Objekt mit
environment-,allow-,soft_deny- undhard_deny-Arrays von Prosa-Regeln sowie dem BooleanclassifyAllShell - Standard: nicht gesetzt, daher verwendet der Klassifikator nur seine integrierten Regeln
soft_deny-Regeln durch "$defaults" und fügt eine weitere hinzu, die terraform apply blockiert:
settings.json
autoMode.classifyAllShell
Senden Sie jeden Bash- und PowerShell-Befehl durch den Auto-Modus-Klassifikator, während der Auto-Modus aktiv ist. Standardmäßig setzt der Auto-Modus nur Allow-Regeln aus, die beliebigen Code ausführen könnten: Tool-weite und Wildcard-Regeln wie Bash(*) sowie Interpreter- oder Shell-Wrapper-Präfixe wie Bash(python *). Ein Befehl, der einer anderen Allow-Regel entspricht, wie Bash(npm test), überspringt den Klassifikator, es sei denn, er trägt Pro-Befehl zulässige Domains. Wenn er überspringt, kann ein destruktives Argument, das das Präfix der Regel nicht erwartet hat, ungesehen durchkommen. Das Setzen dieses Schlüssels setzt jede Shell-Allow-Regel für die Sitzung aus, damit der Klassifikator jeden Befehl sieht. Erfordert Claude Code v2.1.193 oder später.
- Geltungsbereich:
User or managed. Wird überall dort gelesen, woautoModegelesen wird. - Typ: Boolean
true: Während der Auto-Modus aktiv ist, sendet Claude Code jeden Bash- und PowerShell-Befehl durch den Klassifikator und setzt Ihre Shell-Allow-Regeln aus; außerhalb des Auto-Modus gelten die Regeln weiterhinfalse: Der Auto-Modus setzt nur Allow-Regeln aus, die beliebigen Code ausführen könnten, wieBash(*)undBash(python *); ein Befehl, der einer anderen Allow-Regel entspricht, überspringt den Klassifikator, es sei denn, er trägt Pro-Befehl zulässige Domains, und jeder andere Shell-Befehl wird durch ihn geleitet
- Standard:
false
settings.json
disableAutoMode
Entfernen Sie den Auto-Modus aus dem Shift+Tab-Zyklus. Jede Sitzung, die sonst im Auto-Modus starten würde, ob von --permission-mode auto, einer Einstellungsdatei oder dem integrierten Standard, startet stattdessen im default-Modus. Administratoren setzen es in verwalteten Einstellungen, um zu verhindern, dass Entwickler in ihrer Organisation den Auto-Modus verwenden.
- Geltungsbereich:
Any file. Am nützlichsten in verwalteten Einstellungen, wo Benutzer es nicht überschreiben können. Auch unterpermissionsalspermissions.disableAutoModeakzeptiert. - Typ: die Zeichenfolge
"disable" - Standard: nicht gesetzt
settings.json
permissions
Steuern Sie, welche Tools Claude ohne Nachfrage verwenden kann, bei welchen nachgefragt wird und welche blockiert sind. Legen Sie außerdem den Standard-Berechtigungsmodus für neue Sitzungen fest. Jeder permissions.*-Schlüssel unten verschachtelt sich unter diesem Objekt.
- Geltungsbereich:
Any file - Typ: Objekt mit
allow,ask,deny,additionalDirectories,blockReadsOutsideWorkingDirectories,blockWritesOutsideWorkingDirectories,defaultMode,denyInsteadOfPrompting,disableBypassPermissionsModeunddisableAutoMode - Standard: nicht gesetzt
npm run-Befehle ohne Nachfrage, fragt vor git push nach, blockiert Lesevorgänge von .env und startet Sitzungen im acceptEdits-Modus:
settings.json
permissions.allow. Informationen dazu, wie Berechtigungsregeln aus verschiedenen Dateien kombiniert werden, finden Sie unter Wie Berechtigungsregeln über Geltungsbereiche hinweg zusammengeführt werden; Informationen dazu, wie Einstellungsschlüssel im Allgemeinen kombiniert werden, finden Sie unter Einstellungspriorität im Einstellungshandbuch.
useAutoModeDuringPlan
Wählen Sie, ob Claude Code den Auto-Modus-Klassifikator verwendet, um Shell-Befehle im Plan-Modus zu überprüfen. Mit dem Standard true überprüft der Klassifikator jeden Befehl während der Planung, wenn der Auto-Modus verfügbar ist, und Sie sehen keine Abfrage, außer bei Entfernungen kritischer Pfade. Setzen Sie false, um für jeden Befehl außerhalb des integrierten Satzes nur lesender Befehle eine Berechtigungsabfrage zu erhalten. Wird in /config als Auto-Modus während Plan verwenden angezeigt.
- Geltungsbereich:
User, local, or managed. Ein Repository kann es nicht für Sie ausschalten.- Ein
falsein einer dieser Dateien oder in--settingsschaltet es aus, es sei denn, Sie lassen diese Benutzer- oder lokale Datei mit einer Option wie--setting-sourcesweg. Das Ignorieren einer weggelassenen Datei erfordert Claude Code v2.1.314 oder später
- Ein
- Typ: Boolean
true: dasselbe wie nicht gesetzt; wenn der Auto-Modus verfügbar ist, überprüft der Klassifikator Shell-Befehle während der Planungfalse: Sie erhalten eine Berechtigungsabfrage für jeden Befehl außerhalb des integrierten Satzes nur lesender Befehle
- Standard:
true
settings.json
permissions.allow
Listen Sie die Tool-Verwendungen auf, die Claude Code ohne Nachfrage genehmigt. In einer MCP-Regel kann * nur im Tool-Namen nach dem mcp__<server>__-Präfix erscheinen, wie mcp__github__get_*; es kann nicht im Server-Namen erscheinen.
- Geltungsbereich:
Any file - Typ: Array von Berechtigungsregel-Zeichenfolgen
- Standard: nicht gesetzt
- Sitzungsspezifische Überschreibungen:
--allowedToolsfügt Allow-Regeln für eine Sitzung hinzu, und eine Deny-Regel aus einer Einstellungsdatei blockiert immer noch ein Tool, das sie benennt
git diff und lässt Claude Code Ihre .zshrc ohne Nachfrage lesen:
settings.json
allow-Regeln aus der .claude/settings.json eines Projekts nur an, nachdem Sie den Workspace-Trust-Dialog für diesen Ordner akzeptiert haben.
Berechtigungsregelsyntax
Berechtigungsregeln folgen dem FormatTool oder Tool(specifier). Claude Code wertet deny-Regeln zuerst aus, dann ask, dann allow, und die erste Übereinstimmung entscheidet, unabhängig davon, wie spezifisch jede Regel ist; siehe die Berechtigungsregel-Evaluierungsreihenfolge.
Jede Zeile zeigt eine Regelform und worauf sie zutrifft.
Für die vollständige Regelsyntax, einschließlich Wildcard-Verhalten, Tool-spezifischer Muster für Read, Edit, WebFetch, MCP und Agent-Regeln sowie der Sicherheitsbeschränkungen von Bash-Mustern, siehe Berechtigungsregelsyntax.
permissions.ask
Listen Sie die Tool-Verwendungen auf, bei denen Sie um Bestätigung gebeten werden, auch in einem Berechtigungsmodus, der sie sonst genehmigen würde, wie acceptEdits oder bypassPermissions. Im dontAsk-Modus verweigert Claude Code eine entsprechende Tool-Verwendung, anstatt nachzufragen.
- Geltungsbereich:
Any file - Typ: Array von Berechtigungsregel-Zeichenfolgen
- Standard: nicht gesetzt
settings.json
permissions.deny
Listen Sie die Tool-Verwendungen auf, die Claude Code blockiert. Verwenden Sie es für Dateien, die API-Schlüssel, Geheimnisse oder Umgebungswerte enthalten: Claude Code schließt entsprechende Dateien aus der Dateiermittlung und Suchergebnissen aus, verweigert Lesevorgänge dafür und blockiert die Edit- und Write-Tools auf den entsprechenden Pfaden.
Read- und Edit-Deny-Regeln gelten für die integrierten Datei-Tools von Claude, für Dateibefehle, die Claude Code in Bash erkennt, wie cat, head, tail, sed und tee, und für die Ziele von Bash-Umleitungen wie > file und < file; sie gelten nicht für einen Befehl, der Dateien liest, ohne sie zu benennen, wie grep -r pattern ., oder für beliebige Unterprozesse, daher aktivieren Sie die Sandbox für eine Durchsetzung auf Betriebssystemebene.
- Geltungsbereich:
Any file - Typ: Array von Berechtigungsregel-Zeichenfolgen
- Standard: nicht gesetzt
- Sitzungsspezifische Überschreibungen:
--disallowedToolsfügt Deny-Regeln für eine Sitzung neben diesem Schlüssel hinzu
.env-Dateien, dem secrets-Verzeichnis und einer Datei mit Anmeldedaten und blockiert curl-Befehle:
settings.json
"*" jedes Tool und "mcp__*" verweigert jedes MCP-Tool. Claude Code ignoriert eine Deny-Regel für das EndConversation-Tool, solange noch ein anderes Tool für Claude verfügbar ist. Eine Bash-Deny-Regel gleicht den Befehl so ab, wie Claude ihn schreibt, daher stoppt Bash(curl *) nicht /usr/bin/curl oder sh -c 'curl …'; siehe worauf eine Bash-Regel nicht zutrifft. Dieser Schlüssel ersetzt die veraltete ignorePatterns-Konfiguration.
permissions.additionalDirectories
Geben Sie Claude Dateizugriff auf Verzeichnisse außerhalb desjenigen, in dem Sie gestartet haben, als zusätzliche Arbeitsverzeichnisse. Die meisten .claude/-Konfigurationen werden aus diesen Verzeichnissen nicht ermittelt.
- Geltungsbereich:
Any file, mit Einschränkungen beim Sandbox-Schreibzugriff, den Projekt- und lokale Einträge gewähren - Typ: Array von Verzeichnispfaden
- Standard: nicht gesetzt
- Sitzungsspezifische Überschreibungen:
--add-dirund/add-dirfügen Verzeichnisse für eine Sitzung neben diesem Schlüssel hinzu
settings.json
allow-Regeln werden Einträge in der .claude/settings.json eines Projekts nur wirksam, nachdem Sie den Workspace-Trust-Dialog für diesen Ordner akzeptiert haben.
permissions.blockReadsOutsideWorkingDirectories
Lassen Sie die Datei-Tools von Claude Lesevorgänge außerhalb Ihrer Arbeitsverzeichnisse in jedem Berechtigungsmodus verweigern, einschließlich bypassPermissions. Claude Code verweigert Read-, Grep-, Glob- und LSP-Aufrufe für diese Pfade und weist Claude an, Sie zu bitten, das Verzeichnis mit /add-dir hinzuzufügen. Dateien, die Claude Code selbst benötigt, bleiben lesbar, etwa Ihre Skills, Plugins, Regeln, Agenten, Befehle und die Memory-Datei CLAUDE.md unter ~/.claude/. Erfordert Claude Code v2.1.257 oder später.
Shell-Befehle verweigert Claude Code nicht auf dieselbe Weise:
- Aktionen, die kein Modus automatisch genehmigt beschreibt, wann ein Shell-Befehl, der einen solchen Pfad liest, bei Ihnen nachfragt
- In einer Sandbox ausgeführte Befehle unter der Blockierung beschreibt, was ein in einer Sandbox ausgeführter Befehl lesen kann
bypassPermissions-Modus bei Ihnen nach. Die Abfrage erscheint auch dann, wenn der Befehl keinen Pfad außerhalb der Arbeitsverzeichnisse benennt. Diese Abfrage entfällt, wenn der Befehl in der Sandbox ausgeführt wird und die Sandbox die Blockierung durchsetzt.
Claude Code schreibt hier außerdem true, wenn Sie in der Abfrage des Auto-Modus vor dem ersten Lesevorgang außerhalb der Arbeitsverzeichnisse festlegen, solche Lesevorgänge zu blockieren.
- Geltungsbereich:
Any file. Eintruein einer beliebigen Datei gilt, daher kann ein Repository die Blockierung für sich selbst aktivieren, Ihre Blockierung aber nicht aufheben. - Typ: Boolean
true: Die Datei-Tools von Claude verweigern Lesevorgänge außerhalb der Arbeitsverzeichnissefalse: dasselbe wie nicht gesetzt; die Blockierung gilt trotzdem, wenn eine andere Dateitruesetzt
- Standard: nicht gesetzt, daher folgen Lesevorgänge außerhalb der Arbeitsverzeichnisse Ihrem Berechtigungsmodus
settings.json
--add-dir, /add-dir oder additionalDirectories in Ihren Benutzer- oder verwalteten Einstellungen hinzufügen, zählen für die Blockierung als Arbeitsverzeichnisse. Verzeichnisse, die nur in Repository-Einstellungen hinzugefügt werden, zählen nicht: solche in .claude/settings.json und solche in .claude/settings.local.json, sofern Git diese Datei nicht als nicht verfolgt meldet. In einem Verzeichnis, das kein Git-Repository ist, oder wenn Git die Datei verfolgt, behandelt Claude Code .claude/settings.local.json als Repository-Einstellungen; legen Sie Verzeichnisse, die lesbar bleiben sollen, daher stattdessen in Ihren Benutzereinstellungen fest.
Wenn autoMemoryDirectory aus der .claude/settings.json des Projekts kommt oder aus einer .claude/settings.local.json, die als vom Repository bereitgestellt behandelt wird, lädt Claude Code kein Auto-Memory aus diesem Verzeichnis und speichert keines darin.
In einer Sandbox ausgeführte Befehle unter der Blockierung
Wenn Sandboxing aktiviert ist, umfasst die Blockierung auch in einer Sandbox ausgeführte Befehle. Claude Code verweigert ihnen den Lesezugriff auf Ihr Home-Verzeichnis und auf die anderen Stammverzeichnisse, die Benutzerdateien enthalten:/Users, /home, /root, /Volumes, /mnt, /media, /run/media und /srv. Anschließend gibt es die Arbeitsverzeichnisse, die Worktrees, die Claude Code in der Sitzung erstellt, das temporäre Verzeichnis der Sitzung und die Teile von ~/.claude, die Befehle benötigen, etwa Skills und Plugins, wieder frei. Solange die Blockierung gilt, zählen allowRead- und allowWrite-Einträge aus Repository-Einstellungen nicht.
Wenn das Arbeitsverzeichnis der Sitzung ein verknüpfter Git-Worktree ist, einschließlich eines, den Claude Code während der Sitzung betreten hat, bleibt das gemeinsame .git-Verzeichnis des Repositorys für in einer Sandbox ausgeführte Befehle lesbar und beschreibbar, sodass Git dort weiterhin funktioniert.
In diesen Fällen erreicht die Blockierung in einer Sandbox ausgeführte Befehle nicht, während die Datei-Tools von Claude sie weiterhin durchsetzen:
- Die Dateisystemisolierung ist über
sandbox.filesystem.disableddeaktiviert allowManagedReadPathsOnlyist gesetzt- Der Pfad des Verzeichnisses, in dem Sie Claude Code gestartet haben, enthält ein Glob-Zeichen wie
*,?oder[
git Ihre Identität und Einstellungen beibehält:
~/.gitconfig- Die Dateien
config,ignoreundattributesunter$XDG_CONFIG_HOME/git, standardmäßig~/.config/git - Dateien, die Ihre globale Git-Konfiguration über
[include],[includeIf],core.excludesFileodercore.attributesFileangibt
git läuft dann ohne sie. ~/.git-credentials und $XDG_CONFIG_HOME/git/credentials bleiben blockiert.
Wenn eine wieder freigegebene Datei ein Geheimnis enthält, etwa ein http.extraHeader-Token, fügen Sie ihren Pfad zu sandbox.filesystem.denyRead hinzu. Ein denyRead-Eintrag, der eine Datei abdeckt, hat immer Vorrang vor dieser Freigabe.
permissions.blockWritesOutsideWorkingDirectories
Lassen Sie die Tools Write, Edit und NotebookEdit Pfade außerhalb Ihrer Arbeitsverzeichnisse in jedem Berechtigungsmodus verweigern, einschließlich bypassPermissions, abgesehen von einigen Dateien von Claude Code selbst. Der Schlüssel beschränkt keine Shell-Befehle, MCP-Tools oder die Programme, die Hooks ausführen. Um zu beschränken, wohin Shell-Befehle schreiben, aktivieren Sie Sandboxing. Erfordert Claude Code v2.1.314 oder später.
Sobald der Schlüssel aktiv ist, entfernt Claude Code außerdem die Tools EnterWorktree und ExitWorktree oder verweigert Aufrufe an sie. Um weiterhin in Worktrees zu arbeiten, folgen Sie Claude hat kein EnterWorktree-Tool.
- Geltungsbereich:
Any file. Eintruein einer beliebigen Datei, die die Sitzung lädt, gilt, daher kann ein Repository die Blockierung für sich selbst aktivieren, Ihre Blockierung aber nicht aufheben. In einer Cloud-Sitzung wendet Claude Code den Schlüssel möglicherweise nicht an, da die Datei-Tools in einem Container laufen, der selbst die Grenze bildet. - Typ: Boolean
true: aktiviert die Blockierungfalse: dasselbe wie nicht gesetzt; die Blockierung gilt trotzdem, wenn eine andere Dateitruesetzt
- Standard: nicht gesetzt, daher folgen Schreibvorgänge außerhalb der Arbeitsverzeichnisse Ihrem Berechtigungsmodus. Die Blockierung ist außerdem aktiv, solange Claude Code das
permissions-Objekt in Ihren verwalteten Einstellungen nicht lesen kann.
settings.json
~/block-test.txt, falls Ihr Home-Verzeichnis nicht zu ihnen gehört. Claude Code verweigert den Aufruf, und die Ablehnung besagt, dass die Einstellung Schreibvorgänge außerhalb der Arbeitsverzeichnisse blockiert.
Um die Blockierung aufzuheben, entfernen Sie den Schlüssel aus jeder Einstellungsdatei, die ihn setzt, und starten Sie Claude Code dann neu.
Was die Schreibblockierung verweigert und was beschreibbar bleibt
Einige Dateien von Claude Code selbst bleiben beschreibbar, etwa Plandateien, das Scratchpad, dastmp-Verzeichnis einer Hintergrundsitzung und .md-Dateien im Auto-Memory dieses Projekts.
Neben Ihren eigenen Dateien außerhalb der Arbeitsverzeichnisse verweigert die Blockierung Schreibvorgänge in:
- Einstellungsdateien von Claude Code: Claude Code verweigert diese Schreibvorgänge auch innerhalb der Arbeitsverzeichnisse, da eine Einstellungsdatei die Blockierung aufheben kann. Bearbeiten Sie Einstellungsdateien selbst.
- Ein Verzeichnis, das nur Repository-Einstellungen hinzufügen: eines, das
additionalDirectoriesnur in.claude/settings.jsonauflistet, oder in.claude/settings.local.json, sofern Git diese Datei nicht als nicht verfolgt meldet - Den Worktree eines Subagenten: Dateibearbeitungen eines Subagenten mit
isolation: worktreewerden verweigert, wenn sein Worktree außerhalb der Arbeitsverzeichnisse liegt - Auto-Memory in einem vom Repository gewählten Verzeichnis: ein Verzeichnis, das
autoMemoryDirectoryin Repository-Einstellungen angibt
/add-dir benötigt ein existierendes Verzeichnis; geben Sie für Subagenten-Worktrees daher das Verzeichnis .claude/worktrees im Stammverzeichnis des Repositorys an.
Ein Verzeichnis durch die Lese- oder Schreibblockierung lassen
Um Claude ein Verzeichnis außerhalb des Projekts erreichen zu lassen, währendblockReadsOutsideWorkingDirectories oder blockWritesOutsideWorkingDirectories auf true gesetzt ist, fügen Sie es als Arbeitsverzeichnis hinzu. Führen Sie /add-dir <directory> in der Sitzung aus, übergeben Sie --add-dir <directory> beim Start von Claude Code, oder führen Sie es unter additionalDirectories in Ihren Benutzer- oder verwalteten Einstellungen auf. Keine Allow-Regel lässt die Datei-Tools von Claude durch eine der beiden Blockierungen.
permissions.defaultMode
Legen Sie den Standard-Berechtigungsmodus für neue Sitzungen fest. Wenn Sie ihn nicht setzen, gilt der integrierte Standard für Ihre Oberfläche.
- Geltungsbereich:
Any file.autoundbypassPermissionswerden nicht aus Projekt- oder lokalen Einstellungen wirksam, daher setzen Sie sie stattdessen in~/.claude/settings.json. Vor v2.1.257 wurdebypassPermissionsaus jeder Datei wirksam. Für Konversationen, die die VS Code-Erweiterung startet, liest Claude Code nur Benutzer-, verwaltete und--settings-Werte. - Typ: Zeichenfolge, eine von:
"default": Claude Code führt nur Lesevorgänge ohne Nachfrage aus"acceptEdits": Claude Code führt auch Dateibearbeitungen und häufige Dateisystem-Befehle wiemkdirundmvohne Nachfrage aus"plan": Claude Code liest und plant, blockiert aber Bearbeitungen, bis Sie einen Plan genehmigen"auto": Claude Code läuft ohne die üblichen Nachfragen; bevor Aktionen wie Shell-Befehle und Netzwerkanfragen ausgeführt werden, prüft ein Klassifikator im Hintergrund, ob sie mit Ihrer Anfrage übereinstimmen"dontAsk": Claude Code verweigert automatisch jeden Aufruf, bei dem sonst nachgefragt würde, wobei ein von Ihnen installierter Mod einige dieser Aufrufe dennoch genehmigen kann. Dateilesevorgänge innerhalb Ihrer Arbeitsverzeichnisse, andere Aktionen, die keine Genehmigung benötigen, und vorab genehmigte Tools werden weiterhin ausgeführt, mit Ausnahme von Lesevorgängen aus Netzwerkpfaden"bypassPermissions": Claude Code führt alles ohne Nachfrage aus"manual": ein Alias für"default"
- Standard: nicht gesetzt
- Sitzungsspezifische Überschreibungen:
--permission-modeund sein Äquivalent--dangerously-skip-permissionsfürbypassPermissionshaben Vorrang vor diesem Schlüssel für eine Sitzung
settings.json
deny-Regeln blockieren in jedem Modus, einschließlich bypassPermissions. Siehe Berechtigungsmodi. In Cloud-Sitzungen berücksichtigt Claude Code nur acceptEdits, plan, default und auto aus diesem Schlüssel. Für Konversationen, die die VS Code-Erweiterung startet, siehe welche Einstellung die Erweiterung für den Start-Berechtigungsmodus liest.
permissions.denyInsteadOfPrompting
Setzen Sie diesen Schlüssel auf true, damit eine Sitzung weiterläuft, wenn niemand da ist, um eine Berechtigungsabfrage zu beantworten. Claude Code verweigert einen Tool-Aufruf, der sonst auf eine Abfrage warten würde, und der Turn wird fortgesetzt. Erfordert Claude Code v2.1.319 oder später.
Ein Aufruf wird ausgeführt, wenn eine Allow-Regel, Ihr Berechtigungsmodus oder der Klassifikator des Auto-Modus ihn genehmigt. Um die meisten Aufrufe zuzulassen, bei denen sonst nachgefragt würde, antworten Sie über einen PermissionRequest-Hook.
- Geltungsbereich:
User or managedsowie--settings. Ein Repository kann es nicht für Sie setzen. - Typ: Boolean
true: Claude Code verweigert Aufrufe, bei denen sonst nachgefragt würdefalse: dasselbe wie nicht gesetzt; Aufrufe werden trotzdem verweigert, wenn eine andere dieser Quellentruesetzt
- Standard: nicht gesetzt, daher fragt ein Aufruf, der eine Genehmigung benötigt, bei Ihnen nach
~/.claude/settings.json startet dieses Beispiel Sitzungen im Auto-Modus und verweigert alles, was dennoch auf eine Abfrage zurückfallen würde:
settings.json
-p-Ausführungen, interaktiven Terminal-Sitzungen, der VS Code-Erweiterung, lokalen Sitzungen in der Desktop-App, Subagenten und Agent-Teams. Um stattdessen in einer einzelnen nicht interaktiven Ausführung zu verweigern, was eine Abfrage auslösen würde, übergeben Sie --permission-prompts none zusammen mit -p.
Was denyInsteadOfPrompting außerdem unterbindet
Wenn die Einstellung aktiviert ist, unterbindet Claude Code außerdem diese Anfragen nach einer Antwort:
- Frage- und Plan-Tools: Claude Code lässt
AskUserQuestion,EnterPlanModeundExitPlanModeweg, sodass eine Sitzung im Plan-Modus diesen nicht von sich aus verlassen kann. Ein Teammitglied in einem Agent-Team behältEnterPlanModeundExitPlanMode - MCP-Elicitation: Claude Code bricht eine Elicitation-Anfrage ab, es sei denn, ein
Elicitation-Hook beantwortet sie - Berechtigungs-Hosts: Claude Code fragt weder Ihren
canUseTool-Callback noch--permission-prompt-tool. Um Aufrufe per Code zu genehmigen, antworten Sie über einenPermissionRequest-Hook. Einige Aufrufe werden verweigert, bevor ein Hook gefragt wird, etwa eine Entfernung kritischer Pfade imauto-Modus, die keine Ask-Regel abdeckt. - Abrechnungshinweis des Klassifikators: Wo der Hinweis zu abgerechneten Klassifikator-Anfragen einen Dialog öffnen würde, zeigt Claude Code ihn nicht an und verweigert die Aktionen, die diese Anfragen benötigen
Meldungen von denyInsteadOfPrompting
Diese Meldungen berichten über verweigerte Aufrufe. Sie sind keine Abfragen, daher wartet nichts auf Ihre Antwort.
Die Ablehnung, die Claude liest, kann mit diesem Text beginnen:
stream-json-Ausgabe melden die Ausführungen, die eine permission_denied-Nachricht ausgeben, diesen decision_reason:
-p-Ausführung meldet diesen Turn als error_during_execution.
permissions.disableBypassPermissionsMode
Verhindern Sie, dass jemand den bypassPermissions-Modus betritt. Claude Code lehnt dann das --dangerously-skip-permissions-Flag ab und ignoriert die Angabe permissionMode: bypassPermissions in einer Agent-Definition, daher wird der Subagent mit dem Berechtigungsmodus der übergeordneten Sitzung ausgeführt.
- Geltungsbereich:
Any file. Typischerweise in verwalteten Einstellungen gesetzt, um Organisationsrichtlinien durchzusetzen. - Typ: die Zeichenfolge
"disable" - Standard: nicht gesetzt
- Sitzungsspezifische Überschreibungen: Dieser Schlüssel hat Vorrang vor
--dangerously-skip-permissions, das Claude Code ablehnt, während der Schlüssel gesetzt ist
settings.json
skipAutoPermissionPrompt
Überspringen Sie die einmalige Mitteilung, die den Auto-Modus beschreibt und die Claude Code anzeigt, wenn Sie selbst zum ersten Mal den Auto-Modus betreten, beispielsweise durch Ihre eigenen Einstellungen oder den Modus-Selektor, anstatt wenn der integrierte Standard eine Sitzung darin startet. Claude Code zeigt diese Mitteilung einmal an und zeichnet dann auf, dass sie angezeigt wurde, daher ist dieser Schlüssel nur relevant, wenn die Mitteilung noch nicht angezeigt wurde.
- Geltungsbereich:
User or managed. Ein Repository kann es nicht für Sie setzen. - Typ: Boolean
true: Claude Code überspringt die Mitteilungfalse: dasselbe wie nicht gesetzt; die Mitteilung wird einmal angezeigt, es sei denn, eine andere dieser Dateien setzttrue
- Standard: nicht gesetzt, daher wird die Mitteilung einmal angezeigt
settings.json
skipDangerousModePermissionPrompt
Überspringen Sie den Bestätigungsdialog, den Claude Code anzeigt, bevor eine Sitzung den bypassPermissions-Modus betritt, ob von --dangerously-skip-permissions oder von defaultMode: "bypassPermissions". Claude Code schreibt hier true in Ihre Benutzereinstellungen, wenn Sie diesen Dialog einmal akzeptieren.
- Geltungsbereich:
User, local, or managedsowie mit--settingsübergebene Dateien. Hintergrundsitzungen berücksichtigen nur Benutzer- und verwaltete Einstellungen. Ein nicht vertrauenswürdiges Repository kann den Dialog nicht für Sie überspringen. - Typ: Boolean
true: Claude Code überspringt den Bestätigungsdialog, bevor eine Sitzung denbypassPermissions-Modus betrittfalse: dasselbe wie nicht gesetzt; der Dialog wird angezeigt, es sei denn, eine andere dieser Dateien setzttrue
- Standard: nicht gesetzt, daher wird der Dialog angezeigt
settings.json
Sandbox-Einstellungen
Isolieren Sie die Befehle, die Claude ausführt, von Ihrem Dateisystem, Ihrem Netzwerk und Ihren Anmeldedaten. Informationen zur Funktionsweise von Sandboxing und zu Plattformanforderungen finden Sie unter Sandboxing.sandbox
Isolieren Sie die Bash-Befehle, die Claude ausführt, mit Sandboxing von Ihrem Dateisystem und Netzwerk. Aktivieren Sie die Sandbox mit enabled, und grenzen Sie dann mit den Unterobjekten filesystem, network und credentials ein oder erweitern Sie, worauf in der Sandbox ausgeführte Befehle zugreifen können. Die Sandbox läuft auf macOS, Linux und WSL2.
- Bereich:
Any file - Typ: Objekt mit
enabled,failIfUnavailable,autoAllowBashIfSandboxed,excludedCommands,allowUnsandboxedCommands,enableWeakerNestedSandbox,enableWeakerNetworkIsolation,allowAppleEvents,allowNestedUserNamespaces,bwrapPath,socatPath,ignoreViolationsundripgrepsowie den Objektenfilesystem,networkundcredentials - Standard: nicht gesetzt, daher führt Claude Code Befehle ohne Sandbox aus
docker außerhalb der Sandbox aus, öffnet zwei zusätzliche Schreibpfade, verbirgt Ihre AWS-Anmeldedatei und erlaubt GitHub und npm vorab:
settings.json
enabled oder failIfUnavailable setzen, überschreibt dieser Wert alles, was ein Entwickler setzt. Claude Code führt Array-Schlüssel über die Einstellungsbereiche zusammen, die die Sitzung lädt, sodass ein Entwickler Einträge anhängen kann; siehe Keep developers from widening the policy für die Sperren, die nur in verwalteten Einstellungen gelten. Um Sandboxing für eine Organisation zu erzwingen, siehe Enforce sandboxing with managed settings.
sandbox.enabled
Aktivieren Sie Sandboxing für Bash-Befehle. Wenn Sie einen Modus im /sandbox-Panel auswählen, schreibt Claude Code diesen Schlüssel in .claude/settings.local.json für das aktuelle Projekt; setzen Sie ihn in ~/.claude/settings.json, um jedes Projekt in einer Sandbox auszuführen.
- Bereich:
Any file, mit Einschränkungen für Projekt- und lokale Einstellungen - Typ: Boolescher Wert
true: Claude Code führt Bash-Befehle in der Sandbox ausfalse: Bash-Befehle werden ohne Sandbox ausgeführt
- Standard:
false
settings.json
bubblewrap und socat; siehe Set up Linux and WSL2. Wenn die Sandbox nicht starten kann, führt Claude Code Befehle ohne Sandbox aus, es sei denn, Sie setzen auch failIfUnavailable.
sandbox.failIfUnavailable
Lassen Sie Claude Code beim Start mit einem Fehler beenden, wenn sandbox.enabled auf true steht, die Sandbox aber nicht starten kann, weil die Plattform sie nicht unterstützt oder die Abhängigkeitsprüfung fehlschlägt. Ohne diesen Schlüssel führt Claude Code Befehle ohne Sandbox aus. Verwaltete Bereitstellungen, die Sandboxing als Sicherheitsschranke vorschreiben, können diese Einstellung verwenden.
Auf einer Plattform, die die Sandbox nicht unterstützt, startet Claude Code nicht, wenn dieser Schlüssel aktiviert ist. Siehe Enforce sandboxing with managed settings.
- Bereich:
Any file, mit Einschränkungen für Projekt- und lokale Einstellungen - Typ: Boolean
true: Claude Code beendet sich beim Start mit einem Fehler, wennsandbox.enabledauftruesteht, die Sandbox aber nicht starten kann. Besteht die Sandbox diese Prüfung und schlägt danach die Initialisierung fehl, läuft die Sitzung weiter und Claude Code verweigert jeden Befehl in der Sandboxfalse: Claude Code führt Befehle ohne Sandbox aus, wenn die Sandbox nicht starten kann
- Standard:
false
failIfUnavailable auf true:
managed-settings.json
sandbox.autoAllowBashIfSandboxed
Lassen Sie Claude Code Bash-Befehle in der Sandbox ohne Berechtigungsabfrage ausführen. Befehle, die nicht in der Sandbox ausgeführt werden können, durchlaufen weiterhin den regulären Berechtigungsfluss, und deny-Regeln sowie inhaltsbezogene ask-Regeln wie Bash(git push *) gelten weiterhin; eine bloße Bash-ask-Regel wird für Befehle in der Sandbox übersprungen. Setzen Sie den Schlüssel auf false, um auch Befehle in der Sandbox durch den regulären Berechtigungsfluss zu leiten, den die Mode-Registerkarte von /sandbox als regulären Berechtigungsmodus bezeichnet.
- Bereich:
Any file - Typ: Boolescher Wert
true: Claude Code führt Bash-Befehle in der Sandbox ohne Berechtigungsabfrage aus, außer in den Fällen, die Auto-allow mode beschreibt;CLAUDE_CODE_SUBPROCESS_ENV_SCRUBdeaktiviert die automatische Freigabefalse: Befehle in der Sandbox durchlaufen den regulären Berechtigungsfluss, daher entscheiden Ihre allow-Regeln und Ihr Berechtigungsmodus. Die Mode-Registerkarte von/sandboxnennt dies regulären Berechtigungsmodus
- Standard:
true
settings.json
sandbox.excludedCommands
Benennen Sie Befehle, die Claude Code außerhalb der Sandbox ausführt, z. B. Tools, die darin nicht funktionieren. Jeder Eintrag verwendet die gleiche Syntax wie der Inhalt einer Bash(...)-Berechtigungsregel: ein exakter Befehl, ein Präfix wie docker * oder ein Wildcard-Muster. Ein Muster ohne Wildcard ist eine exakte Übereinstimmung, daher passt docker nur auf docker ohne Argumente.
Ihre Einträge nehmen einen Bash-Aufruf nur dann aus der Sandbox heraus, wenn sie jeden Befehl darin abdecken, und einige Aufrufformen bleiben selbst dann in der Sandbox. Ein docker *-Eintrag allein nimmt npm ci && docker build . nicht aus der Sandbox heraus.
- Bereich:
Any file, mit Einschränkungen für Projekt- und lokale Einstellungen - Typ: Array von Befehlsmustern
- Standard: nicht gesetzt, daher wird kein Befehl ausgeschlossen
settings.json
- Ein Befehl, der mit
sudo,evaloderxargsbeginnt - Ein
cd,pushdoderpopd, egal wo es im Aufruf erscheint - Eine Befehlsersetzung, eine Subshell oder ein Kontrollfluss-Block wie
ifoderfor - Eine Umleitung, etwa
docker build . > build.logoder ein<<EOF-Heredoc, sofern sie nicht nur einen Dateideskriptor dupliziert, wie es2>&1tut - Ein Befehlsname, der aus einer Variable stammt
- Ein
git clone,git init,git worktree add,git worktree moveodergit bundle createmit einem Pfadargument, das absolut ist, mit~beginnt oder ein..-Segment enthält
cd build && docker compose up unter einem docker *-Eintrag in der Sandbox, und das Hinzufügen eines cd-Eintrags ändert das nicht. Unter einem git *-Eintrag wird git clone <url> vendor/lib außerhalb der Sandbox ausgeführt, aber git clone <url> ~/tools bleibt in der Sandbox. Ein Clone schreibt einen ganzen Baum von Dateien, möglicherweise auch ausführbare, an die Stelle, auf die sein Zielpfad zeigt.
Ausgeschlossene Befehle durchlaufen weiterhin den regulären Berechtigungsfluss. Ausschluss ist eine Bequemlichkeit, keine Sicherheitsgrenze: Wenn ein Tool nur an eine bestimmte Stelle schreiben muss, hält filesystem.allowWrite es in der Sandbox.
Einträge aus den Einstellungsbereichen, die die Sitzung lädt, werden zu einer Liste zusammengeführt, es sei denn, die Sandbox ist vom Admin vorgeschrieben. Solange dies der Fall ist, ignoriert Claude Code Einträge in .claude/settings.json und .claude/settings.local.json, sodass ein geklontes Repository keine Befehle aus der Sandbox herausnehmen kann. Einträge in verwalteten Einstellungen, --settings und Ihrer ~/.claude/settings.json gelten weiterhin, und für diese Liste gibt es keine Sperre, die nur in verwalteten Einstellungen gilt.
sandbox.allowUnsandboxedCommands
Lassen Sie Claude einen Befehl mit dem Parameter dangerouslyDisableSandbox außerhalb der Sandbox erneut versuchen, nachdem die Sandbox ihn blockiert hat. Bei false ignoriert Claude Code diesen Parameter. Solange die Sandbox läuft, werden Befehle, die Claude ausführt, dann in der Sandbox ausgeführt, es sei denn, sie entsprechen einem excludedCommands-Eintrag. Die Overrides-Registerkarte von /sandbox zeigt diesen Zustand als Strict sandbox mode an. Ein false in verwalteten Einstellungen aktiviert den strikten Sandbox-Modus für die Entwickler, für die diese Einstellungen gelten.
- Bereich:
Any file, mit einer Einschränkung für Projekt- und lokale Einstellungen - Typ: Boolescher Wert
true: Claude kann einen Befehl mit dem ParameterdangerouslyDisableSandboxaußerhalb der Sandbox erneut versuchen, nachdem die Sandbox ihn blockiert hatfalse: Claude Code ignoriert diesen Parameter, daher werden Befehle, die Claude ausführt, solange die Sandbox läuft, in der Sandbox ausgeführt, es sei denn, sie entsprechen einemexcludedCommands-Eintrag
- Standard:
true
managed-settings.json
false aus verwalteten Einstellungen oder --settings macht die Sandbox außerdem vom Admin vorgeschrieben. Ein false in Ihren Benutzereinstellungen setzt sich gegen ein true eines Projekts durch, macht die Sandbox aber nicht vom Admin vorgeschrieben. Das Durchsetzen gegen den Wert eines Projekts erfordert Claude Code v2.1.285 oder später.
Wer einen Wiederholungsversuch ohne Sandbox genehmigt, hängt von Ihrem Berechtigungsmodus und Ihren allow-Regeln ab. Siehe The unsandboxed retry escape hatch.
Um zu sehen, wann Befehle, die Sie selbst an der !-Shell-Modus-Eingabeaufforderung eingeben, in der Sandbox ausgeführt werden, siehe strict sandbox mode.
sandbox.filesystem
Legen Sie fest, welche Pfade Befehle in der Sandbox lesen und schreiben können. Standardmäßig können sie in das Arbeitsverzeichnis, das benutzerspezifische Temp-Verzeichnis und Verzeichnisse schreiben, die Sie mit --add-dir, /add-dir oder permissions.additionalDirectories hinzufügen, und können den Rest des Dateisystems lesen, einschließlich Anmeldedateien. Erweitern oder verengen Sie dies mit den vier Pfadlisten, oder schalten Sie die Dateisystem-Schicht mit disabled aus. Siehe Filesystem isolation für die Standardgrenzen.
- Bereich:
Any file - Typ: Objekt mit den Arrays
allowWrite,denyWrite,denyReadundallowRead, plus die booleschen WerteallowManagedReadPathsOnlyunddisabled - Standard: nicht gesetzt, daher gelten die Standard-Lese- und Schreibgrenzen
settings.json
kubectl, terraform oder npm. Claude Code fügt Ihre Berechtigungsregeln zu denselben Listen hinzu: Edit-allow- und -deny-Regeln zu allowWrite und denyWrite, Read-deny-Regeln zu denyRead und WebFetch(domain:...)-allow- und -deny-Regeln zu den network-Domänenlisten.
Sofern keine Sperre greift, führt Claude Code diese Listen über die Einstellungsdateien zusammen, die die Sitzung lädt. allowManagedReadPathsOnly beschränkt allowRead auf Einträge aus verwalteten Einstellungen, und allowManagedDomainsOnly macht dasselbe für zulässige Domänen. Repository-Sperren lassen Einträge aus den Einstellungsdateien eines Repositorys weg.
Configure sandboxing behandelt Quellen, die Sie mit --setting-sources ausschließen. Wenn Sie eine Liste während einer Sitzung bearbeiten, wendet Claude Code die Änderung auf die laufende Sitzung an.
Sandbox-Pfadpräfixe
Pfade inallowWrite, denyWrite, denyRead, allowRead und credentials.files werden nach ihrem Präfix aufgelöst:
Das Präfix
//path für absolute Pfade funktioniert ebenfalls. Wenn Sie /path mit einem einzelnen Schrägstrich verwenden und eine projektrelative Auflösung erwarten, wechseln Sie zu ./path. Diese Syntax unterscheidet sich von Read and Edit permission rules, die //path für absolute und /path für projektrelative Pfade verwenden: Sandbox-Dateisystempfade folgen den Standardkonventionen, daher ist /tmp/build ein absoluter Pfad.
Claude Code entfernt einen nachgestellten Schrägstrich aus einem Verzeichnispfad, daher entsprechen ~/.aws und ~/.aws/ demselben Verzeichnis. Vor v2.1.224 gab Claude Code den nachgestellten Schrägstrich an die Sandbox weiter, und Claude konnte weiterhin Pfade unter einem denyRead- oder denyWrite-Eintrag lesen oder schreiben, der mit einem solchen Schrägstrich geschrieben war.
Wo Platzhalter in Sandbox-Pfaden funktionieren
Die Platzhalter*, ? und ** funktionieren unter macOS in allen vier sandbox.filesystem-Pfadlisten und unter Linux und WSL2 an weniger Stellen:
In
~/keys/*.pem steht der Platzhalter nach dem ersten Verzeichnisnamen, der bei einem Home-Verzeichnis /home/alice home lautet:
/sandbox in einer Sitzung vor Edit-Berechtigungsregeln, die einen anderen Platzhalter als ein abschließendes /** enthalten. Diese Platzhalter funktionieren für in der Sandbox ausgeführte Befehle nicht. Fügen Sie jeden Pfad, den die Regel abdecken soll, oder das Verzeichnis, das sie enthält, bei einer allow-Regel zu allowWrite oder bei einer deny-Regel zu denyWrite hinzu.
Verzeichnisnamen mit eckigen, geschweiften oder runden Klammern
Um ein Verzeichnis zu erlauben oder zu blockieren, dessen Name eckige Klammern enthält, schreiben Sie den Namen so, wie er ist, etwa./app/[slug]. In diesem Eintrag ist [slug] der tatsächliche Name des Verzeichnisses, einschließlich der Klammern:
/** weg. Unter macOS sowie unter Linux und WSL2 muss das Verzeichnis app/[slug] existieren, wenn der in der Sandbox ausgeführte Befehl startet.
- Eckige Klammern wie
[slug]: In jeder Liste unter macOS sowie indenyReadundallowReadunter Linux und WSL2 sind die Klammern in./app/[slug]zugleich ein Muster. Der Eintrag passt dann auch auf jeden Pfad unterapp, der aus einem Zeichen ausslugbesteht, etwaapp/soderapp/g. Steht dieser Eintrag inallowReadoder unter macOS inallowWrite, können in der Sandbox ausgeführte Befehle auch diese Pfade erreichen. Benennen Sie alle um, die sie nicht erreichen sollen. - Eckige Klammern wie
[user-id]oder[post-id], bei denen das Zeichen links vom Bindestrich nach dem rechten einsortiert wird:./app/[user-id]deckt nur das Verzeichnis mit genau diesem Namen ab, in jeder Liste auf jeder Plattform. Vor v2.1.304 konnten in der Sandbox ausgeführte Befehle unter Linux und WSL2 nicht starten, solangedenyReadoderallowReadeinen solchen Eintrag enthielt. - Geschweifte und runde Klammern: Diese sind gewöhnliche Zeichen, sodass
~/data/{keys,tokens}ein Verzeichnis namens{keys,tokens}abdeckt, nicht zwei Alternativen. Um~/data/keysund~/data/tokensabzudecken, fügen Sie jedes als eigenen Eintrag hinzu.
sandbox.filesystem.allowWrite
Fügen Sie Pfade hinzu, in die Befehle in der Sandbox schreiben können, über das Arbeitsverzeichnis, das benutzerspezifische Temp-Verzeichnis und die Verzeichnisse hinaus, die Sie mit --add-dir, /add-dir oder permissions.additionalDirectories hinzugefügt haben. Verwenden Sie es, wenn ein Unterprozess wie kubectl oder ein Build-Tool außerhalb des Projekts schreiben muss.
- Bereich:
Any file, mit Einschränkungen für Projekt- und lokale Einstellungen - Typ: Array von Pfadzeichenfolgen, unter Verwendung der Sandbox-Pfadpräfixe
- Standard: nicht gesetzt, daher können Befehle in der Sandbox in das Arbeitsverzeichnis, das benutzerspezifische Temp-Verzeichnis, Verzeichnisse, die Sie mit
--add-diroder/add-dirhinzugefügt haben, und Verzeichnisse inpermissions.additionalDirectoriesschreiben
/tmp/build schreiben und lässt kubectl Ihre kubeconfig aktualisieren:
settings.json
allowWrite-Einträge und die Pfade aus Ihren Edit(...)-allow-Berechtigungsregeln über die Einstellungsbereiche zusammen, die die Sitzung lädt, und lässt dabei die aus Repository-Einstellungen weg, solange permissions.blockReadsOutsideWorkingDirectories aktiviert ist. Repository-Sperren können die Einträge eines Repositorys ebenfalls weglassen. Ein allowWrite-Eintrag kann einen geschützten Pfad nicht freigeben.
sandbox.filesystem.denyWrite
Verhindern Sie, dass Befehle in der Sandbox in bestimmte Pfade schreiben, einschließlich Pfaden in einem Verzeichnis, das ansonsten beschreibbar ist.
- Bereich:
Any file - Typ: Array von Pfadzeichenfolgen, unter Verwendung der Sandbox-Pfadpräfixe
- Standard: nicht gesetzt
settings.json
Edit(...)-deny-Berechtigungsregeln hinzu.
sandbox.filesystem.denyRead
Verhindern Sie, dass Befehle in der Sandbox bestimmte Pfade lesen, z. B. Anmeldedateien, die die Standard-Leserichtlinie ansonsten offenlegen würde. Um eine Anmeldedatei zu schützen und sie über den Sandbox-Proxy nutzbar zu halten, siehe stattdessen sandbox.credentials.
- Bereich:
Any file - Typ: Array von Pfadzeichenfolgen, unter Verwendung der Sandbox-Pfadpräfixe
- Standard: nicht gesetzt, daher behalten Befehle in der Sandbox den Standard-Lesezugriff, der Anmeldedateien wie
~/.aws/credentialseinschließt
settings.json
Read(...)-deny-Berechtigungsregeln hinzu. Wenn filesystem.disabled true ist, erzwingt Claude Code diese Einträge nicht.
sandbox.filesystem.allowRead
Geben Sie das Lesen für bestimmte Pfade innerhalb eines Bereichs, den denyRead blockiert, wieder frei, um einen auf den Workspace beschränkten Lesezugriff aufzubauen. Ein exakter oder Wildcard-denyRead-Eintrag bleibt innerhalb eines breiteren allowRead blockiert, wie die Überlappungstabelle zeigt. Wenn ein Wildcard-denyRead-Eintrag wie ~/**/.env auf ein Verzeichnis passt, blockiert Claude Code auch das Lesen seines Inhalts. Vor v2.1.236 gab Claude Code auf macOS die Pfade, auf die ein Wildcard-denyRead-Eintrag passte, überall dort wieder frei, wo ein breiterer allowRead-Eintrag sie abdeckte, und ließ den Inhalt eines passenden Verzeichnisses lesbar.
- Bereich:
Any file, mit Einschränkungen für Projekt- und lokale Einstellungen - Typ: Array von Pfadzeichenfolgen, unter Verwendung der Sandbox-Pfadpräfixe
- Standard: nicht gesetzt
settings.json
.-Eintrag in Projekteinstellungen zum Projekt-Root und in Benutzereinstellungen zu ~/.claude auf. Claude Code führt Einträge über die Einstellungsdateien zusammen, die die Sitzung lädt, sofern allowManagedReadPathsOnly nicht gesetzt ist, und lässt Einträge aus Repository-Einstellungen weg, solange permissions.blockReadsOutsideWorkingDirectories aktiviert ist. Repository-Sperren können die Einträge eines Repositorys ebenfalls weglassen.
sandbox.filesystem.allowManagedReadPathsOnly
Berücksichtigen Sie nur die allowRead-Einträge, die aus verwalteten Einstellungen stammen, damit Entwickler den Lesezugriff auf Pfade, die Ihre Organisation blockiert hat, nicht wieder freigeben können. Claude Code führt weiterhin denyRead-Einträge aus jedem Einstellungsbereich zusammen, den die Sitzung lädt.
- Bereich:
Managed - Typ: Boolescher Wert
true: Claude Code berücksichtigt nur dieallowRead-Einträge aus verwalteten Einstellungenfalse:allowRead-Einträge aus anderen Einstellungsdateien können einfließen
- Standard:
false
~/work wieder frei und verhindert, dass Entwickler etwas anderes freigeben:
managed-settings.json
sandbox.filesystem.disabled
Überspringen Sie die Dateisystemisolierung und behalten Sie die Netzwerkisolierung bei. Befehle in der Sandbox erhalten uneingeschränkten Lese- und Schreibzugriff auf das Host-Dateisystem, und ihr ausgehender Netzwerkverkehr bleibt auf network.allowedDomains beschränkt. Verwenden Sie dies, wenn Sie die Sandbox einsetzen, um zu steuern, wohin Befehle Verbindungen aufbauen, statt was sie schreiben.
- Bereich:
User or managed. Wenn verwaltete Einstellungensandbox.filesystemüberhaupt konfigurieren oder einensandbox.credentials.files-Eintrag mit"mode": "deny"auflisten, können nur verwaltete Einstellungen ihn setzen. - Typ: Boolescher Wert
true: Claude Code überspringt die Dateisystem-Isolierung und behält die Netzwerk-Isolierung beifalse: Die Dateisystem-Isolierung bleibt aktiv
- Standard:
false, daher bleibt die Dateisystem-Isolierung aktiv
settings.json
denyRead- noch deny-Einträge in credentials.files durch, während credentials.envVars-Einträge und angewendete mask-Einträge weiterhin funktionieren. autoAllowBashIfSandboxed ist weiterhin standardmäßig true, setzen Sie es also auf false, um weiterhin nachfragen zu lassen. Die vollständige Liste der Quellen, die den Schlüssel setzen können, und was sich bei ausgeschalteter Isolierung ändert, finden Sie unter Dateisystemisolierung deaktivieren.
sandbox.ignoreViolations
Unterdrücken Sie Sandbox-Verletzungsberichte für Pfade, bei denen Sie erwarten, dass ein Befehl sie prüft und abgewiesen wird, z. B. ein Tool, das beim Start /etc/hosts prüft, damit diese Ablehnungen weder als Verletzungen angezeigt werden noch in dem auftauchen, was Claude sieht. Die Sandbox blockiert den Zugriff weiterhin; nur der Bericht wird unterdrückt. Schlüssel sind Teilzeichenfolgen, die mit dem Befehl abgeglichen werden, wobei * auf jeden Befehl passt, und Werte sind Teilzeichenfolgen der Verletzung, die für diesen Befehl ignoriert werden sollen, z. B. ein Dateisystempfad.
- Bereich:
Any file, mit Einschränkungen für Projekt- und lokale Einstellungen - Typ: Objekt, das eine Befehlsteilzeichenfolge einem Array von Verletzungsteilzeichenfolgen zuordnet, normalerweise Pfade
- Standard: nicht gesetzt, daher wird jede Verletzung gemeldet
settings.json
sandbox.enableWeakerNestedSandbox
Führen Sie die Linux-Sandbox in einem unprivilegierten Docker-Container aus, in dem bubblewrap kein frisches /proc mounten kann. Stattdessen bindet die innere Sandbox das vorhandene /proc des Containers per Bind-Mount ein, wodurch Prozessinformationen offengelegt werden, die ein frisches Mount verbergen würde. Dies verringert die Sicherheit; verwenden Sie es nur, wenn der äußere Container bereits die benötigte Isolierung bietet.
- Bereich:
Any file, mit Einschränkungen für Projekt- und lokale Einstellungen - Typ: Boolescher Wert
true: Die innere Sandbox bindet das vorhandene/procdes Containers per Bind-Mount ein, anstatt ein frisches zu mountenfalse: Die Sandbox mountet ein frisches/proc, was in einem unprivilegierten Docker-Container nicht funktioniert
- Standard:
false
settings.json
sandbox.enableWeakerNetworkIsolation
Lassen Sie Befehle in der Sandbox auf macOS den System-TLS-Vertrauensdienst com.apple.trustd.agent erreichen. Go-basierte Tools wie gh, gcloud und terraform benötigen ihn, um TLS-Zertifikate zu überprüfen, wenn Sie network.httpProxyPort mit einem MITM-Proxy und einer benutzerdefinierten CA verwenden. Dies verringert die Sicherheit, da über den Vertrauensdienst ein potenzieller Pfad zur Datenexfiltration geöffnet wird.
- Bereich:
Any file, mit Einschränkungen für Projekt- und lokale Einstellungen - Typ: Boolescher Wert
true: Befehle in der Sandbox auf macOS könnencom.apple.trustd.agenterreichenfalse: Befehle in der Sandbox auf macOS können den System-TLS-Vertrauensdienst nicht erreichen
- Standard:
false
settings.json
excludedCommands auf; siehe Go-based CLIs fail TLS verification on macOS.
sandbox.allowAppleEvents
Lassen Sie Befehle in der Sandbox auf macOS Apple Events senden, die open, osascript und Tools, die URLs in einem Browser öffnen, benötigen; ohne diese Einstellung schlagen sie mit dem Fehler -600 fehl. Dies hebt die Isolierung der Codeausführung auf: Befehle in der Sandbox können andere Anwendungen ohne Sandbox und ohne Benutzerabfrage starten und AppleScript-Befehle an laufende Anwendungen wie Terminal senden, vorbehaltlich der macOS-Abfrage zur Automatisierungszustimmung pro App (TCC).
- Bereich:
User or managed - Typ: Boolescher Wert
true: Befehle in der Sandbox auf macOS können Apple Events sendenfalse: Befehle in der Sandbox auf macOS können keine Apple Events senden, daher schlagenopenundosascriptmit dem Fehler-600fehl
- Standard:
false
settings.json
excludedCommands hinzu. Siehe Apple Events on macOS.
sandbox.allowNestedUserNamespaces
Lässt Befehle in der Sandbox unter Linux und WSL2 User-Namespaces erstellen, die die eigene Sandbox von Chromium und Electron, ein verschachteltes bubblewrap und unshare benötigen. Wenn Sie diesen Schlüssel auf true setzen, schalten Sie eine Sicherheitsgrenze aus: Code aus einem Befehl in der Sandbox kann am Ende außerhalb der Sandbox laufen. Verwenden Sie für rootless Podman oder Buildah stattdessen excludedCommands, da die Sandbox sie auch auf andere Weise stoppt. Erfordert Claude Code v2.1.305 oder neuer.
- Geltungsbereich:
User or managed. Eintruezählt aus~/.claude/settings.json, aus mit--settingsübergebenem JSON oder aus verwalteten Einstellungen. Claude Code ignoriert eintruein der.claude/settings.jsonoder.claude/settings.local.jsoneines Projekts. In einer Sitzung, in derCLAUDE_CODE_SUBPROCESS_ENV_SCRUBauf1gesetzt ist, ignoriert Claude Code eintrueaus jeder Quelle. Einfalsezählt aus jeder Datei, gemäß dem Vorrang der Einstellungen. - Typ: Boolean
true: Befehle in der Sandbox können User-Namespaces erstellenfalse: Dieser Schlüssel erlaubt nichts zusätzlich, und es gilt der Standard der Sandbox
- Standard:
false
settings.json
credentials.files-Einträge, um einen bösartigen Befehl aufzuhalten. Im Auto-Allow-Modus kann dieser Befehl ohne Berechtigungsabfrage laufen. Wenn Ihre Organisation ein Sicherheitsteam hat, sprechen Sie sich mit diesem ab, bevor Sie den Schlüssel einschalten.
Die Lösung für Ihr Tool finden Sie unter Chromium oder rootless Podman schlägt unter Linux in der Sandbox fehl.
sandbox.ripgrep
Verweisen Sie die Sandbox auf eine eigene ripgrep-Binärdatei statt auf die, die Claude Code verwendet, z. B. wenn Ihre Plattform ein anders gebautes rg benötigt.
- Bereich:
User or managed - Typ: Objekt mit
command, dem Pfad zur ripgrep-Binärdatei, und optionalargs, einem Array von Argumenten, die vorangestellt werden - Standard: nicht gesetzt, daher verwendet die Sandbox dieselbe ripgrep-Binärdatei wie Claude Code. Das ist die gebündelte Binärdatei, sofern Sie
USE_BUILTIN_RIPGREPnicht auf0setzen
settings.json
sandbox.bwrapPath
Verweisen Sie die Sandbox auf eine bubblewrap-Binärdatei, die außerhalb von PATH installiert ist, z. B. eine mitgelieferte Kopie auf einem vom Netzwerk isolierten Host. Claude Code verwendet den Pfad sowohl für die Abhängigkeitsprüfung beim Start als auch beim Umhüllen jedes Befehls in der Sandbox.
- Bereich:
Managed. Claude Code liest es nur aus verwalteten Einstellungen, damit eine Benutzer-, Projekt- oder lokale Datei die Sandbox nicht auf eine andere Binärdatei verweisen kann. - Typ: Zeichenfolge, ein absoluter Pfad; Claude Code verwirft einen relativen Pfad und greift auf die Suche in
PATHzurück - Standard: nicht gesetzt, daher sucht Claude Code
bwrapinPATH
managed-settings.json
sandbox.socatPath
Verweisen Sie den Sandbox-Netzwerk-Proxy auf eine socat-Binärdatei, die außerhalb von PATH installiert ist.
- Bereich:
Managed - Typ: Zeichenfolge, ein absoluter Pfad; Claude Code verwirft einen relativen Pfad und greift auf die Suche in
PATHzurück - Standard: nicht gesetzt, daher sucht Claude Code
socatinPATH
managed-settings.json
sandbox.credentials
Deklarieren Sie die Anmeldedateien und Umgebungsvariablen, die vor Befehlen in der Sandbox geschützt werden sollen. Jeder Eintrag benennt eine Datei path oder eine Variable name und einen mode: deny verbirgt die Anmeldedaten in der Sandbox, und mask zeigt Befehlen in der Sandbox einen Platzhalter, während der Sandbox-Proxy bei ausgehenden Anfragen den echten Wert einsetzt. Claude Code schützt nur die Einträge, die Sie auflisten; es gibt keine integrierte Denylist für Anmeldedaten.
- Bereich:
Any file. Claude Code berücksichtigtmask-Einträge,allowPlaintextInject,awsPairsundsigv4nur aus Benutzereinstellungen, verwalteten Einstellungen und dem--settings-Flag. - Typ: Objekt mit
files,envVars,allowPlaintextInject,awsPairsundsigv4 - Standard: nicht gesetzt, daher werden keine Anmeldedaten geschützt
GITHUB_TOKEN aus Befehlen in der Sandbox:
settings.json
deny-Dateischutz ist Teil der Dateisystem-Schicht, daher gilt er nicht, wenn Sie die Dateisystem-Isolierung deaktivieren; der Schutz von Umgebungsvariablen gilt weiterhin.
Ungültige Anmeldedaten-Einträge in verwalteten Einstellungen
Wenn ein verwaltetersandbox.credentials-Eintrag die Validierung nicht besteht, schützt Claude Code die Anmeldedaten weiterhin, soweit möglich:
- Ein Eintrag in
filesoderenvVars, der noch einen gültigenpathodernameund einenmodevonmaskoderdenyhat, z. B. einer, dessenextract-Muster keine Erfassungsgruppe hat, wird mit einer Warnung aufmode: "deny"herabgestuft, sodass die Anmeldedaten blockiert statt maskiert bleiben, bis Sie den Eintrag korrigieren. Ein herabgestufterfiles-Eintrag fixiertfilesystem.disabledwie ein expliziterdeny-Eintrag, und die Warnung weist darauf hin, dass seine Lesesperre nicht erzwungen wird, wenn verwaltete Einstellungen die Dateisystem-Isolierung ausschalten. - Ein Eintrag mit einem unbekannten
modeoder einem ungültigenpathodernamewird entfernt. - In jedem Fall wird gewarnt; ob ein Eintrag herabgestuft oder entfernt wird, die verbleibenden gültigen Einträge werden weiterhin erzwungen.
sandbox.credentials.files
Schützen Sie Anmeldedateien oder Verzeichnisse vor Befehlen in der Sandbox. Mit "mode": "deny" blockiert Claude Code Lesevorgänge des Pfads in der Sandbox, dieselbe Lesesperre wie bei sandbox.filesystem.denyRead. Mit "mode": "mask" lesen Befehle in der Sandbox auf Linux und WSL2 eine Sentinel-Kopie der Datei, und der Sandbox-Proxy setzt bei ausgehenden Anfragen an die injectHosts dieses Eintrags den echten Wert ein; auf macOS ist die Datei in der Sandbox stattdessen nicht lesbar. "mode": "mask" erfordert Claude Code v2.1.221 oder später.
- Bereich:
Any file. Claude Code verwirftmask-Einträge aus der Projektdatei.claude/settings.jsonund der lokalen Datei.claude/settings.local.json. - Typ: Array von Objekten, jedes mit
pathund einemmodevon"deny"oder"mask", plus die optionalen Maskierungsfelder für Dateien - Standard: nicht gesetzt, daher werden keine Anmeldedateien geschützt
gh-Hosts-Datei, wobei der echte Wert nur bei Anfragen an api.github.com eingesetzt wird:
settings.json
sandbox.filesystem.*-Einstellungen, und Claude Code führt die Arrays aus jedem Einstellungsbereich zusammen, den die Sitzung lädt. Protect credentials behandelt, was aus Quellen, die Sie mit --setting-sources ausschließen, weiterhin gilt. mask-Einträge erfordern Claude Code v2.1.221 oder später.
Die mask-Ersetzung läuft nur über den Sandbox-Proxy, setzen Sie daher sandbox.network.tlsTerminate oder für Testnetzwerke mit einfachem HTTP allowPlaintextInject. mask gilt für eine einzelne Datei, listen Sie daher jede Anmeldedatei einzeln auf. Claude Code akzeptiert die mask-Felder bei einem deny-Eintrag, ignoriert sie aber. Mask credentials behandelt, welche Einstellungsquellen berücksichtigt werden, und Mask credential files behandelt, wann ein Eintrag auf deny zurückfällt.
Maskierungsfelder für Dateien
Einmask-Eintrag akzeptiert diese optionalen Felder. Ohne extract oder decode ersetzt Claude Code den gesamten Dateiinhalt durch einen Sentinel. Auf macOS mit aktivierter Dateisystem-Isolierung wendet Claude Code einen mask-Eintrag als deny an, bevor extract oder decode ausgeführt wird; siehe Mask credential files.
Dies maskiert nur den
oauth_token-Wert in der gh-Hosts-Datei, ersetzt jede andere Kopie davon in der Datei, macht die Datei unlesbar, wenn das Muster auf nichts passt, und setzt das echte Token nur bei Anfragen an api.github.com ein:
settings.json
sandbox.credentials.envVars
Schützen Sie Umgebungsvariablen vor Befehlen in der Sandbox. Mit "mode": "deny" entfernt Claude Code die Variable aus der Umgebung von Befehlen in der Sandbox. Mit "mode": "mask" sehen Befehle in der Sandbox einen sitzungsspezifischen Sentinel-Wert, und der Sandbox-Proxy setzt bei ausgehenden Anfragen an die injectHosts dieses Eintrags den echten Wert ein, sodass Tools wie gh und npm sich weiterhin authentifizieren, ohne jemals die echten Anmeldedaten zu besitzen.
- Bereich:
Any file. Claude Code verwirftmask-Einträge aus der Projektdatei.claude/settings.jsonund der lokalen Datei.claude/settings.local.json. - Typ: Array von Objekten, jedes mit
nameund einemmodevon"deny"oder"mask", plus die optionalen Maskierungsfelder für Umgebungsvariablen - Standard: nicht gesetzt, daher werden keine Umgebungsvariablen geschützt
NPM_TOKEN aus Befehlen in der Sandbox und maskiert GITHUB_TOKEN, wobei der echte Wert nur bei Anfragen an api.github.com eingesetzt wird:
settings.json
name muss mit einem Buchstaben oder Unterstrich beginnen und darf nur Buchstaben, Ziffern und Unterstriche enthalten. Claude Code führt die Arrays aus jedem Einstellungsbereich zusammen, den die Sitzung lädt, und wendet deny an, wenn dieselbe Variable mit beiden Modi erscheint. Protect credentials behandelt, was aus Quellen, die Sie mit --setting-sources ausschließen, weiterhin gilt.
Die mask-Ersetzung läuft nur über den Sandbox-Proxy, setzen Sie daher sandbox.network.tlsTerminate oder für Testnetzwerke mit einfachem HTTP allowPlaintextInject; siehe Mask credentials. Claude Code akzeptiert die mask-Felder bei einem deny-Eintrag, ignoriert sie aber.
Maskierungsfelder für Umgebungsvariablen
Einmask-Eintrag akzeptiert diese optionalen Felder. Ohne extract oder decode ersetzt Claude Code den gesamten Wert durch einen Sentinel. extract und decode können nicht im selben Eintrag kombiniert werden.
Dies maskiert nur das Passwort in
DATABASE_URL, entfernt die Variable, wenn das Muster auf nichts passt, und maskiert ein JWT in SERVICE_JWT, wobei jeder Claim außer api_key lesbar bleibt:
settings.json
sandbox.credentials.allowPlaintextInject
Erlauben Sie die mask-Ersetzung sowohl bei einfachen HTTP-Anfragen als auch bei TLS-terminiertem HTTPS. Bei einfachem HTTP ist die Identität des Upstream-Servers nicht verifiziert und die Anmeldedaten werden im Klartext übertragen, lassen Sie dies daher außerhalb vertrauenswürdiger Testnetzwerke deaktiviert.
- Bereich:
User or managed - Typ: Boolescher Wert
true: Claude Code erlaubt diemask-Ersetzung sowohl bei einfachen HTTP-Anfragen als auch bei TLS-terminiertem HTTPSfalse: Claude Code erlaubt diemask-Ersetzung nur bei TLS-terminiertem HTTPS
- Standard:
false
settings.json
sandbox.credentials.awsPairs
Gruppieren Sie maskierte Umgebungsvariablen, die zusammen AWS-Anmeldedaten für die SigV4-Neusignierung bilden, wenn Ihre Anmeldedaten in Variablen mit nicht standardmäßigen Namen liegen. Claude Code verknüpft das konventionelle Trio AWS_ACCESS_KEY_ID, AWS_SECRET_ACCESS_KEY und AWS_SESSION_TOKEN automatisch, wenn Sie deren vollständige Werte maskieren, daher benötigen Sie diesen Schlüssel nur für andere Namen. Erfordert Claude Code v2.1.224 oder später.
- Bereich:
User or managed - Typ: Array von Objekten, jedes mit
accessKeyIdVar,secretAccessKeyVarund optionalsessionTokenVar, diesandbox.credentials.envVars-Einträge benennen - Standard: nicht gesetzt, daher wird nur das konventionelle Trio gepaart
settings.json
mask-Eintrag für den gesamten Wert in sandbox.credentials.envVars sein, ohne extract oder decode, und kann über alle Paare hinweg nur einen Slot belegen. Außerdem gelten diese Regeln:
- Der Proxy signiert Anfragen an die Hosts neu, die in den
injectHostsdes Eintrags für die Zugriffsschlüssel-ID aufgeführt sind - Wenn
sessionTokenVargesetzt ist, sendet der Proxy das echte Token bei neu signierten Anfragen alsx-amz-security-token - Wenn Sie eine der konventionellen Variablen in einem Paar benennen, ersetzt dies die automatische Paarung
sandbox.credentials.sigv4
Wählen Sie, was der Sandbox-Proxy mit AWS-Anfrageformen macht, die er nicht neu signieren kann: streaming für aws-chunked-Streaming-Uploads, presigned für vorsignierte URLs und sigv4a für asymmetrische SigV4A-Signaturen. Dies gilt nur für Anfragen, die mit der Platzhalter-Zugriffsschlüssel-ID eines maskierten Paars signiert sind. Erfordert Claude Code v2.1.224 oder später.
- Bereich:
User or managed - Typ: Objekt mit
streaming,presignedundsigv4a, jeweils einer der folgenden Werte:"deny": Der Proxy lässt die Anfrage fehlschlagen"passthrough": Der Proxy leitet die mit dem maskierten Platzhalter signierte Anfrage weiter, sodass das Tool die eigene Ablehnung von AWS erhält
- Standard: nicht gesetzt, daher ist jede Form
"deny"
settings.json
deny lässt der Proxy die Anfrage fehlschlagen. Mit passthrough leitet der Proxy die Anfrage mit ihrer aus dem maskierten Platzhalter berechneten Signatur weiter, sodass AWS sie ablehnt und das aufrufende Tool die eigene Antwort von AWS statt eines Proxy-Fehlers erhält.
sandbox.network
Legen Sie fest, welche Hosts, Ports und Sockets Befehle in der Sandbox erreichen können. Die Sandbox leitet ausgehenden Verkehr über einen Proxy, der diese Listen erzwingt; siehe Network isolation dafür, wie der Proxy entscheidet und wann er nachfragt.
- Bereich:
Any file.strictAllowlist,allowManagedDomainsOnlyundtlsTerminatewerden aus weniger Quellen gelesen, wie ihre Einträge angeben. - Typ: Objekt mit den unten aufgeführten Unterschlüsseln
- Standard: nicht gesetzt, daher werden keine Domänen vorab erlaubt, und Ihr Berechtigungsmodus entscheidet, was mit jedem neuen Host geschieht
uploads.github.com und lässt Befehle an localhost binden:
settings.json
WebFetch(domain:...)-allow- und -deny-Berechtigungsregeln speisen dieselben Allow- und Deny-Listen.
sandbox.network.allowUnixSockets
Listen Sie die Unix-Socket-Pfade auf, mit denen Befehle in der Sandbox auf macOS eine Verbindung herstellen können. Claude Code ignoriert diese Liste auf Linux und WSL2, wo der seccomp-Filter Socket-Pfade nicht prüfen kann; verwenden Sie dort stattdessen allowAllUnixSockets.
- Bereich:
Any file, mit Einschränkungen für Projekt- und lokale Einstellungen - Typ: Array von Zeichenfolgen, jede ein Socket-Pfad
- Standard: nicht gesetzt, daher blockiert die macOS-Sandbox jeden Unix-Socket
settings.json
/var/run/docker.sock erlauben, kann ein Befehl in der Sandbox den Docker-Daemon steuern. Siehe Security limitations.
sandbox.network.allowAllUnixSockets
Lassen Sie Befehle in der Sandbox eine Verbindung zu jedem Unix-Socket herstellen. Auf Linux und WSL2 blockiert der seccomp-Filter der Sandbox socket(AF_UNIX, ...)-Aufrufe, daher ist dies dort die einzige Möglichkeit, Unix-Sockets zu erlauben. Wenn der Filter fehlt, was /sandbox auf seiner Registerkarte Dependencies meldet, blockiert die Sandbox Unix-Socket-Aufrufe nicht. Siehe Set up Linux and WSL2 dafür, woher der Filter stammt.
- Bereich:
Any file, mit Einschränkungen für Projekt- und lokale Einstellungen - Typ: Boolean
true: Befehle in der Sandbox können sich mit jedem Unix-Socket verbinden. Unter Linux und WSL2 können sie sich außerdem mit VM-Sockets verbinden, der AdressfamilieAF_VSOCKfalse: Die Sandbox blockiert Unix-Socket-Verbindungen: unter macOS mit Ausnahme der Pfade inallowUnixSocketsund unter Linux und WSL2 über den seccomp-Filter, sofern er vorhanden ist
- Standard:
false
settings.json
true außerdem wieder den Interop-Socket, der Windows-Binärdateien wie cmd.exe und powershell.exe startet.
sandbox.network.allowLocalBinding
Lassen Sie Befehle in der Sandbox auf macOS an Netzwerk-Ports lauschen, z. B. um einen Dev-Server zu starten, und sich mit jedem Port auf localhost verbinden. Ein Befehl, der auf einer Nicht-Loopback-Adresse lauscht, nimmt Verbindungen von anderen Rechnern an. Der Schlüssel hat auf Linux und WSL2 keine Wirkung, wo jeder Befehl in der Sandbox eine eigene Loopback-Schnittstelle hat. Um von Linux oder WSL2 aus einen Server auf dem Host zu erreichen, siehe A command fails to reach a server on localhost.
- Bereich:
Any file, mit Einschränkungen für Projekt- und lokale Einstellungen - Typ: Boolescher Wert
true: Befehle in der Sandbox auf macOS können auf jeder lokalen Adresse lauschen und sich mit jedem Port auf localhost verbindenfalse: Befehle in der Sandbox auf macOS können weder auf einem Port lauschen noch sich direkt mit Servern auf localhost verbinden
- Standard:
false
settings.json
sandbox.network.allowMachLookup
Listen Sie zusätzliche XPC- und Mach-Dienstnamen auf, die die macOS-Sandbox nachschlagen darf. Tools, die über XPC kommunizieren, etwa der iOS Simulator oder Playwright, benötigen ihre Dienste in dieser Liste. Befehle in der Sandbox können außerhalb der Sandbox jeden von Ihnen aufgelisteten Dienst erreichen, und die Sandbox schränkt nicht ein, was diese Dienste für diese Befehle tun.
- Bereich:
Any file, mit Einschränkungen für Projekt- und lokale Einstellungen - Typ: Array von Zeichenfolgen, jede ein Servicename; ein einzelnes nachgestelltes
*passt auf ein Präfix, und"*"allein passt auf jeden Service - Standard: nicht gesetzt
com.apple.CoreSimulator.:
settings.json
sandbox.network.allowedDomains
Erlauben Sie Domänen für ausgehenden Verkehr von Befehlen in der Sandbox vorab, sodass die Sandbox für sie nicht nachfragt. Wildcards wie *.example.com passen auf Subdomänen, und ein optionales :port-Suffix beschränkt einen Eintrag auf einen Port; ein Eintrag ohne Port passt auf jeden Port.
- Bereich:
Any file, mit Einschränkungen für Projekt- und lokale Einstellungen. Nur verwaltete Einstellungen, wennallowManagedDomainsOnlygesetzt ist. - Typ: Array von Zeichenfolgen, jede eine Domäne, ein Wildcard-Muster oder ein IP-Literal, mit einem optionalen
:port-Suffix - Standard: nicht gesetzt, daher entscheidet Ihr Berechtigungsmodus, was mit jedem neuen Host geschieht
settings.json
"[::1]" erlaubt jeden Port und "[::1]:443" einen Port. Die geklammerte Form erfordert Claude Code v2.1.229 oder später. Siehe IPv6 addresses in domain lists.
sandbox.network.deniedDomains
Blockieren Sie Domänen für ausgehenden Verkehr von Befehlen in der Sandbox, mit derselben Wildcard-, Port- und IPv6-Syntax wie bei allowedDomains. Eine blockierte Domäne bleibt blockiert, auch wenn ein allowedDomains-Eintrag ebenfalls auf sie passt.
- Bereich:
Any file - Typ: Array von Zeichenfolgen, jede eine Domäne, ein Wildcard-Muster oder ein IP-Literal, mit einem optionalen
:port-Suffix - Standard: nicht gesetzt
settings.json
allowManagedDomainsOnly gesetzt ist, sodass ein Entwickler die Denylist jederzeit verschärfen kann. Für IPv6-Literale siehe IPv6 addresses in domain lists.
Ein Eintrag, der mit dem nachgestellten Punkt geschrieben ist, der einen vollständig qualifizierten Domänennamen kennzeichnet, wie example.com., blockiert dieselben Verbindungen wie example.com.
sandbox.network.strictAllowlist
Verweigern Sie Befehlen in der Sandbox den Zugriff auf Hosts außerhalb der Allowlist, anstatt um Genehmigung zu bitten. Die Allowlist besteht aus allowedDomains plus Domänen aus WebFetch(domain:...)-allow-Regeln, oder nur aus den Einträgen der verwalteten Einstellungen, wenn allowManagedDomainsOnly gesetzt ist. Locks that apply without an admin-required sandbox behandelt die Einträge eines Repositorys. Erfordert Claude Code v2.1.219 oder später.
- Bereich:
User or managed. Ein Repository kann es weder ein- noch ausschalten. - Typ: Boolescher Wert
true: Claude Code verweigert Befehlen in der Sandbox den Zugriff auf Hosts außerhalb der Allowlistfalse: Sofern keine andere vertrauenswürdige Einstellungsdateitruesetzt, entscheidet Claude Code über einen Host außerhalb der Allowlist anhand des Berechtigungsmodus, anstatt ihn direkt zu verweigern: Im Auto-Modus prüft es den Host gegen die per-command allowed domains des Befehls, imdontAsk-Modus verweigert es, imbypassPermissions-Modus und in interaktiven Terminal-Sitzungen im Plan-Modus, in denen Bypass verfügbar ist, erlaubt es, und andernfalls fragt es bei Ihnen nach
- Standard:
false
settings.json
WebFetch folgen weiterhin ihren Berechtigungsregeln. Wenn eine der berücksichtigten Quellen es auf true setzt, bleibt es aktiv. Siehe Network isolation. Erfordert Claude Code v2.1.219 oder später.
sandbox.network.allowManagedDomainsOnly
Sperren Sie die Netzwerk-Allowlist auf das, was verwaltete Einstellungen definieren. Claude Code berücksichtigt dann nur allowedDomains und WebFetch(domain:...)-allow-Regeln aus verwalteten Einstellungen, ignoriert Domänen aus Benutzer-, Projekt-, lokalen und --settings-Einstellungen und blockiert eine nicht zulässige Domäne automatisch, anstatt nachzufragen.
- Bereich:
Managed - Typ: Boolescher Wert
true: Claude Code berücksichtigt nurallowedDomainsundWebFetch(domain:...)-allow-Regeln aus verwalteten Einstellungen und blockiert eine nicht zulässige Domäne, anstatt nachzufragenfalse: Domänen aus anderen Einstellungsdateien können in die Allowlist einfließen
- Standard:
false
managed-settings.json
true ist, ist die Sandbox vom Admin vorgeschrieben, und nur verwaltete Einstellungen können einen Proxy-Port setzen.
Blockierte Domänen werden weiterhin aus jeder Quelle zusammengeführt, die die Sitzung lädt. Siehe Keep developers from widening the policy.
sandbox.network.httpProxyPort
Verweisen Sie die Sandbox auf Ihren eigenen HTTP-Proxy statt auf den, den Claude Code ausführt. Organisationen tun dies, um HTTPS-Verkehr zu prüfen, eigene Filterregeln anzuwenden oder Anfragen zu protokollieren. Ihr Proxy übernimmt die Filterung, und Claude Code wendet seine Domänenlisten und Netzwerkabfragen nicht mehr auf den dorthin gesendeten Verkehr an. Wenn nicht gesetzt, startet Claude Code seinen eigenen Proxy für HTTP-Verkehr.
- Bereich:
Any file, sofern nicht andere Sandbox-Einstellungen einschränken, welche Dateien einen Port setzen können - Typ: Zahl, ein lokaler TCP-Port
- Standard: nicht gesetzt, daher führt Claude Code seinen eigenen Proxy aus
settings.json
socksProxyPort, wenn Ihr Proxy auch SOCKS-Verkehr übernehmen soll; wenn nur einer der beiden gesetzt ist, führt Claude Code für das andere Protokoll weiterhin seinen eigenen Proxy aus. Siehe Custom proxy configuration.
sandbox.network.socksProxyPort
Verweisen Sie die Sandbox auf Ihren eigenen SOCKS5-Proxy statt auf den, den Claude Code ausführt. Ihr Proxy übernimmt die Filterung, und Claude Code wendet seine Domänenlisten und Netzwerkabfragen nicht mehr auf den dorthin gesendeten Verkehr an. Wenn nicht gesetzt, startet Claude Code seinen eigenen Proxy für SOCKS-Verkehr.
- Bereich:
Any file, sofern nicht andere Sandbox-Einstellungen einschränken, welche Dateien einen Port setzen können - Typ: Zahl, ein lokaler TCP-Port
- Standard: nicht gesetzt, daher führt Claude Code seinen eigenen Proxy aus
settings.json
sandbox.network.tlsTerminate
Lassen Sie den Sandbox-Proxy TLS terminieren, damit er den Inhalt von HTTPS-Anfragen lesen kann. Dies ist experimentell, und die mask-Ersetzung von Anmeldedaten erfordert es. Setzen Sie {}, um eine kurzlebige Zertifizierungsstelle für die Sitzung zu generieren, oder setzen Sie caCertPath und caKeyPath, um Ihre eigene zu verwenden.
- Bereich:
User or managed. Ein Repository kann es weder einschalten noch eine Zertifizierungsstelle bereitstellen. - Typ: Objekt mit optionalen Zeichenfolgen
caCertPathundcaKeyPath, jeweils ein Dateipfad - Standard: nicht gesetzt, daher terminiert und prüft der Proxy TLS nicht
settings.json
--settings-Flag, dann Benutzereinstellungen.
Memory und Kontext
Steuern Sie, was Claude Code in den Kontext lädt, wie es komprimiert wird und wo es Memory und Pläne ablegt. Siehe Kontext verwalten und Memory.autoCompactEnabled
Lassen Sie Claude Code die Konversation automatisch komprimieren, wenn sich der Kontext dem Limit nähert. Erscheint in /config als Auto-compact, und das Umschalten dort schreibt diesen Schlüssel in Ihre Benutzereinstellungen.
- Geltungsbereich:
Any file - Typ: Boolean
true: Claude Code komprimiert die Konversation automatisch, wenn sich der Kontext dem Limit nähertfalse: Claude Code komprimiert nicht automatisch
- Standard:
true - Überschreibungen pro Sitzung:
DISABLE_AUTO_COMPACTdeaktiviert die automatische Komprimierung für eine Sitzung; welcher der beiden sie auch deaktiviert, der andere kann sie nicht wieder aktivieren
settings.json
/compact-Befehl funktioniert weiterhin, während die automatische Komprimierung deaktiviert ist. Wenn Sie die automatische Komprimierung deaktivieren, wird auch die Komprimierung im Leerlauf deaktiviert.
autoCompactWindow
Legen Sie fest, wie voll das Kontextfenster wird, bevor Claude Code automatisch komprimiert.
- Geltungsbereich:
Any file - Typ: Anzahl der Token, von
100000bis1000000. Claude Code begrenzt den Wert auf das Kontextfenster Ihres Modells; die Modellübersicht listet das Fenster jedes Modells auf - Standard: nicht gesetzt, daher wählt Claude Code ein für Ihr Modell optimiertes Fenster
- Überschreibungen pro Sitzung:
--autocompacthat für eine Sitzung Vorrang vor diesem Schlüssel, undCLAUDE_CODE_AUTO_COMPACT_WINDOWhat Vorrang vor beiden, es sei denn, Claude Code ignoriert den Wert der Variable
settings.json
/autocompact speichert ein Fenster für das aktuelle Modell unter modelSettings, das für dieses Modell Vorrang vor diesem Schlüssel in derselben Datei hat. Auto-Compact-Fenster einstellen behandelt, wie der Befehl, das Flag, die Variable und die Einstellung zusammenwirken.
autoMemoryDirectory
Speichern Sie Auto-Memory in einem Verzeichnis Ihrer Wahl statt im projektspezifischen Standardverzeichnis.
- Geltungsbereich:
Any file - Typ: String, ein absoluter oder mit
~/präfixierter Verzeichnispfad - Standard: nicht gesetzt, daher verwendet Claude Code
~/.claude/projects/<project>/memory/
settings.json
autoMemoryEnabled
Schalten Sie Auto-Memory ein oder aus. Wenn false, liest Claude nicht aus dem Auto-Memory-Verzeichnis und schreibt nicht dorthin. Sie können es auch während einer Sitzung mit /memory umschalten, was diesen Schlüssel in Ihre Benutzereinstellungen schreibt.
- Geltungsbereich:
Any file - Typ: Boolean
true: dasselbe wie nicht gesetzt; Auto-Memory bleibt aktiviert, es sei denn, etwas, das Vorrang vor diesem Schlüssel hat, deaktiviert es für die Sitzung, wie--bare, der sichere Modus oderCLAUDE_CODE_DISABLE_AUTO_MEMORYfalse: Claude liest nicht aus dem Auto-Memory-Verzeichnis und schreibt nicht dorthin
- Standard:
true - Überschreibungen pro Sitzung:
CLAUDE_CODE_DISABLE_AUTO_MEMORYhat für eine Sitzung Vorrang vor diesem Schlüssel, in beide Richtungen
settings.json
bashOutputMaxChars
Legen Sie fest, wie viele Zeichen der Ausgabe eines erfolgreichen Bash- oder PowerShell-Befehls Claude inline erhält. Wenn die Ausgabe das Limit überschreitet, speichert Claude Code sie in einer Datei und Claude erhält eine kurze Vorschau plus den Pfad der Datei. Erhöhen Sie das Limit, wenn die Befehlsausgabe, wie ein ausführlicher Build oder ein vollständiges Test-Suite-Log, routinemäßig das Standardlimit überschreitet und Sie möchten, dass Claude sie liest, ohne die Datei zu öffnen. Erfordert Claude Code v2.1.261 oder später.
- Geltungsbereich:
Any file - Typ: Anzahl der Zeichen, eine positive ganze Zahl. Claude Code begrenzt den Wert auf den Bereich
4000bis128000 - Standard: nicht gesetzt, daher erhält Claude bis zu 30.000 Zeichen inline
settings.json
BASH_MAX_OUTPUT_LENGTH.
claudeMd
Fügen Sie CLAUDE.md-ähnliche Anweisungen als von der Organisation verwaltetes Memory ein, ohne eine separate Datei bereitzustellen. Claude Code lädt den Text als verwalteten Memory-Eintrag vor Benutzer- und Projekt-CLAUDE.md-Dateien.
- Geltungsbereich:
Managed - Typ: String, der Text einer CLAUDE.md-Datei; schreiben Sie ihn wie die Datei, Markdown eingeschlossen, mit Zeilenumbrüchen als
\n - Standard: nicht gesetzt
managed-settings.json
claudeMdExcludes
Überspringen Sie bestimmte CLAUDE.md-Dateien, wenn Claude Code Memory lädt. In einem großen Monorepo verwenden Sie es, um CLAUDE.md-Dateien anderer Teams zu überspringen, die für Ihre Arbeit nicht relevant sind; Irrelevante CLAUDE.md-Dateien ausschließen im Leitfaden für große Codebases führt Sie durch diesen Fall. Muster werden gegen absolute Dateipfade abgeglichen.
- Geltungsbereich:
Any file - Typ: Array von Strings, jeweils ein Glob-Muster oder absoluter Pfad
- Standard: nicht gesetzt, daher lädt Claude Code jede CLAUDE.md, die es findet
settings.json
env
Legen Sie Umgebungsvariablen für jede Sitzung und für die Unterprozesse fest, die Claude Code von ihr aus startet. Die meisten Variablen in der Referenz der Umgebungsvariablen können hier eingetragen werden; so wenden Sie eine Variable auf jede Sitzung an oder verteilen sie an Ihr Team. Projekt- und lokale Einstellungen können einige davon nicht setzen.
- Geltungsbereich:
Any file - Typ: Objekt, das Variablennamen auf String-Werte abbildet
- Standard: nicht gesetzt
settings.json
Wie env-Werte mit Ihrer Shell interagieren
- Ein Wert hier überschreibt dieselbe Variable, die in Ihrer Shell exportiert wird, und wenn mehr als eine Einstellungsdatei eine Variable setzt, gilt die mit dem höchsten Vorrang. Variablen, die Claude Code in
envignoriert listet die Ausnahmen auf. - Wenn die Claude Desktop-App oder ein Runner einer selbst gehosteten Umgebung die Sitzung startet, hat stattdessen die von ihr bzw. ihm erstellte Start-Umgebung Vorrang: Claude Code ignoriert einen
env-Wert aus jeder Einstellungsdatei für eine Variable, die die Start-Umgebung bereits setzt. Das Debug-Log nennt jede ignorierte Variable. - Um einen Shell-Export aufzuheben, setzen Sie die Variable auf
"". Claude Code behandelt einen leeren Wert bei der Anbieterauswahl als nicht gesetzt, und Unterprozesse erben den leeren Wert. NO_COLORundFORCE_COLOR, die hier gesetzt sind, erreichen nur Unterprozesse. Um die Farben der Claude Code-Oberfläche selbst zu ändern, setzen Sie sie in Ihrer Shell, bevor Sieclaudestarten.- Werte hier stehen im Klartext in der Einstellungsdatei und erreichen jeden Unterprozess, den Claude Code startet. Für ein OTLP-Bearer-Token, das rotiert wird, verwenden Sie
otelHeadersHelper; für API-Anmeldedaten verwenden SieapiKeyHelper.
Wann Claude Code env-Werte anwendet
- Aus Benutzereinstellungen,
--settingsund verwalteten Einstellungen: beim Start und erneut in der laufenden Sitzung, wenn eine gespeicherte Änderung die zusammengeführteenvändert. - Aus Projekt- und lokalen Einstellungen: nachdem Sie dem Workspace vertrauen, oder beim Start im
-p-Modus, der niemals den Vertrauensdialog anzeigt, und erneut, wenn eine gespeicherte Änderung die zusammengeführteenvändert. - Variablen, die Claude Code als sicher einstuft, wie Modellauswahl, Timeouts und Limits sowie Feature-Toggles: beim Start aus jeder Einstellungsdatei, außer den Variablen, die Projekt- und lokale Einstellungen nicht setzen können.
- Nachdem Sie die Sitzung mit
/cdverschoben haben, ab v2.1.246: die Projekt- und lokalenenv-Werte des neuen Verzeichnisses, zusätzlich zu denen des vorherigen Verzeichnisses.
Variablen, die Claude Code in env ignoriert
-
Projekt- und lokale Einstellungen können keine Variablen setzen, die ein ausgechecktes Repository nicht steuern sollte; setzen Sie diese stattdessen in Ihrer Shell, in Benutzereinstellungen oder in verwalteten Einstellungen. Claude Code verwirft jede davon, außer einigen Werten, die Telemetrie ausschalten, und protokolliert eine Warnung, die Sie mit
claude --debugsehen können. Dazu gehören:-
Variablen, die festlegen, wo Claude Code seine eigenen Dateien speichert oder schreibt:
CLAUDE_CONFIG_DIR,CLAUDE_CODE_TMPDIRund die Verzeichnisvariablen des Betriebssystems wieHOME,TMPDIR,TMP,TEMPund dieXDG_*-Familie. -
Windows-Variablen, die die Programme und die rechnerweite Konfiguration für die Prozesse festlegen, die Claude Code startet, wie
SystemRoot,ComSpec,ProgramData,LOCALAPPDATA,PATHEXT,PSModulePathund dieProgramFiles-Familie. -
Variablen, die Sitzungsinhalte exportieren:
OTEL_LOG_RAW_API_BODIESund das detaillierte Beta-Tracing-PaarENABLE_BETA_TRACING_DETAILEDundBETA_TRACING_ENDPOINT. -
Die Variablen des OpenTelemetry-Exporters, die Telemetrie aktivieren, festlegen, wohin sie gesendet wird, oder festlegen, welche Inhalte sie erfasst:
CLAUDE_CODE_ENABLE_TELEMETRY, plus das Beta-Paar für erweiterte TelemetrieCLAUDE_CODE_ENHANCED_TELEMETRY_BETAundENABLE_ENHANCED_TELEMETRY_BETA- Die Exporter-Selektoren
OTEL_LOGS_EXPORTER,OTEL_METRICS_EXPORTERundOTEL_TRACES_EXPORTER - Die Inhaltsvariablen
OTEL_LOG_USER_PROMPTS,OTEL_LOG_ASSISTANT_RESPONSES,OTEL_LOG_TOOL_CONTENTundOTEL_LOG_TOOL_DETAILS OTEL_EXPORTER_OTLP_*-Variablen, deren Namen auf_ENDPOINT,_HEADERS,_PROTOCOL,_CERTIFICATE,_CLIENT_KEYoder_INSECUREenden, in der generischen und der signalspezifischen Form, wieOTEL_EXPORTER_OTLP_ENDPOINTundOTEL_EXPORTER_OTLP_METRICS_HEADERSOTEL_EXPORTER_PROMETHEUS_HOSTundOTEL_EXPORTER_PROMETHEUS_PORT
nonefür die drei Exporter-Selektoren und ein Aus-Wert wie0fürOTEL_LOG_USER_PROMPTS,OTEL_LOG_TOOL_CONTENTundOTEL_LOG_TOOL_DETAILS. Ein solcher Wert überschreibt dieselbe Variable in Ihren Benutzereinstellungen, aber nicht eine, die die Umgebung, aus der Sie Claude Code starten, eine--settings-Datei oder verwaltete Einstellungen setzen. Wenn eine Projekt- oder lokale Einstellungsdatei eine Variable aus dieser Gruppe setzt, zeigt eine lokale interaktive Sitzung beim Start einen Hinweis. Führen Sie/statusoderclaude doctoraus, um zu sehen, welche Claude Code ignoriert hat und welche die Telemetrie ausgeschaltet haben; beide listen Namen auf, niemals Werte. Ein nicht interaktiver Lauf mit-poder eine Agent SDK-Sitzung zeigt keinen Hinweis, überprüfen Sie daher nach dem Upgrade, ob Ihr Collector noch Daten empfängt. Wenn nicht, setzen Sie die Variablen in Ihren Benutzereinstellungen, in verwalteten Einstellungen, in der Umgebung des Jobs oder in einer Datei, die Sie mit--settingsübergeben. Das Ignorieren dieser Gruppe in Projekt- und lokalen Einstellungen erfordert Claude Code v2.1.282 oder später. -
Variablen, die ändern, wie Claude Code startet oder synchronisiert, wie
CLAUDE_CODE_PROCESS_WRAPPER,CLAUDE_CODE_SYNC_SKILLS,CLAUDE_CODE_SYNC_PLUGINS,CLAUDE_CODE_PLUGIN_CACHE_DIRundCLAUDE_CODE_PLUGIN_SEED_DIR. -
Variablen, die Ihre claude.ai-Anmeldung festlegen, wie
CLAUDE_CODE_OAUTH_TOKEN,CLAUDE_CODE_OAUTH_REFRESH_TOKENundCLAUDE_CODE_OAUTH_SCOPES. -
Die Variable
CLAUDE_AX_SCREEN_READERfür den Screenreader-Modus und die anderen Variablen, deren Namen mitCLAUDE_AX_beginnen, wieCLAUDE_AX_STARTUP_QUIET_MS. -
CLAUDE_CODE_USER_DIALOG_TIMEOUT_MS, das den Timer für einen unbeantworteten Dialog festlegt. -
CLAUDE_CODE_DISABLE_ATTACHMENTS, das die Verarbeitung von Anhängen ausschaltet. -
CLAUDE_CODE_DISABLE_FILE_MENTIONS, das verhindert, dass Claude Code@-Erwähnungen von Dateien und Verzeichnissen auflöst.
HOMEundXDG_CONFIG_HOME. Vor v2.1.290 konnten sie auch die Variablen für die Dialog-Timer undCLAUDE_CODE_DISABLE_ATTACHMENTSsetzen. -
Variablen, die festlegen, wo Claude Code seine eigenen Dateien speichert oder schreibt:
-
Sie können Code Mode mit
CLAUDE_CODE_EXPERIMENTAL_CODE_MODEüber Ihre Shell, Ihre Benutzereinstellungen oder eine--settings-Datei aktivieren, nicht jedoch über verwaltete, Projekt- oder lokale Einstellungen. Mit einer0in einer der ersten drei Quellen oder in verwalteten Einstellungen bleibt Code Mode deaktiviert, unabhängig davon, was Sie anderswo festlegen. Wenn verwaltete Einstellungen eine1enthalten, setzen Sie Ihre eigene1in den Benutzereinstellungen, da eine1in Ihrer Shell ignoriert wird -
Identitätsvariablen, die den Hosting-Umgebungen von Claude Code gehören, wie
CLAUDE_CODE_REMOTEundCLAUDE_CODE_ACCOUNT_UUID, werden aus jeder Datei ignoriert. -
CLAUDE_CODE_MESSAGING_SOCKETundCLAUDE_CODE_MESSAGING_TOKEN, die Claude Code selbst exportiert, werden aus jeder Datei ignoriert. Das Ignorieren der Socket-Variable erfordert Claude Code v2.1.224 oder später, und das Ignorieren des Tokens erfordert v2.1.228 oder später. -
CLAUDE_CODE_PROJECT_DIR_NAME, das Claude Code nur aus der Start-Umgebung liest, wird aus jeder Datei ignoriert; erfordert v2.1.234 oder später. -
CLAUDE_CODE_RESTRICTED, das Claude Code nur aus der Start-Umgebung liest, wird aus jeder Datei ignoriert. -
CLAUDE_CODE_DISABLE_POWERSHELL_CMD_RM_DENY, das Claude Code nur aus der Start-Umgebung liest, wird aus jeder Datei ignoriert. Die Variable erfordert Claude Code v2.1.283 oder später. -
CLAUDE_CODE_DISABLE_DANGEROUS_RM_TIMEOUT,CLAUDE_CODE_DISABLE_SUBSTITUTION_RM_PROMPT,CLAUDE_CODE_DISABLE_INLINE_SHELL_RM_PROMPTundCLAUDE_CODE_DISABLE_MOUNTED_DRIVE_RM_PROMPT, die Claude Code nur aus der Start-Umgebung liest, werden aus jeder Datei ignoriert. -
CLAUDE_CODE_EVEN_MORE_DANGEROUSLY_SKIP_PERMISSIONS, das Claude Code nur aus der Start-Umgebung liest, wird aus jeder Datei ignoriert. -
CLAUDE_CODE_WARN_DISK_FREE_GIBundCLAUDE_CODE_WARN_MEMORY_FREE_GIB, die Claude Code nur aus der Start-Umgebung liest, werden aus jeder Datei ignoriert. Die Variablen erfordern Claude Code v2.1.304 oder später.
fileCheckpointingEnabled
Lassen Sie Claude Code vor jeder Bearbeitung Snapshots von Dateien erstellen, damit /rewind sie wiederherstellen kann. Erscheint in /config als Rewind code (checkpoints), und das Umschalten dort schreibt diesen Schlüssel in Ihre Benutzereinstellungen.
- Geltungsbereich:
Any file - Typ: Boolean
true: Claude Code erstellt vor jeder Bearbeitung Snapshots von Dateien, damit/rewindsie wiederherstellen kannfalse: Claude Code erstellt keine Snapshots von Dateien, daher kann/rewindsie nicht wiederherstellen
- Standard:
true - Überschreibungen pro Sitzung:
CLAUDE_CODE_DISABLE_FILE_CHECKPOINTINGdeaktiviert Checkpointing für eine Sitzung; welcher der beiden es auch deaktiviert, der andere kann es nicht wieder aktivieren
settings.json
-p-Lauf oder einer Agent SDK-Sitzung ignoriert Claude Code diesen Schlüssel. Das SDK aktiviert Checkpointing mit seiner Option enableFileCheckpointing, und ein einfacher -p-Lauf benötigt CLAUDE_CODE_ENABLE_SDK_FILE_CHECKPOINTING=true. Siehe Datei-Checkpointing im Agent SDK.
idleCompaction
Die Komprimierung im Leerlauf komprimiert eine lange Konversation, von der Sie sich entfernt haben. Ihre nächste Nachricht sendet dann eine Zusammenfassung statt der gesamten Konversation. Nach der Komprimierung zeigt die Konversation einen Hinweis an:
- Terminal: eine Zeile, die mit
Compacted while idle, before the prompt cache expiredbeginnt - VS Code-Chatbereich: ein Hinweis, der
a summary written while you were awayenthält - Desktop-App: derselbe Hinweis, innerhalb einer Zeile, deren Beschriftung
Claude Code noticeenthält. Wenn Sie diese Zeile oder ihren Text nicht sehen, wechseln Sie in den Ansichtsmodus Verbose.
- Sitzung: Sie befinden sich in einer interaktiven Terminal-Sitzung, im Chatbereich der VS Code-Erweiterung oder im Code-Tab der Desktop-App, wenn die Sitzung auf Ihrem Rechner oder über SSH läuft
- Automatische Komprimierung:
autoCompactEnabledist aktiviert - Prompt-Cache: Die Konversation verwendet die einstündige Prompt-Cache-TTL
- Größe: Der Kontext der Konversation hat den Token-Schwellenwert erreicht, den Sie gegenüber seinem Standardwert von 200.000 ändern können
- Leerlaufzeit: Seit der letzten Anfrage ist etwa eine Stunde vergangen, und Ihr Computer wechselt bis dahin nicht in den Ruhezustand
false.
- Geltungsbereich:
Any file - Typ: Boolean
true: Claude Code komprimiert Konversationen im Leerlauf, die die Bedingungen erfüllenfalse: Claude Code komprimiert nicht, während sich Ihre Sitzung im Leerlauf befindet
- Standard:
true - Überschreibungen pro Sitzung:
DISABLE_AUTO_COMPACTdeaktiviert die Komprimierung im Leerlauf zusammen mit der automatischen Komprimierung
settings.json
/config aus und ändern Sie die Zeile Idle compaction. Ihre Auswahl wird in Ihren Benutzereinstellungen gespeichert und gilt sofort. Die Zeile erfordert Claude Code v2.1.302 oder später. Wenn Sie eine dieser Versionen verwenden und /config die Zeile nicht anzeigt, prüfen Sie diese Ursachen:
- Eine andere Einstellungsquelle setzt den Schlüssel: Ein Wert in verwalteten Einstellungen, im Flag
--settingsoder in einer Projekt- oder lokalen Einstellungsdatei überschreibt Ihre Benutzereinstellungen. Ändern Sie den Schlüssel stattdessen in dieser Quelle - Feature-Flags sind in einer Version vor v2.1.314 nicht verfügbar: Wo Claude Code keine Feature-Flags von Anthropic abrufen kann, wird die Komprimierung im Leerlauf nicht ausgeführt, daher gibt es nichts auszuschalten
autoCompactEnabled, um die Komprimierung im Leerlauf zu stoppen.
Schwellenwert für die Komprimierung im Leerlauf ändern
Setzen SieCLAUDE_CODE_IDLE_COMPACT_MIN_TOKENS auf die Anzahl der Token, die der Kontext einer Konversation erreichen muss, bevor die Komprimierung im Leerlauf für sie gilt. Verwenden Sie eine positive ganze Zahl. Werte unter 100000 werden auf 100000 angehoben, den niedrigsten Schwellenwert.
Beim Standardwert wird eine Konversation mit einem Kontextfenster von 200K automatisch komprimiert, bevor sie 200.000 Token erreicht. Dieses Beispiel senkt den Schwellenwert auf 150.000, sodass diese Konversationen infrage kommen:
settings.json
Komprimierung im Leerlauf in VS Code und der Desktop-App
Ein Hinweis wie dieser bedeutet, dass Claude Code Ihre bisherige Konversation durch eine Zusammenfassung ersetzt hat, mit der Claude nun weiterarbeitet:idleCompaction in ~/.claude/settings.json auf dem Rechner bzw. in der WSL-Distribution, auf dem bzw. in der die Sitzung läuft, oder in einer anderen Einstellungsdatei auf false.
plansDirectory
Wählen Sie, wo Claude Code die Plandateien speichert, die es im Plan-Modus schreibt. Claude Code löst den Pfad relativ zum Projektstamm auf.
- Geltungsbereich:
Any file - Typ: String, ein Pfad relativ zum Projektstamm
- Standard: nicht gesetzt, daher verwendet Claude Code
~/.claude/plans
settings.json
~/.claude/plans statt in dem von Ihnen festgelegten Verzeichnis:
- Außerhalb des Projektstamms: Der Pfad wird außerhalb des Projektstamms aufgelöst, wie bei
"../plans". - Backslash unter macOS, Linux und WSL: Der aufgelöste Pfad enthält einen Backslash, wie bei
"docs\\plans"im Windows-Stil. Schreiben Sie"docs/plans", was auch unter Windows funktioniert.
skillListingBudgetFraction
In jedem Turn sieht Claude eine Auflistung Ihrer Skills mit ihren Beschreibungen, und Claude Code begrenzt diese Auflistung auf einen Anteil des Kontextfensters. Wenn die Auflistung die Obergrenze überschreitet, behält Claude Code den Namen jedes Skills bei, entfernt aber die Beschreibungen der am wenigsten verwendeten Skills, sodass Claude diese Skills weiterhin aufrufen kann, aber seltener von sich aus einen davon auswählt. Erhöhen Sie diesen Schlüssel, um mehr Beschreibungen sichtbar zu halten, auf Kosten von mehr Kontext pro Turn.
- Geltungsbereich:
Any file - Typ: Zahl, ein Bruchteil größer als
0und höchstens1 - Standard:
0.01, was 1 % des Kontextfensters reserviert
settings.json
/doctor aus.
skillListingMaxDescChars
In jedem Turn sieht Claude eine Auflistung Ihrer Skills, die den description- und when_to_use-Text jedes Skills zeigt. Dieser Schlüssel begrenzt, wie viele Zeichen dieses Textes Claude Code pro Skill anzeigt; längerer Text wird an der Obergrenze abgeschnitten.
- Geltungsbereich:
Any file - Typ: Anzahl der Zeichen, eine positive ganze Zahl
- Standard:
1536
settings.json
skillListingBudgetFraction unterzubringen.
taskOutputMaxChars
Bis v2.1.276 legten Sie mit diesem Schlüssel die Anzahl der Zeichen der Ausgabe einer Hintergrundaufgabe fest, die Claude inline erhielt, wenn es die Aufgabe mit dem TaskOutput-Tool las.
Oberfläche und Terminal
Ändern Sie, wie Claude Code in Ihrem Terminal aussieht und sich verhält: Theme, Editor-Modus, Statuszeile, Spinner, Benachrichtigungen innerhalb der Sitzung und Barrierefreiheit. Siehe Terminal-Konfiguration.askUserQuestionTimeout
Lassen Sie einen unbeantworteten AskUserQuestion-Dialog nach einer Leerlaufzeit automatisch fortfahren, wobei die bereits ausgewählten Optionen übermittelt werden. Setzen Sie diesen Schlüssel, wenn Sie sich entfernen und möchten, dass Claude ohne Sie weiterarbeitet. Mit dem Standardwert warten Fragen, bis Sie sie beantworten. Wann der Timer pausiert oder gar nicht erst startet, erfahren Sie unter Timeout für automatisches Fortfahren bei Fragen.
- Geltungsbereich:
User or managed - Typ: String, einer von
"60s","5m","10m"oder"never" - Standard:
"never"
settings.json
/config als Question auto-continue timeout, das diesen Schlüssel in die Benutzereinstellungen schreibt; Claude Code blendet die Zeile aus, solange verwaltete Einstellungen oder das Flag --settings den Schlüssel setzen.
autoContinueAtUsageLimit
Nachdem ein claude.ai-Nutzungslimit Ihre Sitzung angehalten hat, in der geöffneten Sitzung warten und die Aufgabe nach dem Zurücksetzen automatisch fortsetzen. Siehe Automatisches Fortsetzen ausschalten. Erfordert Claude Code v2.1.234 oder höher.
- Geltungsbereich:
User or managed. Wird nur aus den Benutzereinstellungen,--settingsund verwalteten Einstellungen gelesen. Wenn keine davon den Schlüssel setzt, schaltet eine Projekt- oder lokale Einstellungsdatei, die ihn setzt, die Funktion aus, statt ignoriert zu werden. - Typ: Boolean
true: Nachdem ein claude.ai-Nutzungslimit Ihre Sitzung angehalten hat, wartet Claude Code in der geöffneten Sitzung und setzt die Aufgabe nach dem Zurücksetzen automatisch fortfalse: Claude Code startet das Warten nicht von selbst. Sie können das Warten weiterhin selbst starten, und zwar über das Optionsmenü für Nutzungslimits
- Standard:
true
settings.json
/config als Continue automatically at usage limit, das diesen Schlüssel in die Benutzereinstellungen schreibt; Claude Code blendet die Zeile aus, solange verwaltete Einstellungen oder das Flag --settings den Schlüssel setzen.
autoScrollEnabled
Neuer Ausgabe bis zum Ende der Konversation folgen, im Vollbild-Rendering. Schalten Sie es aus, um an der Stelle zu bleiben, zu der Sie gescrollt haben, während Claude weiterarbeitet; Berechtigungsabfragen werden weiterhin in den sichtbaren Bereich gescrollt.
- Geltungsbereich:
Any file - Typ: Boolean
true: Die Konversation folgt neuer Ausgabe bis zum Endefalse: Sie bleiben an der Stelle, zu der Sie gescrollt haben, während Claude weiterarbeitet; Berechtigungsabfragen erscheinen weiterhin unterhalb des Transkripts
- Standard:
true
settings.json
/config als Auto-scroll, wenn das Vollbild-Rendering aktiv ist, und schreibt diesen Schlüssel in die Benutzereinstellungen.
axScreenReader
Screenreader-freundliche Ausgabe rendern: einfacher Text ohne dekorative Rahmen oder Animationen. Der Screenreader-Modus verwendet den klassischen Renderer, daher hat die Einstellung tui keine Wirkung, solange er aktiv ist; angehängte Hintergrundsitzungen werden weiterhin im Vollbild gerendert.
- Geltungsbereich:
User or managed. Sie können den Schlüssel auch in einer Datei setzen, die Sie mit--settingsübergeben. Claude Code ignoriert den Schlüssel in Projekt- und lokalen Einstellungen, daher kann weder ein Repository noch Ihre eigene.claude/settings.local.jsonden Screenreader-Modus ein- oder ausschalten. - Typ: Boolean
true: Claude Code rendert einfachen Text ohne dekorative Rahmen oder Animationen und verwendet den klassischen Rendererfalse: Claude Code rendert normal
- Standard: nicht gesetzt, daher ist der Screenreader-Modus aus
- Überschreibungen pro Sitzung:
--ax-screen-readerhat Vorrang vorCLAUDE_AX_SCREEN_READER, und beide haben für eine Sitzung Vorrang vor diesem Schlüssel
settings.json
bashEditDiffEnabled
Legen Sie fest, ob Claude Code aufzeichnet, welche Dateien sich in einem Git-Repository geändert haben, während ein Bash-Befehl läuft. Wenn es sie aufzeichnet, sehen Sie nach dem Befehl deren Diff im Terminal, und Ihre PostToolUse-Bash-Hooks erhalten die Liste der geänderten Dateien.
Eine aufgeführte Datei ist nicht immer eine, die der Befehl geändert hat. Auch eine Änderung, die ein anderes Programm oder ein anderer Bash-Aufruf vorgenommen hat, während der Befehl lief, kann dort erscheinen.
Setzen Sie den Schlüssel auf true, um sie in jedem Berechtigungsmodus aufzuzeichnen. Erfordert Claude Code v2.1.269 oder höher.
- Geltungsbereich:
User or managed. Eintruezählt nur aus Ihren Benutzereinstellungen, aus mit--settingsübergebenem JSON oder aus verwalteten Einstellungen, daher kann eintruein der.claude/settings.jsonoder.claude/settings.local.jsoneines Repositorys die Aufzeichnung nicht einschalten. Einfalsein einer der beiden Repository-Dateien schaltet sie dennoch aus, es sei denn, eine Datei mit höherem Vorrang setzttrue. - Typ: Boolean
- Standard: nicht gesetzt, daher zeichnet Claude Code Änderungen im Auto-Modus und im Modus
bypassPermissionsauf, wenn es Claude anweist, Dateien über Bash zu bearbeiten - Überschreibungen pro Sitzung:
CLAUDE_CODE_BASH_EDIT_DIFFhat für eine Sitzung Vorrang vor diesem Schlüssel
settings.json
companyAnnouncements
Den Benutzern beim Start die Ankündigungen Ihrer Organisation anzeigen. Wenn Sie mehr als eine auflisten, wählt Claude Code für jede Sitzung eine zufällig aus; beim allerersten Start einer Person zeigt es den ersten Eintrag.
- Geltungsbereich:
Any file - Typ: Array von Strings
- Standard: nicht gesetzt, daher wird keine Ankündigung angezeigt
settings.json
defaultShell
Legen Sie fest, ob Bash oder PowerShell die Shell-Befehle ausführt, die Sie mit dem !-Präfix in das Eingabefeld eingeben, also die Befehle, die Claude Code direkt ausführt und der Sitzung hinzufügt.
"powershell" funktioniert nur, solange das PowerShell-Tool eingeschaltet ist. Das Tool ist standardmäßig unter Windows ohne Git Bash eingeschaltet sowie unter Windows mit Git Bash für claude.ai- und Console-Konten. In Sitzungen mit Amazon Bedrock, Google Clouds Agent Platform und Microsoft Foundry sowie unter macOS, Linux und WSL setzen Sie CLAUDE_CODE_USE_POWERSHELL_TOOL=1, um das Tool einzuschalten. Setzen Sie diese Variable auf 0, um das Tool auszuschalten.
- Geltungsbereich:
Any file - Typ: String, einer von:
"bash": Claude Code führt Ihre!-Befehle in Bash aus"powershell": Claude Code führt Ihre!-Befehle in PowerShell aus
- Standard:
"bash", oder"powershell"unter Windows, wenn Bash nicht verfügbar ist
settings.json
"powershell" fällt auf Bash zurück, wenn das PowerShell-Tool ausgeschaltet ist, und "bash" fällt auf PowerShell zurück, wenn Bash nicht installiert ist.
dialogExpiry
Legen Sie die Frist für Dialoge fest, die Claude Code an einen Remote-Client weiterleitet, etwa einen Remote-Control- oder SDK-Host, sowie für den Genehmigungsdialog einer zurückgehaltenen sitzungsübergreifenden Nachricht. Ab Claude Code v2.1.236 begrenzt dieselbe Frist auch die während der Sitzung erscheinende Zustimmungsabfrage für Fable-Nutzungsguthaben in einer Sitzung, in der möglicherweise niemand am Terminal ist. Wenn vor Ablauf der Frist keine Antwort eingeht, bricht Claude Code den Dialog ab und fährt mit seinem Standard ohne Aktion fort. Erfordert Claude Code v2.1.224 oder höher.
- Geltungsbereich:
User or managed - Typ: String, einer von
"60s","5m","10m"oder"never", was die Frist deaktiviert - Standard:
"5m" - Überschreibungen pro Sitzung:
CLAUDE_CODE_USER_DIALOG_TIMEOUT_MShat für eine Sitzung Vorrang vor diesem Schlüssel
settings.json
AskUserQuestion-Fragen verwenden eigene Abläufe und unterliegen dieser Frist nicht. Erscheint in /config als Dialog expiry, das diesen Schlüssel in die Benutzereinstellungen schreibt; die Zeile erfordert Claude Code v2.1.232 oder höher, und Claude Code blendet sie aus, solange verwaltete Einstellungen oder das Flag --settings den Schlüssel setzen.
editorMode
Wählen Sie den Tastenbelegungsmodus für die Eingabeaufforderung.
- Geltungsbereich:
Any file - Typ: String, einer von:
"normal": Standard-Tastenbelegungen in der Prompt-Eingabe"vim": Bearbeitung im vim-Stil mit den Modi NORMAL, INSERT und VISUAL
- Standard:
"normal"
settings.json
/config als Editor mode, das diesen Schlüssel in die Benutzereinstellungen schreibt.
emojiCompletionEnabled
Emoji-Vorschläge anzeigen, wenn Sie in der Prompt-Eingabe : plus einen Shortcode eingeben, und einen vollständigen Shortcode wie :heart: durch sein Emoji ersetzen. Setzen Sie den Schlüssel auf false, um beides auszuschalten.
- Geltungsbereich:
Any file - Typ: Boolean
true: Claude Code zeigt nach:Emoji-Vorschläge an und ersetzt einen vollständigen Shortcode durch sein Emojifalse: Claude Code schlägt weder Emojis vor noch ersetzt es Shortcodes
- Standard:
true
settings.json
fileSuggestion
Einen eigenen Befehl ausführen, um die @-Autovervollständigung für Dateipfade anstelle der integrierten Dateivorschläge bereitzustellen. Die integrierten Vorschläge verwenden eine schnelle Dateisystemdurchsuchung; bei einem großen Monorepo kann eine projektspezifische Indizierung, etwa ein vorab erstellter Dateiindex, besser geeignet sein.
- Geltungsbereich:
Any file. Unter den Sperren für Statuszeile und Dateivorschläge schaltet Claude Code den Befehl aus oder führt nur einen verwalteten Wert aus und überspringt Ihren ohne Warnung. - Typ: Objekt mit
type, immer"command", undcommand, dem auszuführenden Shell-Befehl - Standard: nicht gesetzt, daher verwendet Claude Code die integrierten Dateivorschläge
settings.json
@ gefolgt von einem Teil eines Pfads ein: Die Vorschläge stammen aus der Ausgabe Ihres Befehls.
Ein- und Ausgabe des Befehls
Claude Code führt den Befehl mit denselben Umgebungsvariablen wie Hooks aus, einschließlichCLAUDE_PROJECT_DIR, und hört nach fünf Sekunden auf zu warten. Der Befehl erhält auf stdin JSON mit einem Feld query, das enthält, was Sie bisher eingegeben haben:
footerLinksRegexes
Zusätzliche anklickbare Badges in der Fußzeile unterhalb des Eingabefelds rendern, wenn ein regulärer Ausdruck auf die Ausgabe eines Turns passt: Tool-Ergebnisse, einschließlich Dateiinhalten und abgerufener Seiten, sowie Claudes eigene Antworten. Verwenden Sie dies, um IDs, die von Projekt-CLIs wie Review-Tools und Issue-Trackern ausgegeben werden, in Sitzungslinks umzuwandeln.
- Geltungsbereich:
User or managed - Typ: Array von Objekten, jeweils mit
typeauf"regex"gesetzt, einem regulären Ausdruckpattern, einerurl-Vorlage und einem optionalenlabel;{name}-Platzhalter inurlundlabelwerden aus benannten Erfassungsgruppen inpatternbefüllt - Standard: nicht gesetzt, daher werden keine Badges gerendert
PROJ-1234 und erstellt jeden Link aus dem erfassten Schlüssel:
settings.json
PROJ-1234 in einem Tool-Ergebnis oder in Claudes Antwort erscheint, erscheint in der Fußzeile ein Badge PROJ-1234, das auf https://issues.example.com/browse/PROJ-1234 verlinkt.
Einschränkungen für Badges
URL, Beschriftung und Badge-Anzahl jedes Eintrags sind wie folgt begrenzt:
Wenn ein Turn abgeschlossen ist, gleicht Claude Code den regulären Ausdruck
pattern jedes Eintrags im Hauptthread mit der Ausgabe des Turns ab, daher blockiert ein langsamer regulärer Ausdruck die Oberfläche, bis er fertig ist. Verschachtelte Quantifizierer wie (a+)+$ können bei bestimmten Eingaben exponentiell lange dauern und die Sitzung einfrieren, halten Sie daher jedes pattern linear und vermeiden Sie verschachtelte + oder *.
Footer-Badges werden neben einer benutzerdefinierten Statuszeile gerendert, wenn eine konfiguriert ist; keines ersetzt das andere. Verwenden Sie eine Statuszeile für eine skriptgesteuerte Zeile, die ihren Inhalt selbst aus Sitzungsdaten berechnet, und Footer-Badges, um IDs aus der Konversation ohne Skript in Links umzuwandeln.
keybindingFlavor
In v2.1.238 bis v2.1.260 bewirkte der Wert "readline", dass Ctrl+W bis zum vorherigen Leerraum löschte statt nur das vorherige Wort.
- Geltungsbereich:
Any file - Typ: String,
"classic"oder"readline" - Standard: nicht gesetzt
maxProseWidth
Die Breite des Fließtexts in Claudes Antworten begrenzen, damit Zeilen in einem breiten Terminal lesbar bleiben. Absätze, Überschriften, Listen und Blockzitate werden innerhalb dieser Anzahl von Spalten umbrochen, während Tabellen und Codeblöcke die volle Terminalbreite behalten. Erfordert Claude Code v2.1.282 oder höher.
- Geltungsbereich:
Any file - Typ: Anzahl der Terminalspalten, eine ganze Zahl, mindestens
40. Claude Code ignoriert jeden anderen Wert - Standard: nicht gesetzt, daher wird Fließtext am Rand des Terminals umbrochen
settings.json
prefersReducedMotion
Animationen der Oberfläche wie den Spinner sowie Schimmer- und Blitzeffekte reduzieren oder ausschalten. Erscheint in /config als Reduce motion.
- Geltungsbereich:
Any file - Typ: Boolean
true: Claude Code reduziert Animationen der Oberfläche wie den Spinner sowie Schimmer- und Blitzeffekte oder schaltet sie ausfalse: wie nicht gesetzt; Claude Code zeigt seine Animationen
- Standard:
false
settings.json
promptSuggestionEnabled
Prompt-Vorschläge anzeigen oder ausblenden, also die ausgegrauten Vorhersagen, die in Ihrer Prompt-Eingabe erscheinen. Setzen Sie den Schlüssel auf false oder schalten Sie Prompt suggestions in /config aus, um sie auszublenden.
- Geltungsbereich:
Any file - Typ: Boolean
true: Sie sehen Prompt-Vorschläge in Ihrer Prompt-Eingabefalse: Claude Code blendet Prompt-Vorschläge aus
- Standard:
true - Überschreibungen pro Sitzung:
CLAUDE_CODE_ENABLE_PROMPT_SUGGESTIONhat für eine Sitzung Vorrang vor diesem Schlüssel
settings.json
DISABLE_TELEMETRY, hat dieser Schlüssel keine Wirkung, und nur CLAUDE_CODE_ENABLE_PROMPT_SUGGESTION=1 schaltet sie ein.
respectGitignore
Steuern, ob die @-Dateiauswahl Dateien auslässt, die auf .gitignore-Muster passen. Erscheint in /config als Respect .gitignore in file picker.
- Geltungsbereich:
Any file. Wenn keine Einstellungsdatei den Schlüssel setzt, greift Claude Code aufrespectGitignorein~/.claude.jsonzurück, das vom Schalter in/configgeschrieben wird. - Typ: Boolean
true: Die@-Dateiauswahl lässt Dateien aus, die auf.gitignore-Muster passenfalse: Die@-Dateiauswahl schließt Dateien ein, die auf.gitignore-Muster passen
- Standard:
true
settings.json
respondToBashCommands
Legen Sie fest, ob Claude antwortet, nachdem Sie einen Shell-Befehl mit dem !-Präfix im Eingabefeld ausgeführt haben. Standardmäßig fügt Claude Code die Ausgabe des Befehls der Konversation hinzu, und Claude antwortet darauf. Setzen Sie diesen Schlüssel auf false, um die Ausgabe ohne Antwort dem Kontext hinzuzufügen, sodass Sie mehrere Befehle ausführen und gemeinsam danach fragen können.
- Geltungsbereich:
Any file - Typ: Boolean
true: Claude Code fügt die Ausgabe des Befehls der Konversation hinzu, und Claude antwortet darauffalse: Claude Code fügt die Ausgabe ohne Antwort dem Kontext hinzu
- Standard:
true
settings.json
!-Präfix.
showClearContextOnPlanAccept
Wenn Claude im Plan-Modus einen Plan fertigstellt, zeigt es ein Genehmigungsmenü an. Das Planen kann viel Kontext verbrauchen, daher fügt dieser Schlüssel dem Menü eine erste Option hinzu, Yes, clear context and …, die den Plan genehmigt, den Konversationskontext leert und die Implementierung allein auf Grundlage des Plans beginnt. Der Rest der Beschriftung nennt den Berechtigungsmodus, in dem die Sitzung fortgesetzt wird, und zeigt, wie viel Ihres Kontexts das Planen verbraucht hat.
- Geltungsbereich:
Any file - Typ: Boolean
true: Das Menü zur Plan-Genehmigung erhält eine erste Option, Yes, clear context and …, die den Plan genehmigt und den Konversationskontext leertfalse: Das Menü zur Plan-Genehmigung zeigt keine Option zum Leeren des Kontexts
- Standard:
false
settings.json
showTurnDuration
Die Meldung zur Turn-Dauer nach jeder Antwort anzeigen oder ausblenden, etwa „Cooked for 1m 6s · done 6:05 PM“. Die Uhrzeit nach „done“ zeigt, wann der Turn beendet wurde; timeFormat und timeZone steuern ihr Format und ihre Zeitzone. Erscheint in /config als Show turn duration.
- Geltungsbereich:
Any file. Ein Wert in~/.claude.jsonaus einer älteren Version gilt, wenn keine Einstellungsdatei den Schlüssel setzt. - Typ: Boolean
true: Sie sehen nach jeder Antwort die Meldung zur Turn-Dauerfalse: Claude Code blendet die Meldung zur Turn-Dauer aus
- Standard:
true
settings.json
spellcheck
Falsch geschriebene Wörter in der Prompt-Eingabe während der Eingabe unterstreichen, mithilfe einer von Ihnen installierten Rechtschreibprüfung. Claude Code prüft nur den Text im Eingabefeld. Rechtschreibung während der Eingabe prüfen behandelt die Installation von aspell, hunspell oder ispell und was die Prüfung abdeckt. Erfordert Claude Code v2.1.235 oder höher.
- Geltungsbereich:
User or managed. Der Block aus der höchsten Ebene, die den Schlüssel setzt, gilt als Ganzes. - Typ: Objekt mit
enabled(Boolean),checker("aspell","hunspell","ispell"oder"auto"),language(String, wird an die Prüfung als Name ihres Wörterbuchs übergeben) undcolor(String, ein Terminal-Farbname,#rrggbb,rgb(r,g,b),ansi256(n)oderansi:<name>) - Standard: nicht gesetzt, daher ist die Rechtschreibprüfung aus;
checkerist standardmäßig"auto", also die erste der drei Prüfungen, die auf demPATHgefunden wird;languageist standardmäßig das eigene Wörterbuch der Prüfung;colorist standardmäßig die Fehlerfarbe des Themes
settings.json
spinnerTipsEnabled
Während Claude arbeitet, zeigt die Spinner-Zeile abwechselnd kurze Tipps zu Funktionen von Claude Code an, etwa „Use Plan Mode to prepare for a complex request before making changes. Press Shift+Tab twice to enable.“ Setzen Sie diesen Schlüssel auf false, um sie auszublenden. Erscheint in /config als Show tips.
- Geltungsbereich:
Any file - Typ: Boolean
true: Sie sehen Tipps im Spinner, während Claude arbeitetfalse: Claude Code blendet Spinner-Tipps aus
- Standard:
true
settings.json
spinnerTipsOverride
Eigene Tipps zu den Spinner-Tipps hinzufügen, die Claude Code anzeigt, während Claude arbeitet, oder die integrierten Tipps durch Ihre ersetzen. Claude Code nimmt Ihre Tipps in dieselbe Rotation auf wie die integrierten.
Wenn Sie spinnerTipsEnabled auf false setzen, blendet Claude Code alle Tipps aus, auch Ihre.
- Geltungsbereich:
Any file. Claude Code berücksichtigt Tipp-Objekte,tipsFile,labelundexcludeDefaultaus den Benutzereinstellungen, dem Flag--settingsund verwalteten Einstellungen; aus Projekt- und lokalen Einstellungen liest es nur einfache String-Tipps. - Typ: Objekt mit den Feldern
tips,tipsFile,labelundexcludeDefault, jeweils optional - Standard: nicht gesetzt, daher zeigt Claude Code nur die integrierten Tipps
tipsFile, label und die Regel aus der Zeile zum Geltungsbereich, dass Projekt- und lokale Einstellungen nur einfache Strings beitragen, erfordern Claude Code v2.1.247 oder höher.
Jeder tips-Eintrag ist ein einfacher String oder ein Objekt mit diesen Feldern:
Claude Code liest einen einfachen String als Tipp mit diesen Standardwerten und einer positionsbasierten ID, sodass sein Anzeigeverlauf zurückgesetzt wird, wenn Sie die Liste umsortieren. Geben Sie einem Tipp eine
id, um seinen Verlauf über Bearbeitungen hinweg zu behalten.
Claude Code liest höchstens 200 Tipps aus tips und tipsFile zusammen und verwirft einen ungültigen Eintrag mit einer Debug-Warnung, statt die Einstellungsdatei abzulehnen.
Verwenden Sie die übrigen Felder, um eine Tipp-Datei anzugeben, das Präfix festzulegen und die integrierten Tipps auszublenden:
tipsFile: ein absoluter oder mit~/beginnender Pfad zu einer lokalen JSON-Datei, die ein Array derselben Einträge oder ein Objekt mit einemtips-Array enthält, bis zu 256 KB. Claude Code liest die Datei einmal pro Prozess, daher lädt es Ihre Änderungen beim nächsten Start. Sie können sie nicht über serververwaltete Einstellungen festlegen; stellen Sie dort Inline-tipsbereit, oder stellen Sie den Pfad in einermanaged-settings.jsonauf dem Datenträger bereit.label: das Präfix, das Claude Code vor Tipps aus Benutzereinstellungen,--settingsund verwalteten Einstellungen anzeigt, bis zu 40 Zeichen. Der Standard istTip, dasselbe Präfix wie bei den integrierten Tipps, und Tipps aus Projekt- und lokalen Einstellungen verwenden es immer.excludeDefault: Setzen Sie es auftrue, um die integrierten Tipps auszublenden und nur Ihre anzuzeigen. Wenn Claude Code keinen Ihrer Tipps laden kann, zum Beispiel weiltipsFilenicht existiert oder jeder Eintrag ungültig ist, behält es die integrierte Rotation bei, statt einen leeren Spinner anzuzeigen.
tipsFile, label und excludeDefault jeweils aus derjenigen der verwalteten Einstellungen, des Flags --settings und der Benutzereinstellungen, die den höchsten Vorrang hat und das jeweilige Feld setzt.
Dieses Beispiel in Ihren Benutzereinstellungen fügt der Rotation einen einfachen String-Tipp und einen Objekt-Tipp unter dem Präfix Acme tip hinzu:
settings.json
label: Claude Code zeigt beide Tipps alsAcme tip: ...stattTip: ...an.- Der einfache String: Claude Code gibt ihm die Standardwerte, daher kann er gleich in der nächsten Sitzung wieder erscheinen.
id: Claude Code verknüpft den Anzeigeverlauf des zweiten Tipps mitgateway-errors, sodass seine Wartezeit weiterhin gilt, nachdem Sie Tipps hinzufügen oder umsortieren.cooldownSessions: Nachdem Claude Code den Tippgateway-errorsangezeigt hat, zeigt es ihn erst fünf Sitzungen später wieder an.priority: Wenn der Tippgateway-errorsund ein anderer Tipp gleich viele Sitzungen lang nicht angezeigt wurden, zum Beispiel wenn noch keiner von beiden angezeigt wurde, zeigt Claude Codegateway-errorszuerst an. Der einfache String hat die Standardpriorität0.
Acme tip: Run /review before opening a PR.
spinnerVerbs
Während ein Turn läuft, zeigt der Spinner ein wechselndes Verb wie „Accomplishing“, „Architecting“ oder „Baking“. Verwenden Sie diesen Schlüssel, um dieser Rotation eigene Verben hinzuzufügen oder die integrierte Liste durch Ihre zu ersetzen.
- Geltungsbereich:
Any file - Typ: Objekt mit einem Array
verbsaus Strings undmode, einer von:"append": Claude Code fügt Ihre Verben zum integrierten Satz hinzu"replace": Claude Code zeigt nur Ihre Verben
- Standard: nicht gesetzt, daher verwendet Claude Code die integrierten Verben
settings.json
"replace" mit einem leeren Array verbs behält Claude Code die integrierten Verben bei.
statusLine
Einen eigenen Befehl ausführen, um unterhalb des Prompts eine Statuszeile mit Kontext wie dem Modell, den Kosten oder dem Git-Branch zu rendern. Optionale Felder passen den Abstand an, fügen periodische erneute Ausführungen hinzu und blenden die integrierte vim-Modusanzeige aus, wenn Ihr Skript vim.mode selbst rendert.
- Geltungsbereich:
Any file. WennallowManagedHooksOnlyeingeschaltet ist oderdisableAllHooksaußerhalb verwalteter Einstellungen gesetzt ist, wird nur der Wert aus den verwalteten Einstellungen ausgeführt. - Typ: Objekt mit
typeauf"command"gesetzt und einem Stringcommand, dazu optionalpaddingals Anzahl von Zeichen,refreshIntervalals Anzahl von Sekunden, mindestens1, undhideVimModeIndicatorals Boolean - Standard: nicht gesetzt, daher keine Statuszeile
settings.json
jq und läuft in einer Shell. Entsprechungen für PowerShell und Git Bash finden Sie unter Windows-Konfiguration; die vollständige Einrichtung finden Sie unter Eine Statuszeile manuell konfigurieren.
syntaxHighlightingDisabled
Claude Code färbt Code in den Diffs, Codeblöcken und Dateivorschauen, die es im Terminal anzeigt, mit seinem integrierten Highlighter sprachabhängig ein. Setzen Sie diesen Schlüssel auf true, um sie stattdessen als einfachen Text anzuzeigen, zum Beispiel wenn die Farben nicht zu Ihrem Terminal-Theme passen oder einen Screenreader verlangsamen.
- Geltungsbereich:
Any file - Typ: Boolean
true: Claude Code schaltet die Syntaxhervorhebung in Diffs, Codeblöcken und Dateivorschauen ausfalse: Claude Code hebt die Syntax hervor
- Standard:
false
settings.json
terminalProgressBarEnabled
Manche Terminals können für das darin laufende Programm eine Fortschrittsanzeige auf dem Tab oder in der Taskleiste anzeigen. Während Claude arbeitet, meldet Claude Code dem Terminal einen laufenden Zustand, sodass Sie von einem anderen Tab oder Fenster aus sehen können, ob die Sitzung noch beschäftigt ist. Die Anzeige bleibt nach dem Ende des Turns sichtbar, solange Hintergrund-Subagenten oder dynamische Workflows noch laufen, und verschwindet, sobald die Sitzung im Leerlauf ist.
Claude Code meldet sie nur in Terminals, die die Anzeige unterstützen: ConEmu, Ghostty 1.2.0 oder höher und iTerm2 3.6.6 oder höher. Setzen Sie diesen Schlüssel auf false, damit Claude Code sie nicht mehr meldet. Erscheint in /config als Terminal progress bar.
- Geltungsbereich:
Any file. Ein Wert in~/.claude.jsonaus einer älteren Version gilt, wenn keine Einstellungsdatei den Schlüssel setzt. - Typ: Boolean
true: Sie sehen die Terminal-Fortschrittsanzeige in Terminals, die sie unterstützenfalse: Claude Code blendet die Terminal-Fortschrittsanzeige aus
- Standard:
true
settings.json
terminalTitleFromRename
Claude Code setzt den Titel Ihres Terminal-Tabs. Standardmäßig verwendet es einen Titel, den es aus der Konversation generiert, und sobald Sie der Sitzung mit /rename oder --name einen Namen geben, zeigt der Tab stattdessen diesen Namen. Setzen Sie diesen Schlüssel auf false, um den generierten Titel auf dem Tab zu behalten, auch nachdem Sie die Sitzung benannt haben. Der Name selbst gilt weiterhin, sodass /resume <name> und die Sitzungsauswahl ihn finden.
- Geltungsbereich:
Any file - Typ: Boolean
true: Der Titel des Terminal-Tabs zeigt den von Ihnen festgelegten Sitzungsnamenfalse: Der Tab behält den Titel, den Claude Code aus Ihrer Konversation generiert
- Standard:
true
settings.json
CLAUDE_CODE_DISABLE_TERMINAL_TITLE auf 1.
theme
Das Farbschema für die Oberfläche wählen. Erscheint in /config als Theme.
- Geltungsbereich:
Any file. Ein Wert in~/.claude.jsonaus einer älteren Version gilt, wenn keine Einstellungsdatei den Schlüssel setzt. - Typ: String, einer von:
"auto": passt sich dem hellen oder dunklen Hintergrund Ihres Terminals an"dark": das dunkle Theme"light": das helle Theme"dark-daltonized": das dunkle Theme mit farbenblindfreundlichen Farben"light-daltonized": das helle Theme mit farbenblindfreundlichen Farben"dark-ansi": das dunkle Theme, das nur die ANSI-Farbpalette Ihres Terminals verwendet"light-ansi": das helle Theme, das nur die ANSI-Farbpalette Ihres Terminals verwendet"custom:<slug>"oder"custom:<plugin-name>:<slug>": ein benutzerdefiniertes Theme aus~/.claude/themes/oder aus einem Plugin
- Standard:
"dark"
settings.json
timeFormat
Legen Sie fest, wie Claude Code die Uhrzeiten schreibt, die es in der Oberfläche anzeigt, etwa done 6:05 PM am Ende jeder Meldung zur Turn-Dauer und die Zeitstempel im Transkript-Viewer. Um eine Vorgabe auszuwählen, führen Sie /config aus und setzen Time format. Erfordert Claude Code v2.1.257 oder höher.
- Geltungsbereich:
Any file - Typ: String, einer von:
"auto": wie nicht gesetzt; jede Uhrzeit behält ihr integriertes Format, das bei der Meldung zur Turn-Dauer Ihrem Gebietsschema folgt"12-hour": eine 12-Stunden-Uhr"24-hour": eine 24-Stunden-Uhr"24-hour-utc": eine 24-Stunden-Uhr in UTC mitZnach den Minuten, etwa18:05Z; Claude Code ignorierttimeZonefür diese Vorgabe- Ein strftime-Muster wie
"%H:%M": Claude Code schreibt jede Uhrzeit mit dem Muster. Jeder Wert, der ein%enthält, ist ein Muster, und jeder andere Wert außerhalb der Vorgaben zählt als"auto"
- Standard:
"auto"
settings.json
/config bietet nur die Vorgaben an; um ein strftime-Muster zu verwenden, fügen Sie den Schlüssel daher einer Einstellungsdatei hinzu. Dieses Beispiel zeigt jede Uhrzeit als zweistellige 24-Stunden-Uhr:
settings.json
18:05. Im Transkript-Viewer bildet das Muster den gesamten Zeitstempel, fügen Sie daher Datumsdirektiven hinzu, wenn Sie dort das Datum sehen möchten. Dieses Beispiel stellt das Datum vor die Uhrzeit:
settings.json
2026-09-01 18:05.
timeZone
Die Uhrzeiten in der Oberfläche in einer anderen Zeitzone als der Ihres Systems anzeigen. Setzen Sie den Schlüssel auf einen IANA-Zeitzonennamen, etwa "UTC" oder "Europe/Dublin". Die Uhrzeiten, die timeFormat steuert, werden dann in dieser Zone angezeigt. Wenn timeFormat auf "24-hour-utc" steht, bleiben die Uhrzeiten in UTC, und Claude Code ignoriert diesen Schlüssel. /config hat keine Zeile für diesen Schlüssel, setzen Sie ihn daher in einer Einstellungsdatei. Erfordert Claude Code v2.1.257 oder höher.
- Geltungsbereich:
Any file - Typ: String, ein IANA-Zeitzonenname. Wenn Claude Code den Namen nicht erkennt, verwendet es Ihre Systemzeitzone
- Standard: nicht gesetzt, daher werden Uhrzeiten in Ihrer Systemzeitzone angezeigt
settings.json
tui
Den Renderer der Terminal-Oberfläche wählen. Verwenden Sie "fullscreen" für den flackerfreien Alt-Screen-Renderer mit virtualisiertem Scrollback oder "default" für den klassischen Main-Screen-Renderer. Wenn Sie /tui fullscreen oder /tui default ausführen, wird dieser Schlüssel für Sie geschrieben.
- Geltungsbereich:
Any file - Typ: String, einer von:
"default": der klassische Main-Screen-Renderer"fullscreen": der flackerfreie Alt-Screen-Renderer mit virtualisiertem Scrollback
- Standard: nicht gesetzt, daher wählt Claude Code den Renderer für Sie
- Überschreibungen pro Sitzung:
CLAUDE_CODE_NO_FLICKERundCLAUDE_CODE_DISABLE_ALTERNATE_SCREENhaben für eine Sitzung Vorrang vor diesem Schlüssel:CLAUDE_CODE_NO_FLICKER=1schaltet den Vollbildmodus ein, undCLAUDE_CODE_NO_FLICKER=0oderCLAUDE_CODE_DISABLE_ALTERNATE_SCREEN=1schaltet ihn aus; wenn beide gesetzt sind, schaltet Claude Code ihn aus
settings.json
-CC oder über SSH zu Windows behält Claude Code den klassischen Renderer bei, sofern Sie nicht CLAUDE_CODE_NO_FLICKER=1 setzen. Hintergrundsitzungen, die aus der Agentenansicht geöffnet werden, verwenden unabhängig von dieser Einstellung immer den Vollbild-Renderer.
verbose
Standardmäßig fasst das Transkript jeden Tool-Aufruf zu einer kurzen Zusammenfassung zusammen, etwa dem Befehl, den Claude ausgeführt hat, und der Zeilenanzahl seiner Ausgabe, und Sie drücken Ctrl+O, um das gesamte Transkript in die erweiterte Ansicht umzuschalten, wenn Sie die Details sehen möchten. Setzen Sie diesen Schlüssel auf true, um die vollständige Ein- und Ausgabe jedes Tool-Aufrufs direkt beim Auftreten inline anzuzeigen, was beim Debugging eines Hooks, eines MCP-Servers oder eines langen Shell-Befehls nützlich ist. Erscheint in /config als Verbose output.
- Geltungsbereich:
Any file. Ein Wert in~/.claude.jsonaus einer älteren Version gilt, wenn keine Einstellungsdatei den Schlüssel setzt. - Typ: Boolean
true: Sie sehen die vollständige Tool-Ausgabefalse: Sie sehen gekürzte Zusammenfassungen der Tool-Ausgabe
- Standard:
false - Überschreibungen pro Sitzung:
--verbosehat für eine Sitzung Vorrang vor diesem Schlüssel
settings.json
viewMode-Wert oder eine dauerhafte /focus-Auswahl überschreibt diesen Schlüssel in jeder Sitzung.
viewMode
Die Transkriptansicht festlegen, mit der Claude Code startet: "default", "verbose" oder "focus". Wenn gesetzt, überschreibt der Schlüssel sowohl die dauerhafte /focus-Auswahl als auch die Einstellung verbose.
- Geltungsbereich:
Any file - Typ: String, einer von:
"default": das normale Transkript mit gekürzter Tool-Ausgabe"verbose": das Transkript mit vollständiger Tool-Ausgabe"focus": nur Ihr letzter Prompt, eine einzeilige Zusammenfassung der Tool-Aufrufe mit Diffstats der Bearbeitungen und die abschließende Antwort. Die Fokusansicht erfordert den Vollbild-Renderer
- Standard: nicht gesetzt, daher gelten die Einstellung
verboseund Ihre letzte/focus-Auswahl - Überschreibungen pro Sitzung:
--verbosehat für eine Sitzung Vorrang vor diesem Schlüssel
settings.json
vimInsertModeRemaps
Zwei-Tasten-Sequenzen im INSERT-Modus im vim-Editor-Modus auf Escape abbilden. Jeder Schlüssel besteht aus genau zwei druckbaren Zeichen, die nacheinander eingegeben werden, und "<Esc>" ist das einzige unterstützte Ziel; Claude Code ignoriert andere Einträge.
- Geltungsbereich:
User or managed. Ein Repository kann Ihre Tastenanschläge nicht umbelegen. - Typ: Objekt, das eine Sequenz aus zwei Zeichen auf
"<Esc>"abbildet - Standard: nicht gesetzt
settings.json
editorMode nicht "vim" ist. Siehe Tastensequenzen im INSERT-Modus umbelegen.
voice
Sprachdiktat einschalten und festlegen, wie sich die Diktiertaste verhält. Claude Code schreibt dieses Objekt für Sie, wenn Sie /voice ausführen.
- Geltungsbereich:
Any file - Typ: Objekt mit
enabledals Boolean,autoSubmitals Boolean, das nur im Haltemodus gilt, undmode, einer von:"hold": Sie halten die Diktiertaste beim Sprechen gedrückt und lassen sie los, um zu stoppen"tap": Sie tippen die Taste einmal an, um die Aufnahme zu starten, und erneut, um zu senden
- Standard: nicht gesetzt, daher ist das Diktat aus; wenn
enabledauftruesteht undmodenicht gesetzt ist, verwendet Claude Code"hold"
settings.json
autoSubmit sendet den Prompt, wenn Sie die Taste im Haltemodus loslassen. Sprachdiktat erfordert ein claude.ai-Konto.
voiceEnabled
Sprachdiktat mit der einfachen Boolean-Form einschalten, die älter ist als das Objekt voice. Wenn beide gesetzt sind, gilt voice.enabled.
- Geltungsbereich:
Any file - Typ: Boolean
true: Sprachdiktat ist eingeschaltet, wenn Sie mit einem claude.ai-Konto angemeldet sind und die Richtlinie Ihrer Organisation Sprache zulässt, sofernvoice.enablednicht gesetzt istfalse: Sprachdiktat ist ausgeschaltet, sofernvoice.enablednicht gesetzt ist
- Standard: nicht gesetzt
settings.json
wheelScrollAccelerationEnabled
Die Scrollgeschwindigkeit des Mausrads bei schnellem Scrollen im Vollbild-Rendering beschleunigen. Setzen Sie den Schlüssel auf false für eine konstante Scrollrate pro Mausradraste.
- Geltungsbereich:
Any file - Typ: Boolean
true: Claude Code beschleunigt die Scrollgeschwindigkeit des Mausrads bei schnellem Scrollenfalse: Claude Code scrollt mit einer konstanten Rate pro Mausradraste
- Standard:
true
settings.json
Git und Zuordnung
Steuern Sie die Zuordnung, die Claude Code zu Commits und Pull Requests hinzufügt, und wie sie mit Git funktioniert.attribution
Passen Sie die Zuordnung an, die Claude Code zu Git-Commits und Pull Requests hinzufügt. Commits erhalten standardmäßig einen Git-Trailer wie Co-Authored-By; Pull-Request-Beschreibungen erhalten Klartext. Legen Sie jeden Teil separat mit den folgenden Unterschlüsseln fest.
- Bereich:
Any file - Typ: Objekt mit
commit- undpr-Zeichenketten und einemsessionUrl-Boolean, oderfalse, um alle Zuordnungen auszublenden. Der Wertfalseerfordert Claude Code v2.1.281 oder später; frühere Versionen lehnen ihn ab und überspringen die gesamte Benutzer-, Projekt- oder lokale Einstellungsdatei, die ihn enthält - Standard: nicht gesetzt, daher verwendet Claude Code die unter jedem Unterschlüssel angezeigte Standard-Zuordnung
attribution auf false. In einer Einstellungsdatei, die auch frühere Versionen lesen, setzen Sie stattdessen commit und pr auf leere Zeichenketten und sessionUrl auf false.
Dieses Beispiel ersetzt die Commit-Zuordnung, entfernt die Pull-Request-Zuordnung und löscht den Sitzungslink:
settings.json