Alle Einstellungen
Vollständige Referenz für jeden Claude Code settings.json-Schlüssel: wo jeder hingehört, sein Typ und Standard, sowie ein einsatzbereites Beispiel, mit einem Index aller Schlüssel.
Diese Referenzseite listet jeden Schlüssel auf, den Claude Code aus einer Einstellungsdatei liest, sowie die kurze Gruppe von Schlüsseln, die es stattdessen in ~/.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 zu seinem Eintrag. Der Geltungsbereich listet die Dateien auf, in denen er verwendet werden kann: User ist ~/.claude/settings.json, Project ist .claude/settings.json, Local ist .claude/settings.local.json, und Managed ist das, was Ihre Organisation bereitstellt. Any file bedeutet alle vier, und Global config bedeutet ~/.claude.json.
| Key | Description | Topic | Scope |
|---|---|---|---|
advisorModel |
Wählen Sie aus, welches Modell antwortet, wenn Claude das Advisor-Tool verwendet | Model and responses | Any file |
agent |
Starten Sie jede Sitzung als benannter Subagent mit seinem Prompt, seinen Tools und seinem Modell | Agents, sessions, and worktrees | Any file |
agentPushNotifEnabled |
Lassen Sie Claude eine Push-Benachrichtigung an Ihr Telefon senden, wenn es sich dafür entscheidet | Remote, desktop, and notifications | Any file |
allowAllClaudeAiMcps |
Laden Sie die claude.ai-Konnektoren, die Claude Code selbst abruft, zusammen mit einem bereitgestellten managed-mcp.json |
MCP | Managed |
allowClaudeInChromeWithManagedMcp |
Lassen Sie den integrierten Claude in Chrome-Server zusammen mit einem bereitgestellten managed-mcp.json laufen |
MCP | Managed |
allowedChannelPlugins |
Ersetzen Sie die Standard-Allowlist der Channel-Plugins, die Nachrichten pushen können | Plugins and skills | Managed |
allowedHttpHookUrls |
Begrenzen Sie, welche URLs HTTP-Hooks ansteuern können | Hooks and automation | Any file |
allowedMcpServers |
Allowlist, welche MCP-Server Benutzer hinzufügen können | MCP | Any file |
allowedProviders |
Begrenzen Sie, welche API-Anbieter ein Computer verwenden darf | Authentication and providers | Managed |
allowManagedHooksOnly |
Führen Sie nur die Hooks aus, die Ihre Organisation bereitstellt | Hooks and automation | Managed |
allowManagedMcpServersOnly |
Machen Sie die verwaltete MCP-Allowlist zur einzigen, die gilt | MCP | Managed |
allowManagedPermissionRulesOnly |
Machen Sie verwaltete Einstellungen zur einzigen Einstellungsquelle für Berechtigungsregeln | Permission settings | Managed |
alwaysThinkingEnabled |
Schalten Sie Extended Thinking für jede Sitzung aus | Model and responses | Any file |
apiKeyHelper |
Generieren Sie die API-Anmeldedaten mit Ihrem eigenen Befehl | Authentication and providers | Any file |
askUserQuestionTimeout |
Lassen Sie eine unbeantwortete Frage automatisch fortfahren nach Leerlaufzeit | Interface and terminal | User or managed |
appendPlugins |
Führen Sie die Mods Ihrer Organisation nach jedem Mod aus, den ein Benutzer installiert | Plugins and skills | User or managed |
attribution |
Passen Sie die Zuschreibung an, die Claude Code zu Commits und Pull Requests hinzufügt | Git and attribution | Any file |
attribution.commit |
Ändern oder verbergen Sie den Trailer, den Claude Code zu Commits hinzufügt | Git and attribution | Any file |
attribution.pr |
Ändern oder verbergen Sie die Zuschreibungszeile in Pull-Request-Beschreibungen | Git and attribution | Any file |
attribution.sessionUrl |
Lassen Sie den claude.ai-Sitzungslink aus Cloud- und Remote-Control-Commits weg | Git and attribution | Any file |
autoCompactEnabled |
Schalten Sie automatische Komprimierung aus oder ein | Memory and context | Any file |
autoCompactWindow |
Legen Sie fest, wie voll der Kontext wird, bevor Claude Code komprimiert | Memory and context | Any file |
autoConnectIde |
Verbinden Sie sich automatisch mit einer laufenden VS Code- oder JetBrains-IDE von einem externen Terminal aus | Global config settings | Global config |
autoContinueAtUsageLimit |
Warten Sie in der offenen Sitzung und fahren Sie die Aufgabe automatisch fort, nachdem ein claude.ai-Nutzungslimit zurückgesetzt wird | Interface and terminal | User or managed |
autoInstallIdeExtension |
Schalten Sie die automatische Installation der IDE-Erweiterung von einem VS Code-Terminal aus | Global config settings | Global config |
autoMemoryDirectory |
Speichern Sie Auto-Memory in einem Verzeichnis Ihrer Wahl | Memory and context | Any file |
autoMemoryEnabled |
Schalten Sie Auto-Memory aus oder ein | Memory and context | Any file |
autoMode |
Fügen Sie Ihre eigenen Allow- und Deny-Regeln zum Auto-Modus-Klassifikator hinzu | Permission settings | User or managed |
autoMode.classifyAllShell |
Senden Sie jeden Shell-Befehl durch den Auto-Modus-Klassifikator, auch solche, die eine enge Allow-Regel erfüllen | Permission settings | User or managed |
autoScrollEnabled |
Folgen Sie neuer Ausgabe zum unteren Ende beim Vollbild-Rendering | Interface and terminal | Any file |
autoUpdatesChannel |
Folgen Sie dem stabilen Release-Kanal statt dem neuesten | Updates and versioning | Any file |
availableModels |
Beschränken Sie, welche Modelle Personen auswählen können | Model and responses | Any file |
availableModelsMatch |
Sorgen Sie dafür, dass jeder Modell-ID-Eintrag in availableModels nur die darin genannte Version zulässt |
Model and responses | Managed |
awaySummaryEnabled |
Schalten Sie die Sitzungszusammenfassung aus, die angezeigt wird, wenn Sie zum Terminal zurückkehren | Remote, desktop, and notifications | Any file |
awsAuthRefresh |
Aktualisieren Sie abgelaufene Bedrock-Anmeldedaten in .aws mit Ihrem eigenen Befehl |
Authentication and providers | Any file |
awsCredentialExport |
Stellen Sie Bedrock-Anmeldedaten als JSON aus Ihrem eigenen Befehl bereit | Authentication and providers | Any file |
axScreenReader |
Rendern Sie bildschirmleserfreundliche Ausgabe | Interface and terminal | Any file |
bashEditDiffEnabled |
Zeichnen Sie die Dateien auf, die sich während der Ausführung eines Bash-Befehls geändert haben in jedem Berechtigungsmodus | Interface and terminal | User or managed |
bashOutputMaxChars |
Legen Sie fest, wie viel der Ausgabe eines erfolgreichen Befehls Claude inline erhält | Memory and context | Any file |
blockedMarketplaces |
Blockieren Sie Plugin-Marketplace-Quellen für Ihre Organisation | Plugins and skills | Managed |
browserExternalPageTools |
Halten Sie Claudes Tools auf externen Seiten im Desktop-Browser-Bereich aus | Tools | Managed |
channelsEnabled |
Ermöglichen Sie Channels für Ihre Organisation | Plugins and skills | Managed |
claudeInChromeDefaultEnabled |
Schalten Sie die Chrome-Integration beim Start einer Sitzung ein, in der interaktiven CLI und der VS Code-Erweiterung | Global config settings | Global config |
claudeMd |
Injizieren Sie organisationsweite CLAUDE.md-Anweisungen aus verwalteten Einstellungen | Memory and context | Managed |
claudeMdExcludes |
Überspringen Sie spezifische CLAUDE.md-Dateien beim Laden des Gedächtnisses | Memory and context | Any file |
cleanupPeriodDays |
Wählen Sie, wie viele Tage Claude Code Transkripte behält, bevor sie gelöscht werden | Privacy and telemetry | Any file |
companyAnnouncements |
Zeigen Sie die Ankündigungen Ihrer Organisation beim Start an | Interface and terminal | Any file |
copyFullResponse |
Lassen Sie /copy die vollständige Antwort kopieren, ohne die Auswahl anzuzeigen |
Global config settings | Global config |
copyOnSelect |
Schalten Sie das automatische Kopieren von Text aus, den Sie mit der Maus im Vollbild-Rendering und in der Agent-Ansicht auswählen | Global config settings | Global config |
crossSessionInbound |
Wählen Sie, ob Claude Code Nachrichten von Ihren anderen Sitzungen liefert, einen Hinweis anzeigt, ohne sie zu liefern, oder sie ablehnt | Agents, sessions, and worktrees | Any file |
defaultShell |
Wählen Sie, ob Bash oder PowerShell die Shell-Befehle ausführt, die Sie mit dem !-Präfix eingeben |
Interface and terminal | Any file |
defaultToAgentsView |
Öffnen Sie die Agent-Ansicht statt einer neuen Konversation, wenn Sie claude ohne Argumente ausführen |
Global config settings | Global config |
deniedMcpServers |
Blockieren Sie spezifische MCP-Server nach URL, Befehl oder Name | MCP | Any file |
deniedModels |
Blockieren Sie bestimmte Modelle, auch solche, die availableModels zulässt |
Model and responses | Managed |
desktopSessionCleanupPeriodDays |
Legen Sie ein Alterslimit in Tagen für Claude Desktop- und Cowork-Transkripte fest | Privacy and telemetry | User or managed |
dialogExpiry |
Legen Sie fest, wie lange Claude Code auf eine Antwort von Remote Control oder einem SDK-Host auf einen weitergeleiteten Dialog wartet, bevor der Dialog abgebrochen wird | Interface and terminal | User or managed |
diffTool |
Wählen Sie, ob Claudes vorgeschlagene Dateiänderungen im VS Code- oder JetBrains-Diff-Viewer geöffnet werden oder im Terminal bleiben | Global config settings | Global config |
disableAgentView |
Schalten Sie Hintergrund-Agenten und Agent-Ansicht aus | Agents, sessions, and worktrees | Any file |
disableAllHooks |
Schalten Sie Hooks, eine benutzerdefinierte Statuszeile und einen benutzerdefinierten @-Dateivorschlag-Befehl auf einmal aus |
Hooks and automation | Any file |
disableArtifact |
Veraltet; verwenden Sie enableArtifact, um das Artifact-Tool auszuschalten |
Remote, desktop, and notifications | Any file |
disableAutoMode |
Entfernen Sie Auto-Modus aus dem Berechtigungsmodus-Zyklus | Permission settings | Any file |
disableBrowserExternalNavigation |
Beschränken Sie den Desktop-Browser-Bereich auf localhost für Personen und Claude | Tools | Managed |
disableBundledSkills |
Schalten Sie die Skills und Workflows aus, die mit Claude Code enthalten sind | Plugins and skills | Any file |
disableClaudeAiConnectors |
Schalten Sie claude.ai-Konnektoren aus, damit Claude Code sie nicht abruft | MCP | Any file |
disableCommandPluginSources |
Blockieren Sie Plugins, die durch Ausführung eines vom Marketplace deklarierten Befehls installiert werden | Plugins and skills | Managed |
disableDeepLinkRegistration |
Verhindern Sie, dass Claude Code den claude-cli://-Handler registriert |
Remote, desktop, and notifications | Any file |
disableDesktopLocalSessions |
Schalten Sie Desktop Code-Sitzungen aus, die auf dem Gerät ausgeführt werden, und lassen Sie SSH zu anderen Hosts und Cloud | Remote, desktop, and notifications | Managed |
disabledMcpjsonServers |
Lehnen Sie spezifische Server aus der .mcp.json eines Projekts ab |
MCP | Any file |
disableMobileSimulatorTools |
Blockieren Sie Claudes Tools im Desktop-iOS-Simulator-Bereich | Tools | Managed |
disableRemoteControl |
Schalten Sie Remote Control überall dort aus, wo es starten kann | Remote, desktop, and notifications | Any file |
disableSideloadFlags |
Lehnen Sie die CLI-Flags ab, die Plugins, Subagenten und MCP-Server sideloaden | Enterprise and managed settings | Managed |
disableSkillShellExecution |
Verhindern Sie, dass Skills und benutzerdefinierte Befehle Inline-Shell ausführen | Plugins and skills | Any file |
disableWorkflows |
Schalten Sie dynamische Workflows für alle aus; verwenden Sie enableWorkflows für sich selbst |
Hooks and automation | Any file |
editorMode |
Verwenden Sie vim-Tastenbindungen in der Eingabeaufforderung | Interface and terminal | Any file |
effortLevel |
Legen Sie eine Standard-Effort-Stufe für Modelle ohne eine eigene gespeicherte Stufe fest | Model and responses | Any file |
emojiCompletionEnabled |
Schalten Sie :shortcode:-Emoji-Vorschläge und -Ersetzung in der Eingabeaufforderung aus |
Interface and terminal | Any file |
enableAllProjectMcpServers |
Genehmigen Sie jeden Server in Projekt-.mcp.json-Dateien ohne Rückfrage |
MCP | Any file |
enableArtifact |
Schalten Sie das Artifact-Tool mit einem false in einer beliebigen Datei aus; keine Datei kann es wieder einschalten |
Remote, desktop, and notifications | Any file |
enabledMcpjsonServers |
Genehmigen Sie spezifische Server aus der .mcp.json eines Projekts |
MCP | Any file |
enabledPlugins |
Schalten Sie einzelne Plugins pro Geltungsbereich ein oder aus | Plugins and skills | Any file |
enableWorkflows |
Schalten Sie dynamische Workflows gegen den Standard Ihres Plans ein oder aus | Hooks and automation | Any file |
enforceAvailableModels |
Halten Sie die /model-Standardauswahl innerhalb Ihrer availableModels-Allowlist |
Model and responses | Any file |
env |
Legen Sie Umgebungsvariablen für jede Sitzung und ihre Unterprozesse fest | Memory and context | Any file |
externalEditorContext |
Zeigen Sie Claudes letzte Antwort als Kommentare an, wenn Sie Strg+G drücken, um zu bearbeiten | Global config settings | Global config |
extraKnownMarketplaces |
Registrieren Sie Marketplaces für ein Repository oder eine Organisation | Plugins and skills | Any file |
fallbackModel |
Benennen Sie Backup-Modelle für den Fall, dass das primäre überlastet ist | Model and responses | Any file |
fastMode |
Schalten Sie Fast-Modus für Sitzungen ein, in denen er verfügbar ist | Model and responses | Any file |
fastModePerSessionOptIn |
Erfordern Sie, dass Personen Fast-Modus in jeder Sitzung einschalten | Model and responses | Any file |
feedbackDrafts |
Kontrollieren Sie, ob Claude Feedback-Entwürfe für Sie zur Überprüfung in die Warteschlange einreiht | Privacy and telemetry | User or managed |
feedbackSurveyRate |
Ändern Sie, wie oft die Sitzungsqualitätsumfrage angezeigt wird | Privacy and telemetry | Any file |
fileCheckpointingEnabled |
Schalten Sie die Datei-Snapshots aus oder ein, die /rewind wiederherstellt |
Memory and context | Any file |
fileSuggestion |
Stellen Sie @-Datei-Autovervollständigung aus Ihrem eigenen Befehl bereit |
Interface and terminal | Any file |
footerLinksRegexes |
Machen Sie Problem- oder Review-IDs in der Ausgabe zu anklickbaren Links unter dem Eingabefeld | Interface and terminal | User or managed |
forceLoginGatewayUrl |
Legen Sie die Gateway-URL fest, mit der sich der Anmeldebildschirm verbindet | Authentication and providers | User or managed |
forceLoginMethod |
Beschränken Sie die Anmeldung auf claude.ai, Claude Console oder ein Cloud-Gateway | Authentication and providers | Any file |
forceLoginOrgUUID |
Heften Sie claude.ai-Anmeldungen an Ihre Organisation; nur eine verwaltete Quelle erzwingt dies | Authentication and providers | Any file |
forceRemoteSettingsRefresh |
Blockieren Sie den Start, bis Server-verwaltete Einstellungen frisch abgerufen werden | Enterprise and managed settings | Managed |
gatewayInternalNetworks |
Lassen Sie /login ein Cloud-Gateway auf öffentlichem IPv4-Adressraum erreichen, den Ihre Organisation intern nutzt |
Authentication and providers | Managed |
gcpAuthRefresh |
Aktualisieren Sie Google Cloud-Anmeldedaten mit Ihrem eigenen Befehl | Authentication and providers | Any file |
hooks |
Führen Sie Ihre eigenen Befehle als Hooks an Punkten im Lebenszyklus von Claude Code aus | Hooks and automation | Any file |
httpHookAllowedEnvVars |
Begrenzen Sie, welche Umgebungsvariablen HTTP-Hooks in Header einfügen können | Hooks and automation | Any file |
idleCompaction |
Verhindern Sie, dass Claude Code eine lange Konversation komprimiert, während Ihre Terminal-Sitzung im Leerlauf ist | Memory and context | Any file |
includeCoAuthoredBy |
Veraltet; verwenden Sie attribution, um Commit- und PR-Zuschreibung zu verbergen oder zu ändern |
Git and attribution | Any file |
includeGitInstructions |
Entfernen Sie die integrierten Commit- und PR-Anweisungen aus Claudes Kontext | Git and attribution | Any file |
inputNeededNotifEnabled |
Erhalten Sie eine Push-Benachrichtigung, wenn Claude auf Sie wartet | Remote, desktop, and notifications | Any file |
isolatePeerMachines |
Fragen Sie, bevor Claude eine Ihrer Sitzungen auf einem anderen Computer benachrichtigt | Agents, sessions, and worktrees | Any file |
keybindingFlavor |
Veraltet und hat keine Auswirkung; die Wort-Bearbeitungs-Tastenkombinationen folgen immer readline-Konventionen | Interface and terminal | Any file |
language |
Lassen Sie Claude in einer anderen Sprache als Englisch antworten | Model and responses | Any file |
leftArrowOpensAgents |
Schalten Sie die Tastenkombination ← aus, die die Sitzung in den Hintergrund verschiebt und die Agent-Ansicht öffnet |
Global config settings | Global config |
managedMcpServers |
Stellen Sie Remote-MCP-Server für jeden Benutzer zusammen mit den von ihm hinzugefügten bereit | MCP | Managed |
managedSourcesBehavior |
Kombinieren Sie jede verwaltete Quelle, die Sie bereitstellen, anstatt nur die mit der höchsten Priorität zu verwenden | Enterprise and managed settings | Managed |
maxEffortLevel |
Begrenzen Sie die Effort-Stufe für jedes Modell oder pro Modell auf jedem Anbieter | Model and responses | Any file |
maxProseWidth |
Begrenzen Sie, wie breit die Prosa in Claudes Antworten in einem breiten Terminal läuft | Interface and terminal | Any file |
minimumVersion |
Halten Sie Auto-Updates davon ab, etwas unter einer Version zu installieren | Updates and versioning | Any file |
model |
Ändern Sie das Modell, mit dem Claude Code startet | Model and responses | Any file |
modelOverrides |
Ordnen Sie Modell-IDs den IDs Ihres Anbieters zu, wie z. B. Bedrock-ARNs | Model and responses | Any file |
modelPicker |
Wählen Sie, welche Modelle der /model-Picker auflistet, in Ihrer eigenen Reihenfolge und mit Ihren eigenen Labels |
Model and responses | User or managed |
modelPricing |
Melden Sie Ausgaben zu den vertraglich vereinbarten Sätzen Ihrer Organisation statt zum Listenpreis | Model and responses | Managed |
modelSettings |
Behalten Sie eine gespeicherte Effort-Stufe oder ein Fenster für die automatische Komprimierung pro Modell bei, oder begrenzen Sie den Effort eines Modells | Model and responses | Any file |
otelHeadersHelper |
Generieren Sie rotierende OpenTelemetry-Header mit Ihrem eigenen Befehl | Authentication and providers | Any file |
outputStyle |
Ändern Sie Claudes Rolle, Ton und Ausgabeformat mit einem Ausgabestil | Model and responses | Any file |
parentSettingsBehavior |
Wenden Sie Einschränkungen an oder verwerfen Sie sie, die ein SDK- oder IDE-Host übergibt, wenn Sie verwaltete Einstellungen bereitstellen | Enterprise and managed settings | Managed |
permissionExplainerEnabled |
Entfernt in v2.1.257, zusammen mit der Strg+E-Befehlserklärung bei Shell-Berechtigungsabfragen |
Global config settings | Global config |
permissions |
Legen Sie Allow-, Ask- und Deny-Regeln sowie den Start-Berechtigungsmodus fest | Permission settings | Any file |
permissions.additionalDirectories |
Geben Sie Claude Dateizugriff auf Verzeichnisse außerhalb des aktuellen | Permission settings | Any file |
permissions.allow |
Genehmigen Sie aufgelistete Tool-Verwendungen ohne Rückfrage | Permission settings | Any file |
permissions.ask |
Fragen Sie immer vor aufgelisteten Tool-Verwendungen | Permission settings | Any file |
permissions.blockReadsOutsideWorkingDirectories |
Lassen Sie die Datei-Tools Lesevorgänge außerhalb der Arbeitsverzeichnisse in jedem Berechtigungsmodus verweigern | Permission settings | Any file |
permissions.defaultMode |
Legen Sie den Berechtigungsmodus fest, in dem neue Sitzungen starten | Permission settings | Any file |
permissions.deny |
Blockieren Sie aufgelistete Tool-Verwendungen, einschließlich Lesevorgänge von Dateien, die Geheimnisse enthalten | Permission settings | Any file |
permissions.disableBypassPermissionsMode |
Verhindern Sie, dass jemand den bypassPermissions-Modus betritt | Permission settings | Any file |
plansDirectory |
Wählen Sie, wo Plan-Modus Plan-Dateien schreibt | Memory and context | Any file |
pluginConfigs |
Speichern Sie die Antworten, die Sie dem Konfigurationsdialog eines Plugins gegeben haben | Plugins and skills | User or managed |
pluginSuggestionMarketplaces |
Wählen Sie, welche Marketplaces Plugin-Installationsvorschläge in /plugin anzeigen können |
Plugins and skills | Managed |
pluginTrustMessage |
Fügen Sie Ihren eigenen Text zur Plugin-Vertrauenswarnung hinzu | Plugins and skills | Managed |
policyHelper |
Führen Sie eine ausführbare Datei aus, die verwaltete Einstellungen beim Start berechnet | Enterprise and managed settings | Managed |
policyHelper.path |
Benennen Sie die Helper-Ausführungsdatei, die Claude Code ausführt | Enterprise and managed settings | Managed |
policyHelper.refreshIntervalMs |
Führen Sie den Helper im Hintergrund in einem Intervall erneut aus | Enterprise and managed settings | Managed |
policyHelper.timeoutMs |
Legen Sie fest, wie lange Claude Code auf den Helper wartet | Enterprise and managed settings | Managed |
preferredNotifChannel |
Wählen Sie einen Terminal-Gong oder Desktop-Benachrichtigung für die Aufgabenvollendung | Remote, desktop, and notifications | Any file |
prefersReducedMotion |
Reduzieren oder schalten Sie Spinner-, Shimmer- und Flash-Animationen aus | Interface and terminal | Any file |
prependPlugins |
Führen Sie die Mods Ihrer Organisation vor jedem Mod aus, den ein Benutzer installiert | Plugins and skills | User or managed |
processWrapper |
Führen Sie die Hintergrundprozesse von Claude Code durch einen Corporate Launcher auf macOS und Linux aus | Agents, sessions, and worktrees | User or managed |
promptCacheTtl |
Wählen Sie die Prompt-Cache-Lebensdauer für die Hauptkonversation | Model and responses | Any file |
promptSuggestionEnabled |
Verbergen Sie die ausgegrauten Prompt-Vorschläge im Eingabefeld | Interface and terminal | Any file |
prStatusFooterEnabled |
Schalten Sie das Badge für den PR-Review-Status in der Prompt-Fußzeile und die dahinterliegende Pull-Request-Prüfung aus | Global config settings | Global config |
prUrlTemplate |
Zeigen Sie PR-Links auf ein internes Code-Review-Tool statt auf github.com | Git and attribution | Any file |
remote.defaultEnvironmentId |
Wählen Sie die Standard-Cloud-Umgebung für claude --cloud; eine selbstgehostete ccpool_-ID wird nur aus Benutzer- und verwalteten Einstellungen und --settings gelesen |
Remote, desktop, and notifications | Any file |
remoteControlAtStartup |
Verbinden Sie Remote Control automatisch, wenn eine Sitzung startet | Remote, desktop, and notifications | Any file |
requiredMaximumVersion |
Weigern Sie sich zu starten auf einer Version, die neuer ist, als Ihre Organisation zulässt | Updates and versioning | Managed |
requiredMinimumVersion |
Weigern Sie sich zu starten auf einer Version, die älter ist als Ihre Organisation erfordert | Updates and versioning | Managed |
respectGitignore |
Halten Sie ignorierte Dateien aus dem @-Datei-Picker |
Interface and terminal | Any file |
respondToBashCommands |
Verhindern Sie, dass Claude nach einem !-Shell-Befehl antwortet |
Interface and terminal | Any file |
sandbox |
Isolieren Sie Bash-Befehle von Ihrem Dateisystem und Netzwerk auf macOS, Linux und WSL2 | Sandbox settings | Any file |
sandbox.allowAppleEvents |
Lassen Sie in der Sandbox ausgeführte Befehle Apple Events auf macOS senden | Sandbox settings | User or managed |
sandbox.allowUnsandboxedCommands |
Lassen Sie Claude einen blockierten Befehl außerhalb der Sandbox erneut versuchen, oder verbieten Sie es | Sandbox settings | Any file |
sandbox.autoAllowBashIfSandboxed |
Führen Sie Befehle in der Sandbox ohne Berechtigungsabfrage aus | Sandbox settings | Any file |
sandbox.bwrapPath |
Zeigen Sie die Sandbox auf eine Bubblewrap-Binärdatei außerhalb von PATH |
Sandbox settings | Managed |
sandbox.credentials |
Verbergen oder maskieren Sie Dateien und Variablen mit Anmeldedaten in der Sandbox | Sandbox settings | Any file |
sandbox.credentials.allowPlaintextInject |
Lassen Sie maskierte Anmeldedaten Plain-HTTP-Dienste auf vertrauenswürdigen Test-Netzwerken erreichen | Sandbox settings | User or managed |
sandbox.credentials.awsPairs |
Verknüpfen Sie benutzerdefiniert benannte AWS-Schlüsselvariablen zu einem Satz Anmeldedaten für die Neusignierung | Sandbox settings | User or managed |
sandbox.credentials.envVars |
Heben Sie die Einstellung auf oder maskieren Sie eine Umgebungsvariable in der Sandbox | Sandbox settings | Any file |
sandbox.credentials.files |
Blockieren oder maskieren Sie Lesevorgänge einer Anmeldedatei in der Sandbox | Sandbox settings | Any file |
sandbox.credentials.sigv4 |
Wählen Sie, ob Streaming-, Presigned- oder SigV4A-AWS-Anfragen fehlschlagen oder durchgehen | Sandbox settings | User or managed |
sandbox.enabled |
Schalten Sie Bash-Sandboxing auf macOS, Linux und WSL2 ein | Sandbox settings | Any file |
sandbox.enableWeakerNestedSandbox |
Führen Sie die Linux-Sandbox in einem unprivilegierten Container aus | Sandbox settings | Any file |
sandbox.enableWeakerNetworkIsolation |
Lassen Sie gh, gcloud und terraform TLS hinter einem MITM-Proxy in der Sandbox auf macOS überprüfen |
Sandbox settings | Any file |
sandbox.excludedCommands |
Benennen Sie Befehle, die Claude Code außerhalb der Sandbox ausführen kann | Sandbox settings | Any file |
sandbox.failIfUnavailable |
Weigern Sie sich zu starten, wenn die Sandbox nicht starten kann, anstatt ohne Sandbox auszuführen | Sandbox settings | Any file |
sandbox.filesystem |
Kontrollieren Sie, welche Pfade in der Sandbox ausgeführte Befehle lesen und schreiben können | Sandbox settings | Any file |
sandbox.filesystem.allowManagedReadPathsOnly |
Verhindern Sie, dass Entwickler Lesepfade, die Ihre Organisation blockiert hat, erneut öffnen | Sandbox settings | Managed |
sandbox.filesystem.allowRead |
Öffnen Sie das Lesen erneut in einem Bereich, den denyRead blockiert |
Sandbox settings | Any file |
sandbox.filesystem.allowWrite |
Fügen Sie Pfade hinzu, in die in der Sandbox ausgeführte Befehle schreiben können | Sandbox settings | Any file |
sandbox.filesystem.denyRead |
Hindern Sie in der Sandbox ausgeführte Befehle daran, spezifische Pfade zu lesen | Sandbox settings | Any file |
sandbox.filesystem.denyWrite |
Hindern Sie in der Sandbox ausgeführte Befehle daran, in spezifische Pfade zu schreiben | Sandbox settings | Any file |
sandbox.filesystem.disabled |
Schalten Sie die Dateisystem-Isolation aus, während Sie die Netzwerk-Isolation beibehalten | Sandbox settings | User or managed |
sandbox.ignoreViolations |
Schalten Sie Verletzungsberichte für Pfade stumm, die ein Befehl voraussichtlich prüft | Sandbox settings | Any file |
sandbox.network |
Kontrollieren Sie, welche Hosts, Ports und Sockets in der Sandbox ausgeführte Befehle erreichen | Sandbox settings | Any file |
sandbox.network.allowAllUnixSockets |
Lassen Sie in der Sandbox ausgeführte Befehle sich mit jedem Unix-Socket verbinden | Sandbox settings | Any file |
sandbox.network.allowedDomains |
Genehmigen Sie Domänen im Voraus, damit in der Sandbox ausgeführte Befehle nicht danach fragen | Sandbox settings | Any file |
sandbox.network.allowLocalBinding |
Lassen Sie in der Sandbox ausgeführte Befehle auf macOS an Netzwerk-Ports lauschen und sich mit localhost verbinden | Sandbox settings | Any file |
sandbox.network.allowMachLookup |
Lassen Sie macOS-Tools in der Sandbox wie den iOS Simulator oder Playwright ihre XPC-Dienste erreichen | Sandbox settings | Any file |
sandbox.network.allowManagedDomainsOnly |
Sperren Sie die Netzwerk-Allowlist auf verwaltete Einstellungen | Sandbox settings | Managed |
sandbox.network.allowUnixSockets |
Listen Sie Unix-Socket-Pfade auf, die in der Sandbox ausgeführte Befehle auf macOS verwenden können | Sandbox settings | Any file |
sandbox.network.deniedDomains |
Blockieren Sie Domänen für in der Sandbox ausgeführte Befehle, auch innerhalb eines zulässigen Wildcards | Sandbox settings | Any file |
sandbox.network.httpProxyPort |
Leiten Sie Sandbox-HTTP-Verkehr durch Ihren eigenen Proxy | Sandbox settings | Any file |
sandbox.network.socksProxyPort |
Leiten Sie Sandbox-SOCKS-Verkehr durch Ihren eigenen Proxy | Sandbox settings | Any file |
sandbox.network.strictAllowlist |
Lehnen Sie Hosts außerhalb der Allowlist ab, anstatt zu fragen | Sandbox settings | User or managed |
sandbox.network.tlsTerminate |
Lassen Sie den Sandbox-Proxy TLS terminieren, damit er HTTPS-Anfragen lesen kann | Sandbox settings | User or managed |
sandbox.ripgrep |
Verwenden Sie Ihre eigene ripgrep-Binärdatei in der Sandbox | Sandbox settings | User or managed |
sandbox.socatPath |
Zeigen Sie den Sandbox-Proxy auf eine socat-Binärdatei außerhalb von PATH |
Sandbox settings | Managed |
showClearContextOnPlanAccept |
Zeigen Sie eine "Kontext löschen"-Option auf dem Plan-Akzeptanzbildschirm | Interface and terminal | Any file |
showThinkingSummaries |
Sehen Sie Zusammenfassungen von Claudes Thinking statt eines zusammengeklappten Stubs | Model and responses | Any file |
showTurnDuration |
Verbergen Sie die "Gekocht für"-Dauer nach jeder Antwort | Interface and terminal | Any file |
skillListingBudgetFraction |
Reservieren Sie mehr oder weniger Kontext für die Skill-Auflistung | Memory and context | Any file |
skillListingMaxDescChars |
Begrenzen Sie die Beschreibungslänge jedes Skills in der Skill-Auflistung | Memory and context | Any file |
skillOverrides |
Verbergen oder reduzieren Sie einen Skill, ohne seine SKILL.md zu bearbeiten | Plugins and skills | Any file |
skipAutoPermissionPrompt |
Überspringen Sie die einmalige Benachrichtigung, die Claude Code anzeigt, wenn Sie selbst zum ersten Mal den Auto-Modus betreten, anstatt durch den integrierten Standard | Permission settings | User or managed |
skipDangerousModePermissionPrompt |
Überspringen Sie das Bestätigungsdialogfeld vor dem bypassPermissions-Modus | Permission settings | User, local, or managed |
skipWebFetchPreflight |
Überspringen Sie die WebFetch-Hostname-Überprüfung, wenn Anthropic nicht erreichbar ist | Privacy and telemetry | Any file |
spellcheck |
Unterstreichen Sie falsch geschriebene Wörter in der Eingabeaufforderung mit einem Rechtschreibprüfer, den Sie installieren | Interface and terminal | User or managed |
spinnerTipsEnabled |
Verbergen Sie Tipps im Spinner, während Claude arbeitet | Interface and terminal | Any file |
spinnerTipsOverride |
Fügen Sie Ihre eigenen Tipps zur Spinner-Rotation hinzu, oder ersetzen Sie die integrierten Tipps | Interface and terminal | Any file |
spinnerVerbs |
Fügen Sie die Verben hinzu oder ersetzen Sie sie, die während eines Turns angezeigt werden | Interface and terminal | Any file |
sshConfigs |
Fügen Sie SSH-Verbindungen zur Desktop-Umgebungsauswahl hinzu | Remote, desktop, and notifications | User or managed |
sshHostAllowlist |
Begrenzen Sie, welche Hosts Desktop-SSH-Sitzungen erreichen können | Remote, desktop, and notifications | Managed |
statusLine |
Führen Sie Ihren eigenen Befehl aus, um eine Statuszeile unter der Eingabeaufforderung zu rendern | Interface and terminal | Any file |
strictKnownMarketplaces |
Allowlist der Marketplace-Quellen, die Benutzer hinzufügen und aus denen sie installieren können | Plugins and skills | Managed |
strictPluginOnlyCustomization |
Blockieren Sie Skills, Agenten, Hooks und MCP-Server aus Benutzer- und Projektquellen | Plugins and skills | Managed |
strictPluginOnlyCustomization.agents |
Sperren Sie Agenten auf Plugin- und verwaltete Quellen | Plugins and skills | Managed |
strictPluginOnlyCustomization.hooks |
Sperren Sie Hooks auf Plugin- und verwaltete Quellen | Plugins and skills | Managed |
strictPluginOnlyCustomization.mcp |
Sperren Sie MCP-Server auf Plugin- und verwaltete Quellen | Plugins and skills | Managed |
strictPluginOnlyCustomization.skills |
Sperren Sie Skills auf Plugin- und verwaltete Quellen | Plugins and skills | Managed |
subagentPromptCacheTtl |
Wählen Sie die Prompt-Cache-Lebensdauer für Subagenten und andere Anfragen außerhalb der Hauptkonversation | Model and responses | Any file |
subagentStatusLine |
Schreiben Sie Zeilen in der Subagenten-Aufgabenanzeige mit Ihrem eigenen Befehl um | Interface and terminal | Any file |
switchModelsOnFlag |
Wechseln Sie Modelle automatisch oder pausieren Sie, wenn ein Sicherheitsklassifikator eine Anfrage kennzeichnet | Model and responses | Any file |
syncClaudeAiPlugins |
Beenden Sie das Laden der auf Ihrem claude.ai-Konto aktivierten Plugins und beenden Sie das Herunterladen neuer | Plugins and skills | User, local, or managed |
syncClaudeAiSkills |
Beenden Sie das Laden der auf Ihrem claude.ai-Konto aktivierten Skills und beenden Sie das Herunterladen neuer | Plugins and skills | User, local, or managed |
syntaxHighlightingDisabled |
Schalten Sie die Syntaxhervorhebung in Diffs und Code-Blöcken aus | Interface and terminal | Any file |
taskOutputMaxChars |
Entfernt in v2.1.277, zusammen mit dem TaskOutput-Tool, das es dimensioniert |
Memory and context | Any file |
teammateDefaultModel |
Entfernt in v2.1.234; siehe Geben Sie Teamkollegen und Modelle an, wie Claude Code das Modell eines Teamkollegen auswählt | Global config settings | Global config |
teammateMode |
Wählen Sie, wie Agent-Team-Teamkollegen angezeigt werden | Agents, sessions, and worktrees | Any file |
terminalProgressBarEnabled |
Verbergen Sie die Terminal-Fortschrittsleiste in Terminals, die sie unterstützen | Interface and terminal | Any file |
terminalTitleFromRename |
Verhindern Sie, dass /rename und --name den Terminal-Tab-Titel ändern |
Interface and terminal | Any file |
theme |
Wählen Sie das Interface-Farbschema, integriert oder benutzerdefiniert | Interface and terminal | Any file |
timeFormat |
Zeigen Sie die Zeiten in der Benutzeroberfläche auf einer 12-Stunden- oder 24-Stunden-Uhr, in UTC oder mit einem strftime-Muster an | Interface and terminal | Any file |
timeZone |
Zeigen Sie die Zeiten in der Benutzeroberfläche in einer Zeitzone an, die nicht die Ihres Systems ist | Interface and terminal | Any file |
tui |
Wählen Sie den Vollbild- oder klassischen Terminal-Renderer | Interface and terminal | Any file |
ultracode |
Lassen Sie Claude einen Workflow für jede wesentliche Aufgabe planen, ohne gefragt zu werden | Model and responses | Any file |
useAutoModeDuringPlan |
Lassen Sie den Auto-Modus-Klassifikator Shell-Befehle im Plan-Modus überprüfen; setzen Sie false, um stattdessen Berechtigungsabfragen zu erhalten |
Permission settings | User, local, or managed |
verbose |
Zeigen Sie vollständige Tool-Ausgabe statt verkürzter Zusammenfassungen an; viewMode hat Vorrang, wenn beide gesetzt sind |
Interface and terminal | Any file |
viewMode |
Starten Sie jede Sitzung in Standard-, Verbose- oder Focus-Ansicht | Interface and terminal | Any file |
vimInsertModeRemaps |
Ordnen Sie eine zwei-Tasten-INSERT-Modus-Sequenz wie jj zu Escape |
Interface and terminal | User or managed |
voice |
Schalten Sie Sprachdiktat ein und wählen Sie Halte- oder Tap-Modus | Interface and terminal | Any file |
voiceEnabled |
Schalten Sie Sprachdiktat mit der älteren Einzeltasten-Form ein | Interface and terminal | Any file |
wheelScrollAccelerationEnabled |
Schalten Sie die Mausrad-Beschleunigung beim Vollbild-Rendering aus | Interface and terminal | Any file |
workflowKeywordTriggerEnabled |
Lassen Sie das Wort ultracode in einem Prompt einen Workflow starten; setzen Sie false, um es einzugeben, ohne einen zu starten |
Hooks and automation | Any file |
workflowSizeGuideline |
Legen Sie die Agent-Anzahl fest, auf die Claude in dynamischen Workflows abzielt | Hooks and automation | Any file |
worktree |
Konfigurieren Sie, wie Claude Code Git-Worktrees erstellt | Agents, sessions, and worktrees | Any file |
worktree.baseRef |
Verzweigen Sie neue Worktrees vom Remote-Standard-Branch oder Ihrem lokalen HEAD | Agents, sessions, and worktrees | Any file |
worktree.bgIsolation |
Lassen Sie Hintergrund-Sitzungen die Arbeitskopie ohne Worktree bearbeiten | Agents, sessions, and worktrees | Any file |
worktree.location |
Wählen Sie, wo Desktop-SSH-Sitzungen ihre Worktrees auf einem Remote-Computer erstellen | Agents, sessions, and worktrees | User |
worktree.sparsePaths |
Checken Sie nur die Verzeichnisse aus, die Sie in jedem Worktree benötigen | Agents, sessions, and worktrees | Any file |
worktree.symlinkDirectories |
Symlinken Sie große Verzeichnisse in jeden Worktree, anstatt sie zu duplizieren | Agents, sessions, and worktrees | Any file |
wslInheritsWindowsSettings |
Lassen Sie WSL verwaltete Einstellungen aus der Windows-Richtlinienkette lesen | Enterprise and managed settings | Managed |
Modell und Antworten
Wählen Sie, welche Modelle Claude Code verwendet und wie es antwortet. Informationen darüber, wie diese Einstellungen mit dem Befehl /model und Umgebungsvariablen interagieren, finden 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. Informationen zu akzeptierten Kombinationen und was passiert, wenn Sie eine nicht akzeptierte Kombination wählen, finden Sie unter Wählen Sie ein Advisor-Modell.
Sie bearbeiten diesen Schlüssel normalerweise nicht manuell. Führen Sie /advisor aus, um eine Auswahl zu öffnen, die die aktuelle Auswahl, die Modelle, die beraten können, und Kein Advisor anzeigt. Claude Code speichert Ihre Auswahl in diesem Schlüssel in ~/.claude/settings.json. Wenn Sie aus einem Remote Control-Client oder in einer Sitzung auswählen, die an einen Remote Worker angehängt ist, gilt die Auswahl nur für diese Sitzung und ändert diesen Schlüssel nicht.
Wenn Ihr Konto die Zustimmung zu Nutzungsguthaben erfordert, akzeptieren Sie diese zuerst, indem Sie /model fable ausführen. Bis dahin speichert die Auswahl von Fable in /advisor nichts und Claude Code teilt Ihnen mit, dass Sie zuerst /model fable ausführen sollen.
- Geltungsbereich:
Beliebige Datei - Typ: String, einer der Aliase
"fable","opus"oder"sonnet", die in die aktuelle Standardversion dieser Modellfamilie von Claude Code aufgelöst werden, oder eine vollständige Modell-ID wie"claude-opus-5-5" - Standard: nicht gesetzt, daher ist der Advisor 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
{
"advisorModel": "opus"
}
Der Schlüssel hat keine Auswirkung auf Provider, bei denen der Advisor nicht verfügbar ist, wie Amazon Bedrock und Claude Platform auf AWS. "fable" erfordert Fable-Zugriff.
alwaysThinkingEnabled
Deaktivieren Sie Extended Thinking für jede Sitzung, indem Sie dies auf false setzen. Thinking ist standardmäßig aktiviert, daher ändert true nichts. Die meisten Benutzer stellen dies über /config ein, anstatt die Datei zu bearbeiten.
Bei Modellen, die immer nachdenken, wie Opus 5.5, Sonnet 5.5, Haiku 5.5 und die Fable-Modelle, hat false keine Auswirkung. Bei Drittanbieter-Providern lässt Claude Code den Parameter thinking weg, anstatt Thinking auszuschalten, daher können Modelle mit adaptivem Reasoning möglicherweise trotzdem nachdenken. Wenn Thinking auf der Anthropic API ausgeschaltet ist, sendet Claude Code den Effort high statt einer höheren Stufe an Modelle, von denen es weiß, dass sie diese Kombination nicht akzeptieren, wie Opus 5.
- Geltungsbereich:
Beliebige Datei - Typ: Boolean
true: keine Auswirkung; Thinking ist bereits aktiviertfalse: Claude Code deaktiviert Extended Thinking für jede Sitzung
- Standard: nicht gesetzt, daher ist Thinking für Modelle aktiviert, die es unterstützen
- Überschreibungen pro Sitzung:
MAX_THINKING_TOKENShat für eine Sitzung Vorrang vor diesem Schlüssel:0deaktiviert Thinking unter den gleichen Modell- und Provider-Einschränkungen wiefalse, und ein positiver Wert aktiviert Thinking, auch wenn dieser Schlüsselfalseist. Bei Modellen mit adaptivem Reasoning wird die Zahl selbst ignoriert
{
"alwaysThinkingEnabled": false
}
availableModels
Beschränken Sie, welche Modelle Personen für die Hauptsitzung, Subagenten, Skills und den Advisor auswählen können. Eine verwaltete Liste beschränkt /model, --model und den Schlüssel model in den eigenen Dateien eines Entwicklers; ein Modell außerhalb davon kann nicht ausgewählt werden. Mit dem standardmäßigen Präfixabgleich berührt dies die Option Standard allein nicht; kombinieren Sie es dafür mit enforceAvailableModels.
- Geltungsbereich:
Beliebige Datei. Stellen Sie es in verwalteten Einstellungen bereit, um es für eine Organisation durchzusetzen. - Typ: Array von Modellaliasen oder IDs
- Standard: nicht gesetzt, daher sind alle Modelle verfügbar
Dieses Beispiel ermöglicht es Personen, nur Sonnet- und Haiku-Modelle auszuwählen:
{
"availableModels": ["sonnet", "haiku"]
}
Ein Modell-ID-Eintrag wie "claude-opus-5" erlaubt auch spätere Versionen, die ihn erweitern, wie 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 einschränken.
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 auflisten. Erfordert Claude Code v2.1.283 oder später.
- Geltungsbereich:
Verwaltet. Claude Code ignoriert den Schlüssel in Benutzer-, Projekt- und lokalen Einstellungen sowie in--settingsmit einer Warnung - Typ: String, einer von:
"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, einschließlich der datierten IDs dieser Version, sodass"claude-opus-5"Opus 5 erlaubt, aber nichtclaude-opus-5-5. Ein Familienalias wie"opus"erlaubt weiterhin die gesamte Familie, und Einträgebest,opusplanunddefaultwerden ignoriert
- Standard:
"prefix"
Dieses Beispiel erlaubt Opus 5 und Sonnet 5, aber keine spätere Version eines der beiden:
{
"availableModels": ["claude-opus-5", "claude-sonnet-5"],
"availableModelsMatch": "exact"
}
Mit "exact" ist auch die Option Standard auf die aufgelisteten 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 dann, wenn diese Liste sie erlaubt. Claude Code blendet ein blockiertes Modell in der Auswahl /model aus, und das Modell kann nirgends ausgewählt werden, wo availableModels durchgesetzt wird. Eine Sitzung mit der Option Standard führt ein blockiertes Modell ebenfalls nicht aus, wie unter Bestimmte Modelle oder Versionen blockieren beschrieben. Erfordert Claude Code v2.1.283 oder später.
- Geltungsbereich:
Verwaltet. Claude Code ignoriert den Schlüssel in Benutzer-, Projekt- und lokalen Einstellungen sowie in--settingsmit einer Warnung - Typ: Array von Modellaliasen 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 providerspezifischer IDs - Eine Modell-ID ohne Nebenversion, wie
"claude-opus-5", blockiert auch spätere Nebenversionen wie Opus 5.5. Schreiben Sie"claude-opus-5-0", um nur Opus 5 zu blockieren - Einträge
best,opusplanunddefaultwerden ignoriert
- Ein Familienalias wie
- Standard: nicht gesetzt, daher ist kein Modell blockiert
Dieses Beispiel erlaubt Opus- und Sonnet-Modelle und blockiert Opus 5.5:
{
"availableModels": ["opus", "sonnet"],
"deniedModels": ["claude-opus-5-5"]
}
Siehe Bestimmte Modelle oder Versionen blockieren.
effortLevel
Legen Sie eine Standard-Effort-Stufe für Modelle fest, für die Sie noch keine Stufe gespeichert haben. Niedrigere Stufen sind bei einfachen Aufgaben schneller und günstiger, höhere Stufen denken bei komplexen Problemen gründlicher nach.
Wenn Sie /effort low, medium, high oder xhigh in einer interaktiven Sitzung auf Ihrem Computer ausführen, speichert Claude Code die Stufe für das aktive Modell unter modelSettings, anstatt 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 anstelle dieses Schlüssels. modelSettings beschreibt die dateiübergreifende Rangfolge.
In einer Sitzung, die an einen Remote Worker angehängt ist, in einem -p-Lauf und im Agent SDK gilt /effort nur für diese Sitzung. Effort-Stufe anpassen listet die interaktiven Auswahlmöglichkeiten auf, die ebenfalls nur für diese Sitzung gelten. Die Meldung, die /effort ausgibt, sagt, was passiert ist.
- Geltungsbereich:
Beliebige Datei - Typ: String, einer von:
"low": das geringste Reasoning, für kurze, klar umrissene, latenzempfindliche Aufgaben, die keine hohe Intelligenz erfordern"medium": reduziert die Token-Nutzung für kostensensitive Arbeiten, die etwas Intelligenz opfern können"high": balanciert Token-Nutzung und Intelligenz"xhigh": tieferes 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
{
"effortLevel": "xhigh"
}
In Ihrer Benutzereinstellungsdatei ~/.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 zuvor galt: für Opus 5, Fable 5.1 und frühere Modelle. Opus 5.5 und später 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 Auswahl /model hat eine Option Standard, und unter Einstellung des Modells default ist beschrieben, zu welchem 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 Standard immer noch zu einem Modell außerhalb der Liste aufgelöst werden kann. Dieser Schlüssel schließt diese Lücke. Erfordert Claude Code v2.1.175 oder später.
Wenn Ihre Organisation verwaltete Einstellungen bereitstellt, liest Claude Code diesen Schlüssel nur aus der verwalteten Quelle und ignoriert ihn in Ihren anderen Dateien.
Wie dieser Schlüssel bei den Modellprüfungen beim Start angewendet wird, erfahren Sie unter Amazon Bedrock und Google Cloud's Agent Platform.
- Geltungsbereich:
Beliebige Datei - Typ: Boolean
true: wenn Standard zu einem Modell außerhalb vonavailableModelsaufgelöst würde, löst Claude Code es stattdessen zum ersten verfügbaren Modell in der Liste auffalse: dieser Schlüssel ändert nicht, wie Standard aufgelöst wird
- Standard:
false
Dieses Beispiel beschränkt benannte Auswahlmöglichkeiten auf Sonnet- und Haiku-Modelle und lässt Standard zum ersten verfügbaren dieser Modelle auflösen:
{
"availableModels": ["sonnet", "haiku"],
"enforceAvailableModels": true
}
Dieser Schlüssel hat keine Auswirkung, wenn availableModels nicht gesetzt oder leer ist. Siehe Allowlist für das Standardmodell durchsetzen. Erfordert Claude Code v2.1.175 oder später.
fallbackModel
Benennen Sie Backup-Modelle, 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 in der Kette und zeigt einen Hinweis an. Ohne eine 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 einem kalten Prompt-Cache auf dem Fallback-Modell; Ihre nächste Nachricht versucht zuerst wieder das primäre Modell.
- Geltungsbereich:
Beliebige Datei - Typ: Array von Modellaliasen oder IDs;
"default"wird zum Standardmodell erweitert - Standard: nicht gesetzt, daher wird eine fehlgeschlagene Anfrage nicht mit einem anderen Modell erneut versucht
- Überschreibungen pro Sitzung:
--fallback-modelhat für eine Sitzung Vorrang vor diesem Schlüssel
Dieses Beispiel versucht zuerst Sonnet 5, dann Haiku 4.5, wenn Ihr primäres Modell fehlschlägt:
{
"fallbackModel": ["claude-sonnet-5", "claude-haiku-4-5"]
}
Im Gegensatz zu den meisten Array-Einstellungen wird dieser Schlüssel nicht über Einstellungsdateien hinweg zusammengeführt: Die Datei mit dem höchsten Vorrang, die ihn definiert, liefert die ganze Kette. Wenn Ihre Projektdatei ["claude-sonnet-5"] setzt und Ihre Benutzerdatei ["claude-haiku-4-5"] setzt, ist die Kette nur ["claude-sonnet-5"]. Claude Code behält höchstens drei unterschiedliche zulässige Modelle aus der Liste und ignoriert den Rest. Siehe Fallback-Modellketten.
fastMode
Aktivieren Sie den Fast-Modus für Sitzungen, in denen er verfügbar ist, für interaktive Arbeiten wie schnelle Iteration oder Live-Debugging, bei denen Sie Geschwindigkeit zu höheren Kosten pro Token wünschen. Sie bearbeiten diesen Schlüssel normalerweise nicht manuell: Das Ausführen von /fast schreibt fastMode: true in ~/.claude/settings.json, und das erneute Ausführen zum Ausschalten des Fast-Modus entfernt den Schlüssel. Der Fast-Modus läuft nur auf Opus 5.5, Opus 5 und Opus 4.8: Wenn Sie ihn von einem anderen Modell aus aktivieren, wechseln Sie zu Opus, und der Wechsel zu einem nicht unterstützten Modell schaltet ihn aus. Siehe Modelle wechseln, während der Fast-Modus aktiv ist.
- Geltungsbereich:
Beliebige Datei - Typ: Boolean
true: Claude Code aktiviert den Fast-Modus für Sitzungen, in denen er verfügbar istfalse: Der Fast-Modus bleibt ausgeschaltet
- Standard: nicht gesetzt, daher ist der Fast-Modus 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
{
"fastMode": true
}
fastModePerSessionOptIn
Normalerweise speichert das Ausführen von /fast fastMode in den Benutzereinstellungen einer Person, sodass der Fast-Modus zu Beginn jeder späteren Sitzung aktiviert ist. Setzen Sie diesen Schlüssel auf true, um das zu verhindern: Ein gespeichertes fastMode: true aktiviert den Fast-Modus nicht mehr beim Sitzungsstart, und jede Person muss /fast in jeder Sitzung ausführen, in der sie ihn möchte. Claude Code lässt den Schlüssel fastMode in ihrer Datei, daher stellt das Ausschalten dieses Schlüssels das alte Verhalten wieder her.
Owner in Team- oder Enterprise-Plänen können ihn organisationsweit über serverseitig verwaltete 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 umfasst den nicht interaktiven Modus, die VS Code-Erweiterung und Cloud-Sitzungen.
- Geltungsbereich:
Beliebige Datei - Typ: Boolean
true: ein gespeichertesfastMode: trueaktiviert den Fast-Modus nicht mehr beim Sitzungsstart, daher führt jede Person/fastin jeder Sitzung aus, in der sie ihn möchte; ein mit--settingsübergebenesfastMode: truezählt weiterhin für diese Sitzung, es sei denn, verwaltete Einstellungen setzen diesen Schlüsselfalse: ein gespeichertesfastMode: trueaktiviert den Fast-Modus zu Beginn jeder späteren Sitzung
- Standard:
false
{
"fastModePerSessionOptIn": true
}
Siehe Opt-in pro Sitzung erforderlich.
language
Lassen Sie Claude standardmäßig in einer anderen Sprache als Englisch antworten. Es gibt keine feste Liste für Antworten: Claude Code übergibt den Wert wörtlich an Claude als Anweisung, immer in dieser Sprache zu antworten, daher funktioniert jeder Sprachname, den Claude lesen kann. Claude Code überprüft den Wert nicht, daher erreicht ein falsch geschriebener Name Claude so, wie er geschrieben ist, anstatt einen Fehler zu erzeugen. Derselbe Wert legt die Sprache für das Sprachdiktat fest, das eine feste Liste von unterstützten Diktiersprachen hat, sowie für automatisch generierte Sitzungstitel.
- Geltungsbereich:
Beliebige Datei - Typ: String, jeder Sprachname, wie
"japanese","spanish"oder"french"; Claude Code überprüft ihn nicht - Standard: nicht gesetzt; Sitzungstitel entsprechen dann der Sprache Ihrer Konversation
{
"language": "japanese"
}
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, einschließlich einer Stufe aus /effort, der Auswahl /model, --effort, CLAUDE_CODE_EFFORT_LEVEL, dem Frontmatter-Feld effort eines Skills oder Subagenten oder dem eigenen Standard des Modells. Claude Code wendet die Obergrenze vor jeder Anfrage selbst an, daher gilt sie bei jedem Provider, einschließlich Amazon Bedrock, Google Cloud's Agent Platform und Microsoft Foundry. Erfordert Claude Code v2.1.267 oder später.
- Geltungsbereich:
Beliebige Datei. Stellen Sie ihn in verwalteten Einstellungen bereit, um ihn für eine Organisation durchzusetzen. Wenn mehrere Geltungsbereiche eine Obergrenze setzen, gilt die niedrigste, daher kann eine in einem Geltungsbereich gesetzte Obergrenze nicht von einem anderen angehoben werden - Typ: String, einer von
"low","medium","high","xhigh"oder"max". Ein Wert"max"setzt keine Obergrenze - Standard: nicht gesetzt, daher gilt 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 beide setzt, wie Ihre Benutzereinstellungen oder eine verwaltete Quelle. Setzen Sie dort"max", um das Modell von der Obergrenze dieser Quelle auszunehmen; Claude Code wendet weiterhin Obergrenzen aus anderen Quellen an
Dieses Beispiel begrenzt jedes Modell auf medium und nimmt Sonnet 4.6 aus:
{
"maxEffortLevel": "medium",
"modelSettings": {
"claude-sonnet-4-6": {
"maxEffortLevel": "max"
}
}
}
Wenn Ihre Organisation zusätzlich ein Effort-Limit für ein Modell setzt, gilt die niedrigere der beiden Obergrenzen.
model
Legen Sie das Modell fest, das jede neue Sitzung verwendet, damit Sie nicht jedes Mal mit /model eines auswählen müssen. Das Festlegen hier hindert Sie nicht daran, während der Sitzung zu wechseln. Wenn Ihr Admin ein Organisations-Standardmodell gesetzt hat, um die Benutzerauswahl zu überschreiben, erhalten Sie dieses Modell, auch wenn Sie diesen Schlüssel in Benutzer-, Projekt- oder lokalen Einstellungen setzen.
- Geltungsbereich:
Beliebige Datei - Typ: String, ein Modellalias oder eine vollständige Modell-ID
- Standard: nicht gesetzt, daher verwendet Claude Code 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
{
"model": "claude-sonnet-5"
}
Ein Wert hier hat Vorrang vor ANTHROPIC_DEFAULT_MODEL, das Claude Code nur verwendet, wenn nichts anderes ein Modell auswählt.
modelOverrides
Ordnen Sie Anthropic-Modell-IDs providerspezifischen Modell-IDs zu, wie ARNs von Amazon Bedrock-Inferenzprofilen. Jeder Eintrag der Modellauswahl verwendet dann seinen zugeordneten Wert beim Aufruf der Provider-API. Administratoren verwenden dies auf Amazon Bedrock, Google Cloud's Agent Platform und Microsoft Foundry, um jede Modellversion für Governance, Kostenzuordnung oder regionales Routing an ein bestimmtes Inferenzprofil, einen Versionsnamen oder eine Bereitstellung zu leiten.
- Geltungsbereich:
Beliebige Datei - Typ: Objekt, das Modell-IDs Provider-Modell-IDs zuordnet
- Standard: nicht gesetzt
Dieses Beispiel leitet jeden Aufruf für Opus 4.6 an das benannte Bedrock-Inferenzprofil:
{
"modelOverrides": {
"claude-opus-4-6": "arn:aws:bedrock:us-east-1:123456789012:inference-profile/example"
}
}
Siehe Modell-IDs pro Version überschreiben.
modelPicker
Listen Sie die Modelle auf, die die Auswahl /model anbietet, in der Reihenfolge, in der Sie sie schreiben, und unter Bezeichnungen, die Sie wählen, sodass die Auswahl die Modelle aufführt, die Ihre Organisation verwendet, nach der integrierten Auswahl oder an ihrer Stelle. Das model jeder Zeile wird wörtlich übernommen, daher akzeptiert es alles, was --model akzeptiert: einen Alias wie opus, eine Anthropic-Modell-ID oder eine ID im Provider-Format für Amazon Bedrock, Google Cloud's Agent Platform, Microsoft Foundry oder ein LLM-Gateway. Erfordert Claude Code v2.1.242 oder später.
- Geltungsbereich:
Benutzer oder verwaltet. Claude Code liest den Schlüssel aus verwalteten Einstellungen,--settingsund Benutzereinstellungen und ignoriert ihn in Projekt- und lokalen Einstellungen, damit ein Repository, das Sie klonen, die Auswahl nicht umbenennen kann. Die höchste dieser drei Quellen, die den Schlüssel setzt, liefert die gesamte Auswahl, und Claude Code kombiniert nie Auswahllisten aus zwei Quellen. - Typ: Objekt mit einem Array
optionsvon Zeilen und einem optionalen BooleanreplaceBuiltInOptions - Standard: nicht gesetzt, daher zeigt die Auswahl die integrierte Auswahl
Dieses Beispiel fügt nach der integrierten Auswahl zwei Bedrock-Bereitstellungen unter Namen hinzu, die Ihr Team kennt:
{
"modelPicker": {
"options": [
{ "model": "us.anthropic.claude-opus-4-8", "label": "Opus (production)" },
{
"model": "us.anthropic.claude-sonnet-4-6",
"label": "Sonnet (production)",
"description": "Day-to-day work"
}
]
}
}
Felder für modelPicker
Der Schlüssel hat zwei Felder: eines für die Zeilen selbst und eines dafür, ob sie die integrierte Auswahl ersetzen oder ergänzen.
| Feld | Typ | Funktion |
|---|---|---|
options |
Array von Zeilen, jede mit einem erforderlichen model und optionalen label, description und behavesAs |
Die Zeilen, die die Auswahl anzeigt, in dieser Reihenfolge, außer dass eine ausgegraute Zeile nach unten verschoben wird. Ohne label betitelt Claude Code die Zeile mit dem integrierten Namen für ein Modell, das es kennt, andernfalls mit der Modell-ID, und ohne description schreibt es eine generische zweite Zeile |
replaceBuiltInOptions |
Boolean, Standard false |
Setzen Sie es auf true, um nur diese Zeilen, Standard und eine Zeile für das Modell anzuzeigen, das die Sitzung bereits verwendet. Lassen Sie es ungesetzt, um diese Zeilen nach der integrierten Auswahl hinzuzufügen |
Ein Eintrag in options kann neben seinem model auch einen optionalen String behavesAs enthalten, was v2.1.257 oder später erfordert. Setzen Sie ihn auf die ID eines Modells, das Ihre Claude Code-Version bereits kennt, wie 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, anstatt sein Modell als unbekannt zu behandeln. Die Bezeichnung des Eintrags und die Modell-ID, die Claude Code in Anfragen sendet, ändern sich nicht.
Wenn replaceBuiltInOptions aktiviert ist, blendet Claude Code alle anderen Zeilen aus: die integrierte Auswahl, die Zeilen, die es für availableModels-Einträge hinzufügt, die Modelle, die die Gateway-Erkennung gefunden hat, und ANTHROPIC_CUSTOM_MODEL_OPTION. Wenn es deaktiviert ist, überspringt Claude Code ein aufgelistetes Modell, das die integrierte Auswahl 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 aufgelistetes Modell zur Allowlist hinzufügen, lesen Sie Zusammenführungsverhalten: Eine spezifische Modell-ID schränkt den Wildcard-Eintrag 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, wie 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 die integrierte Auswahl, wie üblich durch die Allowlist gefiltert
Claude Code entfernt eine Zeile, die es nicht parsen kann, und behält den Rest. Siehe Fehlerhafte Einstellungsdatei beheben.
modelPricing
Melden Sie Ausgaben zu den Preisen, die Ihre Organisation zahlt, anstatt zum Listenpreis. Setzen Sie den Schlüssel, 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 total_cost_usd des Agent SDK, dem Limit --max-budget-usd sowie der Kostenmetrik und den Ereignissen von OpenTelemetry an. Sie liefern die Preise: Claude Code liest sie nicht aus Ihrem Vertrag oder der Claude Console. Erfordert Claude Code v2.1.242 oder später.
- Geltungsbereich:
Verwaltet. Stellen Sie den Schlüssel über serverseitig verwaltete 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-Registrierung. Mit serverseitig verwalteten Einstellungen meldet jede Sitzung Kosten zum Listenpreis, 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 liefern, die Claude Code nur verwendet, wenn keine verwaltete Quelle den Schlüssel setzt, und nur in Claude Code v2.1.246 oder später. - Typ: Objekt mit einem optionalen
multiplierund einer optionalen Zuordnungoverrides - Standard: nicht gesetzt, daher meldet Claude Code den Listenpreis, es sei denn, eine Host-Anwendung liefert eine Tabelle
Setzen Sie nur multiplier für einen pauschalen Rabatt oder Aufschlag, nur overrides für Preise pro Modell oder beides.
Dieses Beispiel setzt vertraglich vereinbarte Preise für Sonnet 4.6 und reduziert dann jeden Betrag, einschließlich der Sonnet-Zeile, um 15 %:
{
"modelPricing": {
"multiplier": 0.85,
"overrides": {
"claude-sonnet-4-6": {
"input": 2.4,
"output": 12,
"cacheRead": 0.24,
"cacheWrite": 3
}
}
}
}
Setzen Sie multiplier auf einen Wert über 1, bis maximal 10, um jeden Betrag mit einem Aufschlag zu versehen. Ein Aufschlag erfordert Claude Code v2.1.271 oder später. Frühere Versionen ignorieren einen multiplier über 1 mit einer Warnung und behalten den Rest der Einstellung.
Die Schritte, einschließlich der Bestätigung, dass die Preise wirksam sind, finden Sie unter Ausgaben zu Ihren vertraglich vereinbarten Preisen melden.
Felder für modelPricing
| Feld | Typ | Funktion |
|---|---|---|
multiplier |
Zahl größer als 0 und höchstens 10 | Skaliert alle Kosten, die Claude Code berechnet, unabhängig davon, ob eine overrides-Zeile sie abdeckt. Unter 1 ist ein Rabatt, über 1 ein Aufschlag |
overrides |
Zuordnung von Modell-ID zu einem Preisobjekt mit input, output, cacheRead und cacheWrite, jeweils 0 bis 10000 |
Die Preise in USD pro Million Token für dieses Modell, alle vier erforderlich. cacheWrite deckt sowohl Cache-Schreibvorgänge mit fünf Minuten als auch mit einer Stunde ab. Siehe Für welche Modelle eine Zeile gilt |
Claude Code verwendet die Preise einer Zeile genau so, wie Sie sie geschrieben haben, ohne den Fast-Modus-Aufschlag oder den Preis für reine US-Inferenz hinzuzufügen. Wenn Sie auch multiplier setzen, wendet Claude Code ihn zusätzlich auf die Preise der Zeile an. Claude Code entfernt eine Zeile mit einem Preis, den es nicht parsen kann, oder einen multiplier, den es nicht parsen kann, und behält den Rest; siehe Fehlerhafte Einstellungsdatei beheben.
Für welche Modelle eine modelPricing-Zeile gilt
Claude Code bestimmt anhand des Schlüssels der Zeile, für welche Modelle eine Zeile 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, wie
claude-sonnet-4-6, oder seine Bedrock-, Agent Platform- oder Foundry-ID. Claude Code wendet die Zeile auf jede datierte Snapshot-ID und jede providerspezifische ID dieses Modells an. - Jeder andere Schlüssel: ein Schlüssel, der nicht die ID eines integrierten Modells ist, wie ein Gateway-Modellalias. Claude Code wendet die Zeile nur auf genau diese ID an. Wenn eine Modell-ID genau mit einem Ihrer Schlüssel übereinstimmt und zugleich unter eine Zeile fällt, deren Schlüssel die ID eines integrierten Modells ist, verwendet Claude Code die genaue Übereinstimmung.
- Ein Bedrock-Anwendungsinferenzprofil: Sobald Claude Code das Profil über Ihre Zuordnung
modelOverridesoder die Abfragebedrock:GetInferenceProfilezu dem Modell aufgelöst hat, an das es weiterleitet, 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 später.
Wenn Sie in einer interaktiven Sitzung auf Ihrem Computer low, medium, high oder xhigh mit /effort oder dem Effort-Schieberegler der Auswahl /model als Ihren Standard speichern, schreibt Claude Code diese Stufe hier unter dem Modell, das Sie verwenden, daher bearbeiten Sie diesen Schlüssel selten selbst. Wenn Sie eine dieser Stufen in der Modellauswahl der VS Code-Erweiterung auswählen, speichert Claude Code sie auf dieselbe Weise hier. Der Eintrag effortLevel listet die Sitzungen auf, in denen /effort nur für diese Sitzung gilt.
Bearbeiten Sie den Schlüssel manuell, um eine gespeicherte Stufe zu ändern oder zu entfernen.
Ein effortLevel eines Modells hier hat Vorrang vor dem effortLevel der obersten Ebene (effortLevel) in derselben Einstellungsdatei. Dateiübergreifend 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 effortLevel der obersten Ebene setzt, das für dieses Modell gilt, entscheidet, daher hat ein effortLevel in verwalteten Einstellungen Vorrang vor einer Stufe, die Sie in Benutzereinstellungen gespeichert haben. Effort-Stufe anpassen listet auf, was eine gespeicherte Stufe sonst noch überschreiben kann, wie --effort beim Start.
Um den Effort eines Modells zu begrenzen, anstatt seine Stufe festzulegen, fügen Sie dem Eintrag dieses Modells ein Feld maxEffortLevel hinzu. Das Feld erfordert Claude Code v2.1.267 oder später.
- Geltungsbereich:
Beliebige Datei - Typ: Objekt, das einen Modellnamen einem Objekt mit beliebigen dieser Felder zuordnet:
effortLevel: einer von"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 einemautoCompactWindowder obersten Ebene in derselben Einstellungsdatei. Erfordert Claude Code v2.1.288 oder später
- Standard: nicht gesetzt
Claude Code schreibt jeden Eintrag unter dem kanonischen Namen des Modells, wie claude-opus-5-5, und ordnet den Alias, die IDs mit Datumssuffix, [1m] und erkannte providerspezifische IDs dieses Modells demselben Eintrag zu.
Dieses Beispiel hält Opus 5.5 auf high, während andere Modelle ihre eigenen gespeicherten oder Standardstufen verwenden:
{
"modelSettings": {
"claude-opus-5-5": {
"effortLevel": "high"
}
}
}
Führen Sie /effort auto aus, um Ihre gespeicherte Stufe für das Modell zu löschen, das Sie verwenden. Claude Code lässt die anderen Einträge und jedes effortLevel der obersten Ebene bestehen.
outputStyle
Wählen Sie einen Ausgabestil nach Namen aus. Ein Ausgabestil ist ein gespeicherter Satz von Anweisungen, der Claudes Rolle, Ton und Ausgabeformat ändert, wie die integrierten Stile Explanatory und Learning oder ein Stil, den Sie selbst geschrieben haben.
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:
Beliebige Datei - Typ: String, der Name eines integrierten oder benutzerdefinierten Ausgabestils
- Standard: nicht gesetzt, daher verwendet Claude Code den Standardstil
Dieses Beispiel wählt den integrierten Stil Explanatory, der zwischen Aufgaben erklärende Einblicke hinzufügt:
{
"outputStyle": "Explanatory"
}
promptCacheTtl
Legen Sie fest, wie lange der Prompt-Cache die Hauptkonversation vorhält. Dieser Schlüssel gilt für Ihre interaktiven, -p- 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 ü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 später.
- Geltungsbereich:
Beliebige Datei - Typ: String, einer von:
"5m": der Cache hält fünf Minuten"1h": der Cache hält eine Stunde
- Standard: nicht gesetzt, daher erhält jede Anfrage der Hauptkonversation 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
Dieses Beispiel hält die Hauptkonversation auf der einstündigen Lebensdauer und lässt Subagenten bei fünf Minuten:
{
"promptCacheTtl": "1h",
"subagentPromptCacheTtl": "5m"
}
Was jede Lebensdauer kostet, erfahren Sie unter Cache-Lebensdauer.
showThinkingSummaries
Zeigen Sie Zusammenfassungen von Claudes Extended Thinking in interaktiven Sitzungen an. Setzen Sie den Schlüssel, wenn Sie die vollständigen Zusammenfassungen sehen möchten, wenn Sie Thinking mit Ctrl+O aufklappen. Wenn er nicht gesetzt oder false ist, schwärzt die Anthropic API Thinking-Blöcke und Claude Code zeigt einen zugeklappten Platzhalter; Drittanbieter-Provider schwärzen nicht.
- Geltungsbereich:
Beliebige Datei - 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
- Standard:
false
{
"showThinkingSummaries": true
}
Die Schwärzung ändert nur, was Sie sehen, nicht was das Modell generiert. Um die Thinking-Kosten zu senken, verringern Sie stattdessen das Budget oder deaktivieren Sie Thinking.
subagentPromptCacheTtl
Legen Sie fest, wie lange der Prompt-Cache die Anfragen vorhält, die Claude Code außerhalb der Hauptkonversation stellt. Dieser Schlüssel gilt für Subagenten, Workflows und die eigenen Hintergrund- und Hilfsanfragen von Claude Code, wie Komprimierung und Sitzungstitel. Die einstündige Lebensdauer hält den Cache ü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 später.
- Geltungsbereich:
Beliebige Datei - Typ: String, einer von:
"5m": der Cache hält fünf Minuten"1h": der Cache hält eine Stunde
- Standard: nicht gesetzt, daher erhält jede dieser Anfragen 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 Frontmatter-Wert eines Subagenten selbst in dieser Rangfolge steht, erfahren Sie unter Die TTL selbst wählen
Dieses Beispiel gibt Subagenten und den anderen Anfragen außerhalb der Hauptkonversation die einstündige Lebensdauer:
{
"subagentPromptCacheTtl": "1h"
}
Dieser Schlüssel deckt die Anfragen ab, die promptCacheTtl nicht abdeckt, daher setzen Sie beide, um für jede Anfrage von Claude Code eine Lebensdauer festzulegen. 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 Sicherheits-Klassifikator eine Anfrage kennzeichnet: zum Fallback-Modell wechseln und fortfahren oder pausieren, damit Sie zwischen Wechseln und Bearbeiten des Prompts wählen können.
- Geltungsbereich:
Beliebige Datei. Erscheint in/configals Modelle wechseln, wenn eine Nachricht gekennzeichnet ist, mit den Optionen Automatisch wechseln und Jedes Mal fragen. - 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, wie bei einem-p-Lauf, endet die gekennzeichnete Anfrage mit einem Fehler
- Standard: nicht gesetzt. Claude Code wechselt automatisch, kann in einer interaktiven Sitzung aber zuerst nachfragen
{
"switchModelsOnFlag": false
}
Siehe Vor dem Wechsel fragen.
ultracode
Starten Sie Sitzungen mit aktiviertem Ultracode. Wenn es aktiviert ist, plant Claude für jede substanzielle Aufgabe einen Workflow, anstatt darauf zu warten, dass Sie darum bitten. 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 aktiviert Ultracode nur für die aktuelle Sitzung.
- Geltungsbereich:
Beliebige Datei - Typ: Boolean
true: Sitzungen starten mit aktiviertem Ultracode, wenn dynamische Workflows für Sie aktiviert sind und Ihr Modellxhighunterstütztfalse: Sitzungen starten mit deaktiviertem Ultracode
- Standard: nicht gesetzt, daher ist Ultracode deaktiviert
- Überschreibungen pro Sitzung:
/effort ultracodeaktiviert Ultracode für eine Sitzung ohne diesen Schlüssel, und/effort ultracode offdeaktiviert es für eine Sitzung, wenn dieser Schlüsseltrueist. Das Flag--effort ultracodeaktiviert es ebenfalls für eine Sitzung, mit dem Effortxhigh
{
"ultracode": true
}
Die Effort-Stufe der Sitzung ergibt sich aus effortLevel, modelSettings und den anderen Effort-Quellen, und eine Effort-Obergrenze wie maxEffortLevel senkt diese Stufe, ohne Ultracode auszuschalten. Dies und die Form /effort ultracode off erfordern Claude Code v2.1.284 oder später. Vor v2.1.284 ließ ultracode: true die Sitzung mit dem Effort xhigh laufen, und eine Effort-Obergrenze unter xhigh hielt Ultracode ausgeschaltet. Eine Agent SDK-Steuerungsanfrage apply_flag_settings akzeptiert den Schlüssel ebenfalls.
Berechtigungseinstellungen
Entscheiden Sie, was Claude ohne Nachfrage tun kann, in welchem Berechtigungsmodus eine Sitzung startet, 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
Skills aus verwalteten Einstellungen und mitgelieferte Skills behalten ihr allowed-tools. 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
{
"allowManagedPermissionRulesOnly": true
}
Dieser Schlüssel sperrt nicht die MCP-Server-Allowlist; verwenden Sie dazu 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
Dieses Beispiel behält die integrierten soft_deny-Regeln durch "$defaults" und fügt eine weitere hinzu, die terraform apply blockiert:
{
"autoMode": {
"soft_deny": ["$defaults", "Never run terraform apply"]
}
}
Wenn mehr als eine dieser Dateien dasselbe Array setzt, verkettet Claude Code die Einträge. Informationen zum Regelformat und zur Anwendung der einzelnen Arrays finden Sie unter Auto-Modus konfigurieren.
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
{
"autoMode": {
"classifyAllShell": true
}
}
Siehe Alle Shell-Befehle durch den Klassifikator leiten.
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
{
"disableAutoMode": "disable"
}
permissions
Steuern Sie, welche Tools Claude ohne Nachfrage verwenden kann, bei welchen immer nachgefragt wird und welche blockiert sind, und legen Sie den Berechtigungsmodus fest, in dem eine Sitzung startet. Jeder permissions.*-Schlüssel unten verschachtelt sich unter diesem Objekt.
- Geltungsbereich:
Any file - Typ: Objekt mit
allow,ask,deny,additionalDirectories,blockReadsOutsideWorkingDirectories,defaultMode,disableBypassPermissionsModeunddisableAutoMode - Standard: nicht gesetzt
Dieses Beispiel genehmigt npm run-Befehle ohne Nachfrage, fragt vor git push nach, blockiert Lesevorgänge von .env und startet Sitzungen im acceptEdits-Modus:
{
"permissions": {
"allow": ["Bash(npm run *)"],
"ask": ["Bash(git push *)"],
"deny": ["Read(./.env)"],
"defaultMode": "acceptEdits"
}
}
Die drei Regel-Arrays teilen sich eine Syntax; siehe Berechtigungsregelsyntax unter 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. - Typ: Boolean
true: dasselbe wie nicht gesetzt; wenn der Auto-Modus verfügbar ist, überprüft der Klassifikator jeden Shell-Befehl während der Planung, anstatt bei Ihnen nachzufragen, außer bei Entfernungen kritischer Pfade. Einfalsein einer dieser Dateien schaltet es immer noch ausfalse: Sie erhalten eine Berechtigungsabfrage für jeden Befehl außerhalb des integrierten Satzes nur lesender Befehle
- Standard:
true
{
"useAutoModeDuringPlan": false
}
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
Dieses Beispiel genehmigt git diff und lässt Claude Code Ihre .zshrc ohne Nachfrage lesen:
{
"permissions": {
"allow": ["Bash(git diff *)", "Read(~/.zshrc)"]
}
}
Claude Code wendet 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 Format Tool 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.
| Regel | Worauf sie zutrifft |
|---|---|
Bash |
Jeder Bash-Befehl |
Bash(npm run *) |
Befehle, die mit npm run beginnen |
Read(./.env) |
Lesevorgänge der .env-Datei |
WebFetch(domain:example.com) |
Fetch-Anfragen an example.com |
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
{
"permissions": {
"ask": ["Bash(git push *)"]
}
}
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
Dieses Beispiel verweigert Lesevorgänge von .env-Dateien, dem secrets-Verzeichnis und einer Datei mit Anmeldedaten und blockiert curl-Befehle:
{
"permissions": {
"deny": [
"Read(./.env)",
"Read(./.env.*)",
"Read(./secrets/**)",
"Read(./config/credentials.json)",
"Bash(curl *)"
]
}
}
Tool-Namen akzeptieren Glob-Muster, daher verweigert "*" 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
{
"permissions": {
"additionalDirectories": ["../docs/"]
}
}
Wie 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
Ein Bash-Befehl, den der Shell-Parser nicht nachverfolgen kann, etwa einer, der das Verzeichnis mehr als einmal wechselt oder eine Subshell ausführt, fragt auch im Auto-Modus und im 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
{
"permissions": {
"blockReadsOutsideWorkingDirectories": true
}
}
Verzeichnisse, die Sie mit --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.
Um die Blockierung aufzuheben, entfernen Sie den Schlüssel aus jeder Einstellungsdatei, die ihn setzt, und starten Sie dann eine neue Sitzung.
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[
Unter der Blockierung gibt Claude Code Ihre globalen Git-Konfigurationsdateien für in einer Sandbox ausgeführte Befehle wieder frei, damit 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
Claude Code beurteilt jede Datei einzeln. Wenn eine Datei an einem Ort liegt, an dem ein in einer Sandbox ausgeführter Befehl schreiben kann, direkt oder über einen Symlink, gibt Claude Code die darin angegebenen Dateien nicht wieder frei.
Unter Linux und WSL2 kann eine Konfigurationsdatei, die ein Symlink ist, unter ihrem eigenen Pfad unlesbar bleiben; 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.defaultMode
Legen Sie den Berechtigungsmodus fest, in dem neue Sitzungen starten. Wenn Sie ihn nicht gesetzt lassen, starten Sitzungen im integrierten 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
{
"permissions": {
"defaultMode": "acceptEdits"
}
}
Berechtigungsregeln überlagern jeden Modus: 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.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
{
"permissions": {
"disableBypassPermissionsMode": "disable"
}
}
Vor v2.1.223 wendete Claude Code den Frontmatter-Berechtigungsmodus auch mit deaktiviertem Bypass an.
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
{
"skipAutoPermissionPrompt": true
}
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 managed. 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
{
"skipDangerousModePermissionPrompt": true
}
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,bwrapPath,socatPath,ignoreViolationsundripgrep, plus die Objektefilesystem,networkundcredentials - Standard: nicht gesetzt, daher führt Claude Code Befehle ohne Sandbox aus
Dies aktiviert die Sandbox, überspringt Berechtigungsabfragen für Befehle in der Sandbox, führt docker außerhalb der Sandbox aus, öffnet zwei zusätzliche Schreibpfade, verbirgt Ihre AWS-Anmeldedatei und erlaubt GitHub und npm vorab:
{
"sandbox": {
"enabled": true,
"autoAllowBashIfSandboxed": true,
"excludedCommands": ["docker *"],
"filesystem": {
"allowWrite": ["/tmp/build", "~/.kube"],
"denyRead": ["~/.aws/credentials"]
},
"network": {
"allowedDomains": ["github.com", "*.npmjs.org"]
}
}
}
Wenn verwaltete Einstellungen einen booleschen Schlüssel wie 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
{
"sandbox": {
"enabled": true
}
}
Auf Linux und WSL2 benötigt die Sandbox 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 true ist, die Sandbox aber nicht starten kann, weil eine Abhängigkeit fehlt oder die Plattform nicht unterstützt wird. Ohne diesen Schlüssel führt Claude Code Befehle ohne Sandbox aus. Verwaltete Bereitstellungen, die Sandboxing als Sicherheitsschranke erfordern, 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: Boolescher Wert
true: Claude Code beendet sich beim Start mit einem Fehler, wennsandbox.enabledtrueist, die Sandbox aber nicht starten kannfalse: Claude Code führt Befehle ohne Sandbox aus, wenn die Sandbox nicht starten kann
- Standard:
false
Dies lässt jeden verwalteten Computer Befehle in der Sandbox ausführen oder den Start verweigern:
{
"sandbox": {
"enabled": true,
"failIfUnavailable": true
}
}
Siehe Enforce sandboxing with managed settings.
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
Dies behält die Sandbox bei und leitet Befehle in der Sandbox durch den regulären Berechtigungsfluss:
{
"sandbox": {
"enabled": true,
"autoAllowBashIfSandboxed": false
}
}
Siehe Auto-allow mode dafür, wobei der Modus mit automatischer Freigabe weiterhin nachfragt und wie er sich im Plan-Modus verhält.
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
{
"sandbox": {
"excludedCommands": ["docker *"]
}
}
Claude Code hält einen Bash-Aufruf in der Sandbox, wenn er unter anderem eine dieser Formen hat:
- 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, wie
docker build . > build.log, außer einer, die nur einen Dateideskriptor dupliziert, wie2>&1es tut - 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
Zum Beispiel bleibt 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
Dies erzwingt den strikten Sandbox-Modus für alle, für die die verwalteten Einstellungen gelten:
{
"sandbox": {
"enabled": true,
"allowUnsandboxedCommands": false
}
}
Ein 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
Dies lässt Befehle in der Sandbox in ein Build-Verzeichnis und Ihre kubeconfig schreiben und verbirgt Ihre AWS-Anmeldedatei:
{
"sandbox": {
"filesystem": {
"allowWrite": ["/tmp/build", "~/.kube"],
"denyRead": ["~/.aws/credentials"]
}
}
}
Claude Code erzwingt diese Listen an der OS-Sandbox-Grenze, daher gelten sie für jeden Unterprozess, den ein Befehl in der Sandbox startet, z. B. 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 in allowWrite, denyWrite, denyRead, allowRead und credentials.files werden nach ihrem Präfix aufgelöst:
| Präfix | Bedeutung | Beispiel |
|---|---|---|
/ |
Absoluter Pfad vom Dateisystem-Root | /tmp/build bleibt /tmp/build |
~/ |
Relativ zum Home-Verzeichnis | ~/.kube wird zu $HOME/.kube |
./ oder kein Präfix |
Relativ zum Projekt-Root für Projekteinstellungen oder zu ~/.claude für Benutzereinstellungen |
./output in .claude/settings.json wird zu <project-root>/output |
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.
Claude Code entfernt auch ein nachgestelltes /**, daher decken ~/build/** und ~/build dasselbe Verzeichnis ab. Ob eine Wildcard wie * funktioniert, hängt davon ab, in welcher Liste sich der Eintrag befindet, und von der Plattform:
allowWriteunddenyWrite: Auf macOS funktionieren Wildcards. Auf Linux und WSL2 mountet die Sandbox konkrete Pfade, daher überspringt Claude Code einen Eintrag, der nach dem Entfernen des nachgestellten/**noch*,?oder[enthält, und dieser Eintrag hat keine Wirkung. Claude Code fügt die Pfade aus IhrenEdit-Berechtigungsregeln zu diesen Listen hinzu, daher gilt für sie dieselbe Einschränkung, und die Config-Registerkarte von/sandboxwarnt vorEdit- undRead-Berechtigungsregeln, die Wildcards enthalten.denyReadundallowRead: Wildcards funktionieren auf jeder Plattform. Auf Linux und WSL2 erweitert Claude Code einen Leseeintrag auf die konkreten Pfade, auf die er passt, was es für die Schreiblisten nicht tut.
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
Dies lässt einen Build unter /tmp/build schreiben und lässt kubectl Ihre kubeconfig aktualisieren:
{
"sandbox": {
"filesystem": {
"allowWrite": ["/tmp/build", "~/.kube"]
}
}
}
Claude Code führt 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
Dies verhindert, dass Befehle in der Sandbox die Systemkonfiguration ändern oder Binärdateien installieren:
{
"sandbox": {
"filesystem": {
"denyWrite": ["/etc", "/usr/local/bin"]
}
}
}
Claude Code führt Einträge über jeden Einstellungsbereich zusammen, den die Sitzung lädt, und fügt die Pfade aus Ihren 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
{
"sandbox": {
"filesystem": {
"denyRead": ["~/.aws/credentials"]
}
}
}
Claude Code führt Einträge über jeden Einstellungsbereich zusammen, den die Sitzung lädt, und fügt die Pfade aus Ihren 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
Dies blockiert Lesevorgänge in Ihrem Home-Verzeichnis mit Ausnahme des Projekts selbst:
{
"sandbox": {
"filesystem": {
"denyRead": ["~/"],
"allowRead": ["."]
}
}
}
Claude Code löst einen .-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
Dies blockiert Lesevorgänge im Home-Verzeichnis, gibt ~/work wieder frei und verhindert, dass Entwickler etwas anderes freigeben:
{
"sandbox": {
"filesystem": {
"denyRead": ["~/"],
"allowRead": ["~/work"],
"allowManagedReadPathsOnly": true
}
}
}
Siehe Keep developers from widening the policy.
sandbox.filesystem.disabled
Überspringen Sie die Dateisystem-Isolierung, während die Netzwerk-Isolierung erhalten bleibt. 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 es, wenn Sie die Sandbox einsetzen, um zu steuern, wohin Befehle sich verbinden, und nicht, was sie schreiben. Erfordert Claude Code v2.1.216 oder später.
- 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
Dies lässt das Dateisystem offen und beschränkt den ausgehenden Netzwerkverkehr auf GitHub und npm:
{
"sandbox": {
"enabled": true,
"filesystem": {
"disabled": true
},
"network": {
"allowedDomains": ["github.com", "*.npmjs.org"]
}
}
}
Bei deaktivierter Schicht erzwingt Claude Code weder denyRead- noch credentials.files-deny-Einträge, während credentials.envVars-Einträge und angewendete mask-Einträge weiterhin funktionieren. autoAllowBashIfSandboxed ist weiterhin standardmäßig true, setzen Sie es daher auf false, damit weiterhin nachgefragt wird. Siehe Disable filesystem isolation für die vollständige Liste der Quellen, die es setzen können, und was sich ändert, wenn die Isolierung deaktiviert ist. Erfordert Claude Code v2.1.216 oder später.
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
{
"sandbox": {
"ignoreViolations": {
"*": ["/etc/hosts"]
}
}
}
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
{
"sandbox": {
"enabled": true,
"enableWeakerNestedSandbox": true
}
}
Nur Linux und WSL2. Siehe Bubblewrap fails to start inside a container.
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
{
"sandbox": {
"enabled": true,
"enableWeakerNetworkIsolation": true
}
}
Wenn Sie keinen MITM-Proxy verwenden, listen Sie die fehlschlagenden Tools stattdessen in 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
{
"sandbox": {
"enabled": true,
"allowAppleEvents": true
}
}
Um die Isolierung beizubehalten und trotzdem ein solches Tool auszuführen, fügen Sie es stattdessen zu excludedCommands hinzu. Siehe Apple Events on macOS.
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
{
"sandbox": {
"ripgrep": {
"command": "/usr/local/bin/rg"
}
}
}
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
{
"sandbox": {
"enabled": true,
"bwrapPath": "/opt/admin/bwrap"
}
}
Nur Linux und WSL2.
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
{
"sandbox": {
"enabled": true,
"socatPath": "/opt/admin/socat"
}
}
Nur Linux und WSL2.
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
Dies verbirgt Ihre AWS-Anmeldedatei und entfernt GITHUB_TOKEN aus Befehlen in der Sandbox:
{
"sandbox": {
"credentials": {
"files": [{ "path": "~/.aws/credentials", "mode": "deny" }],
"envVars": [{ "name": "GITHUB_TOKEN", "mode": "deny" }]
}
}
}
Der 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 verwalteter sandbox.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.
Gilt in v2.1.191 und später; vor v2.1.221 wurde jeder ungültige Eintrag entfernt. Für die anderen verwalteten Schlüssel mit feldweiser Behandlung siehe Invalid entries in managed settings.
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
Dies verbirgt Ihre AWS-Anmeldedatei und maskiert die gh-Hosts-Datei, wobei der echte Wert nur bei Anfragen an api.github.com eingesetzt wird:
{
"sandbox": {
"credentials": {
"files": [
{ "path": "~/.aws/credentials", "mode": "deny" },
{ "path": "~/.config/gh/hosts.yml", "mode": "mask", "injectHosts": ["api.github.com"] }
]
}
}
}
Pfade verwenden dieselben Präfixe wie die 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
Ein mask-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.
| Feld | Typ | Funktion |
|---|---|---|
extract |
Zeichenfolge, ein regulärer Ausdruck mit mindestens einer Erfassungsgruppe | Maskiert nur den Text, den Gruppe 1 jedes Treffers erfasst, damit der Rest der Datei parsebar bleibt. Wenn zusätzlich decode gesetzt ist, prüft Claude Code jede Erfassung als mögliches JWT, anstatt sie direkt zu ersetzen. Erfordert v2.1.221 oder später |
onExtractNoMatch |
"warn", "deny" oder "error"; Standard "warn" |
Was passiert, wenn extract oder decode nichts zum Maskieren findet. warn lässt die Datei in der Sandbox unverändert lesbar, deny macht sie unlesbar, und error stoppt die Einrichtung der Sandbox, bis Sie die Konfiguration korrigieren. Claude Code behandelt deny als error, wenn die Lesesperre nicht erzwungen würde, weil Sie die Dateisystem-Isolierung deaktivieren oder ein sandbox.filesystem.allowRead-Eintrag den Pfad wieder freigibt. Erfordert v2.1.221 oder später; der decode-Fall erfordert v2.1.224 oder später |
decode |
die Zeichenfolge "jwt" |
Findet JSON Web Tokens (JWTs) in der Datei, mit einem integrierten Muster oder mit extract, falls gesetzt, verifiziert jeden Kandidaten und ersetzt ihn durch ein strukturell gültiges gefälschtes Token, damit Code in der Sandbox, der das Token dekodiert, weiterhin funktioniert. Wenn kein Kandidat verifiziert wird, bestimmt onExtractNoMatch das Ergebnis. Erfordert v2.1.224 oder später |
maskClaims |
Array von Zeichenfolgen, mindestens ein Claim-Name; erfordert decode |
Maskiert nur die benannten Top-Level-Claims der Payload in jedem verifizierten JWT und baut das Token um die geänderte Payload herum neu auf, damit die anderen Claims lesbar bleiben. Wenn kein benannter Claim passt, bestimmt onExtractNoMatch das Ergebnis. Erfordert v2.1.224 oder später |
maskDuplicates |
Boolescher Wert, Standard false |
Ersetzt auch wörtliche Kopien jedes maskierten Werts an anderen Stellen der Datei, z. B. ein in einen Kommentar eingefügtes Geheimnis. Claude Code gleicht rohe Teilzeichenfolgen ab, verwenden Sie es daher nur für lange Geheimnisse mit hoher Entropie. Wird nur berücksichtigt, wenn extract oder decode gesetzt ist. Erfordert v2.1.221 oder später |
injectHosts |
Array von Zeichenfolgen, jede ein Host, den sandbox.network.allowedDomains ebenfalls zulässt |
Grenzt die Hosts ein, bei denen der Sandbox-Proxy den echten Wert einsetzt. Wenn nicht gesetzt, setzt der Proxy ihn bei Anfragen an jeden Host in sandbox.network.allowedDomains ein. Erfordert v2.1.221 oder später |
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:
{
"sandbox": {
"credentials": {
"files": [
{
"path": "~/.config/gh/hosts.yml",
"mode": "mask",
"extract": "oauth_token:\\s*(\\S+)",
"maskDuplicates": true,
"onExtractNoMatch": "deny",
"injectHosts": ["api.github.com"]
}
]
}
}
}
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
Dies entfernt NPM_TOKEN aus Befehlen in der Sandbox und maskiert GITHUB_TOKEN, wobei der echte Wert nur bei Anfragen an api.github.com eingesetzt wird:
{
"sandbox": {
"credentials": {
"envVars": [
{ "name": "NPM_TOKEN", "mode": "deny" },
{ "name": "GITHUB_TOKEN", "mode": "mask", "injectHosts": ["api.github.com"] }
]
}
}
}
Der 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
Ein mask-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.
| Feld | Typ | Funktion |
|---|---|---|
extract |
Zeichenfolge, ein regulärer Ausdruck mit mindestens einer Erfassungsgruppe | Maskiert nur den Text, den Gruppe 1 jedes Treffers erfasst, z. B. das Passwort in einer DATABASE_URL-Verbindungszeichenfolge, damit der Rest des Werts parsebar bleibt. Erfordert v2.1.224 oder später |
onExtractNoMatch |
"warn", "deny" oder "error"; Standard "warn". Bei einem Eintrag mit decode wird nur "warn" akzeptiert |
Was passiert, wenn extract auf nichts passt. warn gibt die Variable unmaskiert weiter, deny entfernt sie in der Sandbox, und error stoppt die Einrichtung der Sandbox, bis Sie die Konfiguration korrigieren. Erfordert v2.1.224 oder später |
decode |
die Zeichenfolge "jwt" |
Verifiziert, dass der gesamte Wert ein JWT ist, und ersetzt ihn durch ein strukturell gültiges gefälschtes Token, damit Code in der Sandbox, der das Token dekodiert, weiterhin funktioniert; der Proxy setzt beim ausgehenden Verkehr das gesamte echte Token ein. Ein Wert, der nicht verifiziert wird, wird mit einer Warnung unmaskiert weitergegeben. Erfordert v2.1.224 oder später |
maskClaims |
Array von Zeichenfolgen, mindestens ein Claim-Name; erfordert decode |
Maskiert nur die benannten Top-Level-Claims der Payload im dekodierten JWT und baut das Token um die geänderte Payload herum neu auf, damit die anderen Claims lesbar bleiben. Wenn kein benannter Claim passt, wird die Variable mit einer Warnung unmaskiert weitergegeben. Erfordert v2.1.224 oder später |
injectHosts |
Array von Zeichenfolgen, jede ein Host, den sandbox.network.allowedDomains ebenfalls zulässt |
Grenzt die Hosts ein, bei denen der Sandbox-Proxy den echten Wert einsetzt. Wenn nicht gesetzt, setzt der Proxy ihn bei Anfragen an jeden Host in sandbox.network.allowedDomains ein. Schreiben Sie ein IPv6-Ziel als bloße komprimierte Adresse, z. B. "::1", nicht in der geklammerten Form; siehe IPv6 destinations in injectHosts |
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:
{
"sandbox": {
"credentials": {
"envVars": [
{
"name": "DATABASE_URL",
"mode": "mask",
"extract": "://[^:]+:([^@]+)@",
"onExtractNoMatch": "deny"
},
{
"name": "SERVICE_JWT",
"mode": "mask",
"decode": "jwt",
"maskClaims": ["api_key"]
}
]
}
}
}
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
{
"sandbox": {
"credentials": {
"allowPlaintextInject": true
}
}
}
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
Dies verknüpft drei benutzerdefiniert benannte Variablen zu einem AWS-Anmeldedatensatz für die Neusignierung:
{
"sandbox": {
"credentials": {
"awsPairs": [
{
"accessKeyIdVar": "MY_KEY_ID",
"secretAccessKeyVar": "MY_SECRET_KEY",
"sessionTokenVar": "MY_SESSION_TOKEN"
}
]
}
}
}
Jede benannte Variable muss ein 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"
Dies leitet Streaming-Uploads weiter, anstatt sie am Proxy scheitern zu lassen:
{
"sandbox": {
"credentials": {
"sigv4": {
"streaming": "passthrough"
}
}
}
}
Mit 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
Dies erlaubt GitHub und npm vorab, blockiert uploads.github.com und lässt Befehle an localhost binden:
{
"sandbox": {
"network": {
"allowedDomains": ["github.com", "*.npmjs.org"],
"deniedDomains": ["uploads.github.com"],
"allowLocalBinding": true
}
}
}
Claude Code führt die Array-Unterschlüssel über Einstellungsbereiche zusammen, sodass ein Projekt Domänen zu Ihrer Benutzerliste hinzufügen kann, sofern keine Repository-Sperre greift. 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
{
"sandbox": {
"network": {
"allowUnixSockets": ["~/.ssh/agent-socket"]
}
}
}
Ein Socket-Pfad kann weitreichenden Zugriff gewähren: Wenn Sie beispielsweise /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: Boolescher Wert
true: Befehle in der Sandbox können eine Verbindung zu jedem Unix-Socket herstellenfalse: Die Sandbox blockiert Unix-Socket-Verbindungen: auf macOS mit Ausnahme der Pfade inallowUnixSockets, und auf Linux und WSL2 über den seccomp-Filter, sofern er vorhanden ist
- Standard:
false
{
"sandbox": {
"network": {
"allowAllUnixSockets": true
}
}
}
Auf WSL2 öffnet 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
{
"sandbox": {
"network": {
"allowLocalBinding": true
}
}
}
sandbox.network.allowMachLookup
Listen Sie zusätzliche XPC- und Mach-Servicenamen auf, die die macOS-Sandbox nachschlagen darf. Tools, die über XPC kommunizieren, wie der iOS-Simulator oder Playwright, benötigen hier einen Eintrag für ihre Services.
- 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
Dies erlaubt jeden Service unter dem Präfix com.apple.coresimulator.:
{
"sandbox": {
"network": {
"allowMachLookup": ["com.apple.coresimulator.*"]
}
}
}
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
Dies erlaubt GitHub auf jedem Port, jede npm-Subdomäne und einen API-Host nur auf Port 443 vorab:
{
"sandbox": {
"network": {
"allowedDomains": ["github.com", "*.npmjs.org", "api.example.com:443"]
}
}
}
Schreiben Sie IPv6-Literale in eckigen Klammern, mit optionalem Port: "[::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
{
"sandbox": {
"network": {
"deniedDomains": ["sensitive.cloud.example.com"]
}
}
}
Claude Code führt diese Liste aus jeder Einstellungsquelle zusammen, die die Sitzung lädt, auch wenn 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
{
"sandbox": {
"network": {
"strictAllowlist": true
}
}
}
Claude Code erzwingt dies nur für Befehle in der Sandbox; In-Process-Tools wie 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
Dies sperrt die Allowlist auf GitHub und npm und ignoriert alle Domänen, die Entwickler hinzufügen:
{
"sandbox": {
"network": {
"allowManagedDomainsOnly": true,
"allowedDomains": ["github.com", "*.npmjs.org"]
}
}
}
Solange der Schlüssel 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
{
"sandbox": {
"network": {
"httpProxyPort": 8080
}
}
}
Setzen Sie zusätzlich 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
{
"sandbox": {
"network": {
"socksProxyPort": 8081
}
}
}
Siehe Custom proxy configuration.
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
{
"sandbox": {
"network": {
"tlsTerminate": {}
}
}
}
Wenn mehr als eine berücksichtigte Quelle es setzt, verwendet Claude Code den Wert aus der Quelle mit der höchsten Priorität: verwaltete Einstellungen, dann das --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
{
"autoCompactEnabled": false
}
Der manuelle /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
{
"autoCompactWindow": 500000
}
Der Befehl /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/
{
"autoMemoryDirectory": "~/my-memory-dir"
}
Aus Projekt- oder lokalen Einstellungen respektiert Claude Code diesen Schlüssel unter der gleichen Workspace-Vertrauensregel wie Hooks, da ein geklontes Repository diese Dateien bereitstellen kann.
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
{
"autoMemoryEnabled": false
}
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
{
"bashOutputMaxChars": 100000
}
Wenn Sie diesen Schlüssel setzen, ignoriert Claude Code die Umgebungsvariable 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
Dieses Beispiel stellt zwei Regeln als kurze Markdown-Liste bereit:
{
"claudeMd": "# Engineering rules\n\n- Always run make lint before committing.\n- Never push directly to main."
}
Siehe Organisationsweite CLAUDE.md bereitstellen.
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
{
"claudeMdExcludes": ["**/vendor/**/CLAUDE.md"]
}
Ausschlüsse gelten nur für Benutzer-, Projekt- und lokale Memory-Dateien; CLAUDE.md-Dateien aus verwalteten Richtlinien können nicht ausgeschlossen werden.
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
Dieses Beispiel deaktiviert die automatische Komprimierung und leitet API-Anfragen über einen Proxy:
{
"env": {
"DISABLE_AUTO_COMPACT": "1",
"ANTHROPIC_BASE_URL": "https://proxy.example.com"
}
}
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 für Projekt- und lokale Einstellungen 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
Nur diese Werte gelten weiterhin aus Projekt- und lokalen Einstellungen, da sie etwas ausschalten:
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 die Timer für einen unbeantworteten Dialog festlegen:
CLAUDE_CODE_USER_DIALOG_TIMEOUT_MS,CLAUDE_AFK_TIMEOUT_MSundCLAUDE_AFK_COUNTDOWN_MS. -
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.
Vor v2.1.251 konnten Projekt- und lokale Einstellungen auch die Variablen in dieser Liste setzen, die festlegen, wo Claude Code seine Dateien schreibt, oder die Sitzungsinhalte exportieren, außer
HOMEundXDG_CONFIG_HOME. Vor v2.1.290 konnten sie auch die Variablen für die Dialog-Timer undCLAUDE_CODE_DISABLE_ATTACHMENTSsetzen. -
-
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.
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
{
"fileCheckpointingEnabled": false
}
In einem -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, kurz bevor ihr Prompt-Cache abläuft. Ihre nächste Nachricht sendet dann eine Zusammenfassung statt der gesamten Konversation. Wenn Sie zurückkehren, zeigt die Konversation eine Zeile an, die mit Compacted while idle, before the prompt cache expired beginnt.
Die Komprimierung im Leerlauf ist standardmäßig für Konversationen aktiviert, die alle diese Bedingungen erfüllen:
- Sitzung: Sie befinden sich in einer interaktiven Terminal-Sitzung
- Prompt-Cache: Die Konversation verwendet die einstündige Prompt-Cache-TTL
- Feature-Flags: Claude Code kann Feature-Flags von Anthropic abrufen
- 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 sind etwa 54 Minuten vergangen, und Ihr Computer befindet sich zu diesem Zeitpunkt nicht im Ruhezustand
Um die Komprimierung im Leerlauf auszuschalten, setzen Sie diesen Schlüssel auf 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
{
"idleCompaction": false
}
Um die Komprimierung im Leerlauf innerhalb einer Sitzung aus- oder einzuschalten, führen Sie /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 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
Der Schlüssel erfordert Claude Code v2.1.290 oder später. In einer früheren Version, die diesen Schlüssel ignoriert, deaktivieren Sie autoCompactEnabled, um die Komprimierung im Leerlauf zu stoppen.
Schwellenwert für die Komprimierung im Leerlauf ändern
Setzen Sie CLAUDE_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:
{
"env": {
"CLAUDE_CODE_IDLE_COMPACT_MIN_TOKENS": "150000"
}
}
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
{
"plansDirectory": "./plans"
}
In Fällen wie diesen speichert Claude Code Pläne in ~/.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
{
"skillListingBudgetFraction": 0.02
}
Um zu sehen, wie viel Kontext die Auflistung verwendet und welche Skills am meisten beitragen, führen Sie /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
{
"skillListingMaxDescChars": 2048
}
Erhöhen Sie den Wert, um lange Beschreibungen vollständig zu erhalten, auf Kosten von mehr Kontext pro Turn; senken Sie ihn, um mehr Skills innerhalb von skillListingBudgetFraction unterzubringen.
taskOutputMaxChars
[!WARNING]
Entfernt in v2.1.277, zusammen mit dem
TaskOutput-Tool, dessen Ausgabegröße es festlegte. Das Setzen hat in aktuellen Versionen keine Auswirkung. Claude liest die Ausgabedatei einer Hintergrundaufgabe stattdessen mitRead.
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" - Überschreibungen pro Sitzung:
CLAUDE_AFK_TIMEOUT_MShat für eine Sitzung Vorrang vor diesem Schlüssel
{
"askUserQuestionTimeout": "5m"
}
Erscheint in /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
{
"autoContinueAtUsageLimit": false
}
Erscheint in /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
{
"autoScrollEnabled": false
}
Erscheint in /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:
Any file - 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
{
"axScreenReader": true
}
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
{
"bashEditDiffEnabled": true
}
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
{
"companyAnnouncements": [
"Welcome to Acme Corp! Review our code guidelines at docs.example.com"
]
}
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
{
"defaultShell": "powershell"
}
Wenn die angegebene Shell nicht verfügbar ist, verwendet Claude Code die jeweils andere: "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
{
"dialogExpiry": "10m"
}
Berechtigungsabfragen und 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"
{
"editorMode": "vim"
}
Erscheint in /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
{
"emojiCompletionEnabled": false
}
Siehe Emoji-Shortcodes. Erfordert Claude Code v2.1.217 oder höher.
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
{
"fileSuggestion": {
"type": "command",
"command": "~/.claude/file-suggestion.sh"
}
}
Nachdem Sie dies gespeichert haben, geben Sie im Prompt @ 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ßlich CLAUDE_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:
{"query": "src/comp"}
Geben Sie durch Zeilenumbrüche getrennte Dateipfade auf stdout aus. Claude Code zeigt höchstens 15 an:
src/components/Button.tsx
src/components/Modal.tsx
src/components/Form.tsx
Das folgende Skript liest die Abfrage und übergibt sie an einen Dateiindex des Repositorys:
#!/bin/bash
query=$(cat | jq -r '.query')
# Replace your-repo-file-index with your own file search command
your-repo-file-index --query "$query" | head -20
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
Dieses Beispiel erkennt Issue-Schlüssel wie PROJ-1234 und erstellt jeden Link aus dem erfassten Schlüssel:
{
"footerLinksRegexes": [
{
"type": "regex",
"pattern": "\\b(?<key>PROJ-\\d+)\\b",
"url": "https://issues.example.com/browse/{key}",
"label": "{key}"
}
]
}
Wenn dies konfiguriert ist und 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:
| Einschränkung | Verhalten |
|---|---|
| URL-Ursprung | Erfasste Werte werden URL-kodiert, und die erstellte URL muss denselben literalen Ursprung wie die Vorlage haben. Eine Erfassung kann ein Pfadsegment oder einen Abfragewert füllen, aber nicht ändern, wohin der Link verweist |
| URL-Länge | Erstellte URLs mit mehr als 2048 Zeichen werden verworfen |
| URL-Schema | Muss https, http oder ein anerkanntes Deep-Link-Schema für Editoren oder Workspaces sein: vscode, vscode-insiders, cursor, windsurf, zed, jetbrains, idea, slack, linear, notion, figma |
| Beschriftung | Standardmäßig der übereinstimmende Text, gekürzt auf 28 Anzeigespalten |
| Badge-Anzahl | Höchstens 5 Badges werden gerendert. Das älteste wird durch neuere Treffer verdrängt, und /clear entfernt sie |
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
[!WARNING]
Seit v2.1.261 veraltet und ohne Wirkung. Die Tasten zur Wortbearbeitung im Prompt folgen immer den readline-Konventionen, wie in Bash. Claude Code akzeptiert
keybindingFlavorweiterhin, sodass eine Einstellungsdatei, die den Schlüssel setzt, gültig bleibt.
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
{
"maxProseWidth": 80
}
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
{
"prefersReducedMotion": true
}
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
{
"promptSuggestionEnabled": false
}
Prompt-Vorschläge erfordern ein claude.ai- oder Console-Konto mit eingeschalteter Telemetrie. Bei Amazon Bedrock, Google Clouds Agent Platform und Microsoft Foundry oder bei ausgeschalteter Telemetrie, etwa durch 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
{
"respectGitignore": false
}
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
{
"respondToBashCommands": false
}
Siehe Shell-Modus mit !-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
{
"showClearContextOnPlanAccept": true
}
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
{
"showTurnDuration": false
}
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
{
"spellcheck": { "enabled": true, "language": "en_GB" }
}
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
{
"spinnerTipsEnabled": false
}
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
Tipp-Objekte, 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:
| Feld | Erforderlich | Beschreibung |
|---|---|---|
id |
Ja | Bis zu 64 Buchstaben, Ziffern, ., _ oder -. Claude Code verknüpft den Anzeigeverlauf des Tipps mit diesem Wert, sodass die Wartezeit des Tipps ein Umsortieren der Liste übersteht. Von zwei Einträgen mit derselben ID verwendet Claude Code den ersten |
text |
Ja | Der Tipp, eine Zeile mit bis zu 500 Zeichen. Claude Code entfernt ANSI-Escape-Sequenzen und Steuerzeichen und fasst Leerraum zusammen |
cooldownSessions |
Nein | Anzahl der Sitzungen, die Claude Code wartet, bevor es den Tipp erneut anzeigt, 0 bis 1000, Standard 0 |
priority |
Nein | Reihenfolge unter Tipps, die gleich lange nicht angezeigt wurden, höhere zuerst, -10 bis 10, Standard 0 |
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.
Wenn mehr als eine Einstellungsdatei den Schlüssel setzt, zeigt Claude Code Tipps aus allen an und übernimmt 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:
{
"spinnerTipsOverride": {
"label": "Acme tip",
"tips": [
"Run /review before opening a PR",
{
"id": "gateway-errors",
"text": "Seeing 5xx errors? Check the gateway status page first",
"cooldownSessions": 5,
"priority": 2
}
]
}
}
Jedes Feld im Beispiel ändert einen Aspekt daran, wie Claude Code die Tipps anzeigt:
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.
Während Claude arbeitet, zeigt Claude Code Ihre Tipps im Spinner mit Ihrem Präfix an, etwa 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
Dieses Beispiel fügt dem integrierten Satz zwei Verben hinzu:
{
"spinnerVerbs": {
"mode": "append",
"verbs": ["Pondering", "Crafting"]
}
}
Im Modus "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
Dieses Beispiel gibt den Modellnamen und die Kontextnutzung aus und fügt zwei Zeichen horizontalen Abstand hinzu:
{
"statusLine": {
"type": "command",
"command": "jq -r '\"[\\(.model.display_name)] \\(.context_window.used_percentage // 0)% context\"'",
"padding": 2
}
}
Das Beispiel erfordert ein installiertes 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.
subagentStatusLine
Wenn Claude Subagenten ausführt, listet Claude Code sie in einer Aufgabenanzeige unterhalb des Prompts auf, eine Zeile pro Subagent mit name · description · token count. Mit diesem Schlüssel können Sie einen eigenen Befehl ausführen, um diese Zeilen umzuschreiben, zum Beispiel um die Kontextnutzung jedes Subagenten als Prozentsatz anzuzeigen. Bei jeder Aktualisierung sendet Claude Code die sichtbaren Zeilen als ein JSON-Objekt auf stdin, mit einem Array tasks, das für jeden Subagenten id, name, status, model, tokenCount und mehr enthält, und ersetzt die Zeile für jede id, die Sie als {"id", "content"}-Zeile zurückschreiben. Zeilen, die Sie nicht zurückschreiben, behalten die Standarddarstellung.
- 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 - Standard: nicht gesetzt, daher rendert Claude Code die Standardzeilen
{
"subagentStatusLine": {
"type": "command",
"command": "jq -c '.tasks[] | {id, content: \"\\(.name): \\(.tokenCount) tokens\"}'"
}
}
Siehe Statuszeilen für Subagenten.
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; dabei ist weder ein Plugin noch ein Language Server beteiligt. 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
{
"syntaxHighlightingDisabled": true
}
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
{
"terminalProgressBarEnabled": false
}
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
{
"terminalTitleFromRename": false
}
Damit Claude Code den Terminaltitel überhaupt nicht mehr aktualisiert, setzen Sie stattdessen 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"
{
"theme": "light-daltonized"
}
Siehe Ein benutzerdefiniertes Theme erstellen.
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"
{
"timeFormat": "24-hour"
}
/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:
{
"timeFormat": "%H:%M"
}
Die Meldung zur Turn-Dauer und der Transkript-Viewer zeigen dann Uhrzeiten wie 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:
{
"timeFormat": "%Y-%m-%d %H:%M"
}
Dieselben Oberflächen zeigen dann Uhrzeiten wie 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
{
"timeZone": "Europe/Dublin"
}
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
{
"tui": "fullscreen"
}
Unter tmux -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
{
"verbose": true
}
Ein 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
{
"viewMode": "focus"
}
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
{
"vimInsertModeRemaps": {
"jj": "<Esc>"
}
}
Hat keine Wirkung, sofern 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"
Dieses Beispiel schaltet das Diktat ein und legt fest, dass die Taste einmal angetippt wird, um die Aufnahme zu starten, und erneut, um zu senden:
{
"voice": {
"enabled": true,
"mode": "tap"
}
}
autoSubmit sendet den Prompt, wenn Sie die Taste im Haltemodus loslassen. Sprachdiktat erfordert ein claude.ai-Konto.
voiceEnabled
[!WARNING]
Seit v2.1.92 veraltet, als das Objekt
voicediesen Schlüssel ersetzt hat. Claude Code liest ihn weiterhin, damit ältere Einstellungsdateien funktionieren, neue Konfigurationen sollten jedochvoice.enabledsetzen.
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
{
"voiceEnabled": true
}
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
{
"wheelScrollAccelerationEnabled": false
}
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
Um alle Zuordnungen auszublenden, setzen Sie 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:
{
"attribution": {
"commit": "Generated with AI\n\nCo-Authored-By: AI <ai@example.com>",
"pr": "",
"sessionUrl": false
}
}
Sobald Sie commit oder pr setzen, ignoriert Claude Code die veraltete Einstellung includeCoAuthoredBy und verwendet seinen Standard-Text für denjenigen der beiden, den Sie nicht gesetzt haben.
Claude Code teilt Claude mit, dass Ihre eigenen Anweisungen zur Zuordnung, wie eine CLAUDE.md oder Memory-Regel, Vorrang vor diesen Commit- und PR-Zeilen haben, es sei denn, die Zeile ist in verwalteten Einstellungen gesetzt.
includeCoAuthoredBy
[!WARNING]
Veraltet seit v2.0.62, als
attributiones ersetzte. Claude Code liest es immer noch, aber neue Konfigurationen solltenattributionsetzen.
Verwenden Sie stattdessen attribution, das diesen Schlüssel ersetzt und es Ihnen ermöglicht, den Commit-Trailer, den Pull-Request-Text und den Sitzungslink separat zu ändern oder auszublenden. Claude Code respektiert immer noch includeCoAuthoredBy: false aus Einstellungsdateien, die attribution vorausgehen, ignoriert es aber, sobald Sie attribution.commit oder attribution.pr setzen.
- Bereich:
Any file - Typ: Boolean
true: dasselbe wie nicht gesetzt; Claude Code fügt den Commit-Trailer und den Pull-Request-Zuordnungstext hinzufalse: Claude Code lässt sowohl den Commit-Trailer als auch den Pull-Request-Zuordnungstext weg, es sei denn,attributionsetztcommitoderpr, in welchem Fall dieattribution-Regeln gelten
- Standard:
true
{
"includeCoAuthoredBy": false
}
Um alle Zuordnungen auszublenden, siehe attribution.
includeGitInstructions
Claude Code gibt Claude zwei Git-bezogene Kontextteile: seine integrierten Anweisungen zum Schreiben von Commits und Pull Requests in der Bash-Tool-Beschreibung und einen Git-Status-Snapshot Ihres Repositorys. Der Snapshot enthält den aktuellen Branch, den Haupt-Branch, die Ausgabe von git status und aktuelle Commits. Claude Code liest ihn, wenn eine Konversation beginnt.
Setzen Sie diesen Schlüssel auf false, um beide auszulassen, zum Beispiel wenn Sie Ihre eigenen Git-Workflow-Skills verwenden.
- Bereich:
Any file - Typ: Boolean
true: Claude Code enthält seine integrierten Commit- und Pull-Request-Workflow-Anweisungen und den Git-Status-Snapshot. Cloud-Sitzungen enthalten niemals den Snapshotfalse: Claude Code lässt beide aus
- Standard:
true - Sitzungsspezifische Überschreibungen:
CLAUDE_CODE_DISABLE_GIT_INSTRUCTIONShat Vorrang vor diesem Schlüssel für eine Sitzung
{
"includeGitInstructions": false
}
Wenn Sie den System-Prompt im nicht interaktiven Modus oder im Agent SDK ersetzen, startet die Sitzung ohne den Snapshot, auch wenn dieser Schlüssel true ist:
-p-Ausführungen: Sie ersetzen den Prompt, wenn Sie--system-promptoder--system-prompt-fileübergeben. Sie ersetzen ihn auch, wenn Sie einen benutzerdefinierten Agenten mit eigenem Prompt ausführen, ausgewählt mit--agentoder der Einstellungagent. Um den Snapshot außerhalb des Bare-Modus beizubehalten, führen Sie die Sitzung ohne benutzerdefinierten Agenten aus und fügen Ihre Anweisungen mit--append-system-prompthinzu, anstatt den Prompt zu ersetzen.- Agent SDK: Sie ersetzen den Prompt durch einen benutzerdefinierten System-Prompt oder einen benutzerdefinierten Hauptthread-Agenten. Wenn Sie keinen System-Prompt festlegen, verwendet das SDK seinen minimalen Standard, und die Sitzung startet ebenfalls ohne den Snapshot. Um den Snapshot außerhalb des Bare-Modus beizubehalten, verwenden Sie das Preset
claude_codeohne benutzerdefiniertenagent.
prUrlTemplate
Richten Sie die PR-Links, die Claude Code in der Fußzeilenbadge und in Tool-Ergebnis-Zusammenfassungen rendert, auf ein internes Code-Review-Tool statt auf github.com aus. Claude Code ersetzt {host}, {owner}, {repo}, {number} und {url} aus der PR-URL. GitLab-Merge-Request-Links auf beiden Oberflächen behalten ihre GitLab-URL.
- Bereich:
Any file - Typ: Zeichenkette, eine URL-Vorlage mit einem der fünf Platzhalter
- Standard: nicht gesetzt
{
"prUrlTemplate": "https://reviews.example.com/{owner}/{repo}/pull/{number}"
}
Claude Code wendet die Vorlage nur auf die Links an, die es selbst rendert; eine PR-Nummer, die Claude in einer Nachricht schreibt, wie #123, bleibt so, wie Claude sie geschrieben hat. Eine URL, die nicht die Form /pull/<number> hat, wird unverändert gelassen.
attribution.commit
Legen Sie den Zuordnungstext fest, den Claude Code zu Git-Commits hinzufügt, einschließlich aller Trailer. Setzen Sie ihn auf eine leere Zeichenkette, um die Commit-Zuordnung auszublenden.
- Bereich:
Any file - Typ: Zeichenkette
- Standard: nicht gesetzt, daher fügt Claude Code
Co-Authored-By: <name> <noreply@anthropic.com>hinzu. Der Name ist das Modell, das beim Erstellen des Commits verwendet wird, wieClaude Sonnet 5. Wenn ein Subagent den Commit erstellt, nennt der Trailer das Modell des Subagenten.- Wenn Claude Code das Modell als Claude-Modell erkennt, aber seine genaue Version nicht bestätigen kann, schreibt es nur
Claude. - Wenn es die Modell-ID nicht mit einem Claude-Modell abgleichen kann, wie ein Drittanbieter-Modell, das über eine benutzerdefinierte
ANTHROPIC_BASE_URLbereitgestellt wird, schreibt esClaude Code.
- Wenn Claude Code das Modell als Claude-Modell erkennt, aber seine genaue Version nicht bestätigen kann, schreibt es nur
Dieses Beispiel ersetzt den Standard-Trailer durch eine benutzerdefinierte Zeile und einen benutzerdefinierten Co-Authored-By-Trailer:
{
"attribution": {
"commit": "Generated with AI\n\nCo-Authored-By: AI <ai@example.com>"
}
}
attribution.pr
Legen Sie den Zuordnungstext fest, den Claude Code zu Pull-Request-Beschreibungen hinzufügt. Setzen Sie ihn auf eine leere Zeichenkette, um die Pull-Request-Zuordnung auszublenden.
- Bereich:
Any file - Typ: Zeichenkette
- Standard: nicht gesetzt, daher fügt Claude Code
🤖 Generated with [Claude Code](https://claude.com/claude-code)hinzu
{
"attribution": {
"pr": ""
}
}
attribution.sessionUrl
Wählen Sie, ob Claude Code den claude.ai-Sitzungslink anhängt, wenn es von einer Cloud- oder Remote Control-Sitzung aus committet oder einen Pull Request öffnet. Claude Code fügt den Link als Claude-Session-Trailer bei Commits und als Link in Pull-Request-Beschreibungen hinzu. Setzen Sie ihn auf false, um den Link auszulassen.
- Bereich:
Any file - Typ: Boolean
true: Claude Code hängt den claude.ai-Sitzungslink an, wenn es von einer Cloud- oder Remote-Control-Sitzung aus committet oder einen Pull Request öffnetfalse: Claude Code lässt den Link aus
- Standard:
true
{
"attribution": {
"sessionUrl": false
}
}
Hooks und Automatisierung
Registrieren Sie Hooks, beschränken Sie, welche Hooks ausgeführt werden, und kontrollieren Sie Workflows. Für Hook-Ereignisse und Payloads siehe die Hooks-Referenz.
allowedHttpHookUrls
Begrenzen Sie, welche URLs HTTP-Hooks ansteuern können. Wenn Sie diesen Schlüssel definieren, führt Claude Code einen HTTP-Hook nur aus, wenn seine URL einem der Muster entspricht, und blockiert die übrigen ohne Ausführung; ein leeres Array blockiert jeden HTTP-Hook.
- Bereich:
Any file. Arrays werden über Einstellungsdateien hinweg zusammengeführt. - Typ: Array von URL-Mustern mit
*als Platzhalter - Standard: nicht gesetzt, daher ist jede URL zulässig
Dieses Beispiel erlaubt jede URL unter https://hooks.example.com/ und jede http://localhost-URL:
{
"allowedHttpHookUrls": ["https://hooks.example.com/*", "http://localhost:*"]
}
Der Hostname-Abgleich ist nicht case-sensitiv und behandelt hooks.example.com. mit dem nachgestellten Punkt, der einen vollständig qualifizierten Domänennamen kennzeichnet, genauso wie hooks.example.com, wie DNS es behandelt. Die Zulassungsliste gilt für Hooks aus jeder Quelle, einschließlich verwalteter Einstellungen.
allowManagedHooksOnly
Beschränken Sie die Hook-Ausführung auf Hooks, die Ihre Organisation bereitstellt.
- Bereich:
Managed - Typ: Boolean
true: nur verwaltete Hooks werden ausgeführt, plus Agent SDK Hooks und Hooks aus Plugins, die Ihre verwalteten Einstellungen erzwingen. Siehe Was wird unterallowManagedHooksOnlyausgeführtfalse: Hooks aus jedem Einstellungsbereich und Plugin werden ausgeführt
- Standard: nicht gesetzt, daher werden Hooks aus jedem Einstellungsbereich und Plugin ausgeführt
{
"allowManagedHooksOnly": true
}
Was wird unter allowManagedHooksOnly ausgeführt
Wenn Sie es auf true setzen, ändert Claude Code, welche Hooks und Hook-ähnliche Befehle geladen werden:
- Verwaltete und SDK-Hooks werden ausgeführt: Hooks aus verwalteten Einstellungen und Hooks, die das Agent SDK im Prozess registriert
- Erzwungene Plugin-Hooks werden ausgeführt: Hooks aus Plugins, die Ihre verwalteten Einstellungen durch
enabledPluginserzwingen. Claude Code gleicht die vollständigeplugin@marketplace-ID ab, daher bleibt ein Plugin mit demselben Namen aus einem anderen Marketplace blockiert. Dies ermöglicht es Ihnen, überprüfte Hooks über einen Organisations-Marketplace zu verteilen und alles andere zu blockieren. Ein Mod in einem solchen Plugin wird nur geladen, wenn er als Mod Ihrer Organisation gilt - Alles andere wird blockiert: Benutzer-, Projekt- und lokale Hooks, Hooks und Mods aus anderen installierten Plugins sowie Hooks, die im Agent-Frontmatter deklariert sind. In Claude Code integrierte Mods werden weiterhin ausgeführt. Um nur die Mods der Benutzer zu blockieren, setzen Sie stattdessen
allowManagedModsOnly. - Command-sourced Plugins sind deaktiviert: Claude Code deaktiviert auch Plugins mit einer
command-Quelle, einschließlich Plugins, die in verwaltetenenabledPluginserzwungen werden, es sei denn, Sie setzendisableCommandPluginSourcesexplizit auffalse - Marketplace
headersHelper-Befehle werden blockiert: Claude Code blockiert auch Marketplace-headersHelper-Befehle, es sei denn,disableCommandPluginSourcesist explizit auffalsegesetzt, außer für einen Marketplace, den die verwalteten Einstellungen selbst deklarieren. Erfordert Claude Code v2.1.238 oder später - Statuszeile und Dateivorschlag werden auf verwaltete Einstellungen beschränkt: Claude Code liest
statusLine,fileSuggestionundsubagentStatusLinenur aus verwalteten Einstellungen, gemäß den Statuszeilen- und Dateivorschlag-Gates
Der /goal-Befehl kann nicht ausgeführt werden, während dieser Schlüssel gesetzt ist, da er von Hooks abhängt.
disableAllHooks
Schalten Sie Hooks, jede benutzerdefinierte Statuszeile und jeden benutzerdefinierten Dateivorschlag-Befehl aus. Verwenden Sie dies, um alle diese vorübergehend auszuschalten, ohne sie aus Ihren Einstellungen zu löschen.
- Bereich:
Any file. Nur verwaltete Einstellungen können verwaltete Hooks deaktivieren. - Typ: Boolean
true: Claude Code schaltet Hooks, jede benutzerdefinierte Statuszeile und jeden benutzerdefinierten Dateivorschlag-Befehl ausfalse: Hooks, die Statuszeile und der Dateivorschlag-Befehl werden ausgeführt
- Standard: nicht gesetzt, daher werden Hooks ausgeführt
{
"disableAllHooks": true
}
Die Reichweite hängt davon ab, welche Datei den Schlüssel trägt:
- In verwalteten Einstellungen: Claude Code deaktiviert jeden konfigurierten Hook, einschließlich verwalteter, und führt weiterhin die Hooks aus, die das Agent SDK im Prozess registriert
- In jeder anderen Einstellungsdatei: Claude Code deaktiviert Benutzer-, Projekt-, lokale und Plugin-Hooks; verwaltete Hooks, Agent SDK Hooks und Hooks aus Plugins, die in verwalteten
enabledPluginserzwungen werden, werden weiterhin ausgeführt
Der Schlüssel stoppt auch Mods, also Plugins, deren Code Hooks registriert:
- In verwalteten Einstellungen: Die Mods in jedem installierten Plugin werden gestoppt, einschließlich der Mods Ihrer Organisation
- In jeder anderen Einstellungsdatei: Die von Ihnen installierten Mods werden gestoppt, und die Mods Ihrer Organisation werden weiterhin ausgeführt
In Claude Code integrierte Mods werden in beiden Fällen weiterhin ausgeführt. Jeder hat einen eigenen Schalter.
Das Beibehalten von Agent SDK Hooks, wenn verwaltete Einstellungen diesen Schlüssel setzen, erfordert Claude Code v2.1.242 oder später.
Der /goal-Befehl kann nicht ausgeführt werden, während Hooks deaktiviert sind, und das /hooks-Menü zeigt stattdessen einen Hinweis anstelle Ihrer Hooks.
Statuszeilen- und Dateivorschlag-Gates
Claude Code trifft zwei Entscheidungen für statusLine, fileSuggestion und subagentStatusLine in dieser Reihenfolge:
- Vollständig ausgeschaltet: wenn verwaltete Einstellungen
disableAllHookssetzen, oder wenn der Ordner nicht vertraut wird gemäß der gleichen Workspace-Vertrauensregel wie Hooks in Einstellungsdateien - Auf verwaltete Einstellungen beschränkt: wenn
allowManagedHooksOnlygesetzt ist, wenndisableAllHooksaußerhalb verwalteter Einstellungen nach Anwendung der Einstellungsprioritättrueist, oder wenn Sie Claude Code mit--safe-modestarten
Bei Beschränkung führt Claude Code einen verwalteten Wert aus, wenn einer bereitgestellt wird. Andernfalls überspringt es Ihren Wert ohne Warnung: die Statuszeile ist deaktiviert und die @-Autovervollständigung fällt auf den integrierten Dateivorschlag zurück.
disableWorkflows
Schalten Sie dynamische Workflows und die gebündelten Workflow-Befehle für alle aus, die Ihre Einstellungen erreichen, z. B. eine Organisation über verwaltete Einstellungen. Um Workflows nur für sich selbst ein- oder auszuschalten, verwenden Sie stattdessen enableWorkflows, das der Schalter Dynamic workflows in /config in Ihre Benutzereinstellungen schreibt.
- Bereich:
Any file - Typ: Boolean
true: Claude Code schaltet dynamische Workflows und die gebündelten Workflow-Befehle für alle aus, die Ihre Einstellungen erreichenfalse: dasselbe wie nicht gesetzt; ob Workflows dann aktiviert sind, folgtenableWorkflowsund dem Standard Ihres Plans
- Standard:
false - Pro-Session-Überschreibungen:
CLAUDE_CODE_DISABLE_WORKFLOWSschaltet Workflows für eine Sitzung aus; welcher der beiden sie ausschaltet, der andere kann sie nicht wieder einschalten
{
"disableWorkflows": true
}
enableWorkflows
Schalten Sie dynamische Workflows für sich selbst ein oder aus, wenn der Standard Ihres Plans nicht das ist, was Sie möchten. Erscheint in /config als Dynamic workflows, das diesen Schlüssel in Ihre Benutzereinstellungen schreibt und ihn wieder entfernt, wenn Sie zurück zu Ihrem Plan-Standard umschalten. Um Workflows für alle aus verwalteten Einstellungen auszuschalten, verwenden Sie stattdessen disableWorkflows.
- Bereich:
Any file - Typ: Boolean
true: Claude Code schaltet dynamische Workflows für Sie einfalse: Claude Code schaltet dynamische Workflows für Sie aus
- Standard: nicht gesetzt, daher sind Workflows aktiviert, es sei denn, Sie sind im Pro-Plan, wo sie deaktiviert sind
- Pro-Session-Überschreibungen:
CLAUDE_CODE_DISABLE_WORKFLOWSschaltet Workflows für eine Sitzung aus, undtruehier kann sie nicht wieder einschalten, während es gesetzt ist
{
"enableWorkflows": true
}
disableWorkflows und die Workflows-Richtlinie Ihrer Organisation haben auch Vorrang: enableWorkflows: true kann Workflows nicht wieder einschalten, während eine Quelle Workflows ausschaltet. Claude Code verbirgt die /config-Zeile, während eine andere Quelle als Ihre Benutzereinstellungen enableWorkflows setzt oder disableWorkflows auf true setzt.
hooks
Führen Sie Ihre eigenen Befehle, Prompts, Agenten, HTTP-Anfragen oder MCP-Tools als Hooks an Punkten im Lebenszyklus von Claude Code aus, z. B. vor einem Tool-Aufruf oder wenn eine Sitzung startet; die Hooks-Referenz listet jedes Ereignis, seine Payload und seine Exit-Codes auf. Jedes Ereignis wird einer Liste von Matcher-Gruppen zugeordnet, und jede Gruppe listet die Handler auf, die ausgeführt werden, wenn der Matcher zutrifft.
- Bereich:
Any file. Hooks werden über Dateien hinweg zusammengeführt, anstatt sich gegenseitig zu ersetzen, und Hooks aus verwalteten Einstellungen können nicht aus anderen Dateien entfernt werden. - Typ: Objekt mit einem Schlüssel pro Hook-Ereignis; jeder Wert ist ein Array von
{ "matcher", "hooks" }-Gruppen, derenhooks-Einträge einentypevon"command","prompt","agent","http"oder"mcp_tool"haben - Standard: nicht gesetzt, daher werden keine Hooks ausgeführt
Dieses Beispiel führt ein Skript vor jedem Bash-Tool-Aufruf aus:
{
"hooks": {
"PreToolUse": [
{
"matcher": "Bash",
"hooks": [
{ "type": "command", "command": "~/.claude/hooks/check-bash.sh" }
]
}
]
}
}
Für jedes Ereignis, Matcher-Muster und Handler-Feld siehe die Hooks-Referenz. Um Hooks auszuschalten, siehe disableAllHooks; um Hooks auf die zu beschränken, die Ihre Organisation bereitstellt, siehe allowManagedHooksOnly.
httpHookAllowedEnvVars
Ein HTTP-Hook kann den Wert einer Umgebungsvariablen in einen Request-Header einfügen, z. B. einen Authorization: Bearer $HOOK_TOKEN-Header, aber nur für Variablen, die der Hook in seinem eigenen allowedEnvVars auflistet. Dieser Schlüssel setzt eine äußere Grenze für diese Liste für jeden HTTP-Hook: Ein Hook kann eine Variable nur verwenden, wenn sowohl sein eigenes allowedEnvVars als auch dieser Schlüssel sie benennen. Verwenden Sie dies, um zu verhindern, dass ein Hook ein Geheimnis liest, das es nicht sollte, auch wenn die Hook-Definition danach fragt.
- Bereich:
Any file. Arrays werden über Einstellungsdateien hinweg zusammengeführt. - Typ: Array von Umgebungsvariablennamen
- Standard: nicht gesetzt, daher gilt die
allowedEnvVars-Liste jedes Hooks
Dieses Beispiel begrenzt die Header-Interpolation auf MY_TOKEN und HOOK_SECRET:
{
"httpHookAllowedEnvVars": ["MY_TOKEN", "HOOK_SECRET"]
}
Die Zulassungsliste gilt für Hooks aus jeder Quelle, einschließlich verwalteter Einstellungen.
workflowKeywordTriggerEnabled
Wählen Sie, ob die Eingabe des Schlüsselworts ultracode in einem Prompt einen dynamischen Workflow auslöst. Setzen Sie es auf false, um das Wort einzugeben, ohne einen auszulösen.
- Bereich:
Any file. Erscheint in/configals Ultracode keyword trigger. - Typ: Boolean
true: Die Eingabe vonultracodein einem Prompt löst einen dynamischen Workflow ausfalse: Sie können das Wort eingeben, ohne einen auszulösen
- Standard:
true
{
"workflowKeywordTriggerEnabled": false
}
Die ultracode-Aufwandseinstellung, /workflows und gespeicherte Workflow-Befehle sind nicht betroffen.
workflowSizeGuideline
Legen Sie die Agentenzahl fest, auf die Claude abzielt in den dynamischen Workflows, die es schreibt. Claude Code sendet den Wert an Claude als Ratschlag, nicht als erzwungene Obergrenze: "small" fordert weniger als 5 Agenten an, "medium" weniger als 10 und "large" weniger als 50. Wählen Sie "small", wenn Sie begrenzen möchten, was ein Workflow ausgibt. Erfordert Claude Code v2.1.219 oder später.
- Bereich:
Any file. Ein Wert dort hat Vorrang vor der Auswahl Dynamic workflow size in/config, die Claude Code in~/.claude.jsonspeichert, und Claude Code verbirgt diese Zeile, während eine Einstellungsdatei den Schlüssel setzt. - Typ: String, einer von:
"unrestricted": keine Richtlinie, daher passt Claude den Workflow an die Aufgabe an"small": Claude zielt auf weniger als 5 Agenten ab"medium": Claude zielt auf weniger als 10 Agenten ab"large": Claude zielt auf weniger als 50 Agenten ab
- Standard:
"medium", oder"small"wenn Sie im Pro-Plan mit Claude Code v2.1.271 oder später angemeldet sind
{
"workflowSizeGuideline": "small"
}
Erfordert Claude Code v2.1.219 oder später; auf v2.1.202 bis v2.1.218 legen Sie die Richtlinie stattdessen in /config fest.
Plugins und Skills
Aktivieren Sie Plugins, registrieren Sie Marketplaces, beschränken Sie, welche Plugin-Quellen eine Organisation zulässt, und kontrollieren Sie, welche Skills geladen werden. Informationen zum Installieren und Erstellen von Plugins finden Sie unter Plugins.
disableBundledSkills
Deaktivieren Sie die Skills und Workflows, die in Claude Code enthalten sind. Claude Code entfernt gebündelte Skills und Workflows vollständig, während integrierte Befehle wie /init eingegeben werden können, aber vom Modell verborgen sind.
- Bereich:
Any file - Typ: Boolean
true: Claude Code entfernt gebündelte Skills und Workflows und verbirgt integrierte Befehle wie/initvor dem Modellfalse: gebündelte Skills werden geladen
- Standard: nicht gesetzt, daher werden gebündelte Skills geladen
- Überschreibungen pro Sitzung:
CLAUDE_CODE_DISABLE_BUNDLED_SKILLSauf1gesetzt deaktiviert gebündelte Skills für eine Sitzung; welcher der beiden sie deaktiviert, der andere kann sie nicht wieder aktivieren
{
"disableBundledSkills": true
}
Skills von Plugins, .claude/skills/ und .claude/commands/ sind nicht betroffen. /doctor kann wie die integrierten Befehle eingegeben werden; um ihn zu verbergen, setzen Sie stattdessen DISABLE_DOCTOR_COMMAND.
disableSkillShellExecution
Deaktivieren Sie die Inline-Shell-Ausführung für !`...` und ```! Blöcke in Skills und benutzerdefinierten Befehlen aus Benutzer-, Projekt-, Plugin- oder zusätzlichen Verzeichnisquellen. Claude Code ersetzt jeden Befehl durch [shell command execution disabled by policy] statt ihn auszuführen.
- Bereich:
Any file. Eintruein verwalteten Einstellungen kann nicht durchfalsean anderer Stelle überschrieben werden. - Typ: Boolean
true: Claude Code ersetzt jeden Inline-Shell-Befehl durch[shell command execution disabled by policy]statt ihn auszuführenfalse: Inline-Shell wird ausgeführt
- Standard: nicht gesetzt, daher wird Inline-Shell ausgeführt
{
"disableSkillShellExecution": true
}
Gebündelte Skills und Skills, die über verwaltete Einstellungen bereitgestellt werden, sind nicht betroffen.
skillOverrides
Verbergen oder reduzieren Sie einen Skill ohne dessen SKILL.md zu bearbeiten. Claude Code wendet den Wert unter jedem Skill-Namen auf die Skill-Liste an, die Claude sieht, und auf Ihre / Autovervollständigung.
- Bereich:
Any file. Das/skillsMenü schreibt in.claude/settings.local.json. - Typ: Objekt, das Skill-Namen auf einen der folgenden Werte abbildet:
"on": Claude sieht den Skill und Sie können/nameeingeben"name-only": Claude sieht den Skill nur nach Name ohne seine Beschreibung"user-invocable-only": Claude sieht den Skill nicht, aber Sie können immer noch/nameeingeben"off": Claude sieht den Skill nicht und/nameist in der Autovervollständigung verborgen
- Standard: nicht gesetzt, daher ist jeder Skill
"on"
Dieses Beispiel listet legacy-context für Claude nur nach Name auf und verbirgt deploy vor Claude und vor der / Autovervollständigung:
{
"skillOverrides": {
"legacy-context": "name-only",
"deploy": "off"
}
}
Überschreibungen gelten nicht für Plugin-Skills, die Sie über /plugin verwalten.
In verwalteten Einstellungen und Dateien, die mit --settings übergeben werden, gilt ein Schlüssel auf einem Alias eines gebündelten Skills, wie checkup für /doctor, auch für den Skill; siehe wie Alias-Schlüssel mit Schlüsseln auf dem eigenen Namen des Skills kombiniert werden.
syncClaudeAiSkills
Deaktivieren Sie den Download der Skills, die für Ihr claude.ai-Konto aktiviert sind. Claude Code lädt sie in ~/.claude/skills/synced/ in Terminalsitzungen herunter, in denen Sie sich mit Ihrem claude.ai-Konto anmelden, interaktiv oder nicht-interaktiv, und in Cowork- und Cloud-Sitzungen. Setzen Sie false, um diesen Download zu stoppen und das Laden der bereits synchronisierten Skills zu beenden. Claude Code berücksichtigt nur false: true ist dasselbe wie nicht gesetzt und aktiviert die Synchronisierung nicht, wo sie sonst deaktiviert ist.
- Bereich:
User, local, or managedund Dateien, die mit--settingsübergeben werden. Ein Repository kann es für Sie nicht deaktivieren. - Typ: Boolean
false: Claude Code stoppt das Herunterladen synchronisierter Skills und stoppt das Laden der bereits in~/.claude/skills/synced/vorhandenen. In Benutzer- oder verwalteten Einstellungen verschiebt es sie auch in~/.claude/skills/.trash/true: dasselbe wie nicht gesetzt
- Standard: nicht gesetzt, daher synchronisieren Sitzungen, die mit Ihrem claude.ai-Konto angemeldet sind, Ihre Skills
Dieses Beispiel verhindert, dass ein Computer die Skills des Kontos in einer beliebigen Sitzung herunterlädt:
{
"syncClaudeAiSkills": false
}
syncClaudeAiPlugins
Deaktivieren Sie den Download der Plugins, die für Ihr claude.ai-Konto aktiviert sind. Claude Code lädt sie in ~/.claude/plugins/synced/ am Anfang von Terminalsitzungen herunter, in denen Sie sich mit Ihrem claude.ai-Konto anmelden, und in Cowork-Sitzungen, und lädt jedes als <name>@synced. Setzen Sie false, um diesen Download zu stoppen und das Laden der bereits synchronisierten Plugins zu beenden. Claude Code berücksichtigt nur false: true ist dasselbe wie nicht gesetzt und aktiviert die Synchronisierung nicht, wo sie sonst deaktiviert ist. Erfordert Claude Code v2.1.273 oder später.
- Bereich:
User, local, or managedund Dateien, die mit--settingsübergeben werden. Ein Repository kann es für Sie nicht deaktivieren. - Typ: Boolean
false: Claude Code stoppt das Herunterladen synchronisierter Plugins und stoppt das Laden der bereits in~/.claude/plugins/synced/vorhandenen. In Benutzer- oder verwalteten Einstellungen verschiebt es sie auch in~/.claude/plugins/.trash/true: dasselbe wie nicht gesetzt
- Standard: nicht gesetzt, daher synchronisieren Sitzungen, die mit Ihrem claude.ai-Konto angemeldet sind, Ihre Plugins
Um ein synchronisiertes Plugin auszuschalten, anstatt alle, setzen Sie "<name>@synced": false in enabledPlugins.
Dieses Beispiel verhindert, dass ein Computer die Plugins des Kontos in einer beliebigen Sitzung herunterlädt:
{
"syncClaudeAiPlugins": false
}
allowedChannelPlugins
Wählen Sie, welche Kanal-Plugins Nachrichten in Sitzungen in Ihrer Organisation pushen können. Wenn Sie es festlegen, verwendet Claude Code Ihre Liste anstelle der Standard-Anthropic-Zulassungsliste; jeder Eintrag benennt ein Plugin und den Marketplace, aus dem es stammt.
- Bereich:
Managed - Typ: Array von Objekten, jeweils mit
marketplaceundpluginStrings. Ein Eintrag kann stattdessen ein"plugin@marketplace"String wie"telegram@claude-plugins-official"sein, den Claude Code als das äquivalente Objekt behandelt. Die String-Form erfordert Claude Code v2.1.267 oder später; frühere Versionen lehnen den gesamtenallowedChannelPluginsWert ab, wenn er einen enthält - Standard: nicht gesetzt, daher verwendet Claude Code die Standard-Anthropic-Zulassungsliste
Dieses Beispiel aktiviert Kanäle und erlaubt nur das Telegram-Plugin aus dem offiziellen Anthropic-Marketplace:
{
"channelsEnabled": true,
"allowedChannelPlugins": [
{ "marketplace": "claude-plugins-official", "plugin": "telegram" }
]
}
Ein leeres Array blockiert jedes Kanal-Plugin.
Dieser Schlüssel wird wirksam, sobald Kanäle das channelsEnabled Gate für das Konto passieren: auf Team- und Enterprise-Plänen und auf Console-Konten mit verwalteten Einstellungen bedeutet das channelsEnabled: true. Siehe Beschränken Sie, welche Kanal-Plugins ausgeführt werden können.
blockedMarketplaces
Blockieren Sie Plugin-Marketplace-Quellen für Ihre Organisation. Claude Code überprüft die Blockliste beim Hinzufügen von Marketplace und beim Installieren, Aktualisieren, Aktualisieren und automatischen Aktualisieren von Plugins, daher kann ein Marketplace, den jemand hinzugefügt hat, bevor Sie die Richtlinie festgelegt haben, nicht zum Abrufen von Plugins verwendet werden. Blockierte Quellen werden vor dem Download überprüft, daher berühren sie niemals das Dateisystem.
Wenn Sie diesen Schlüssel in der claude.ai Admin-Konsole festlegen, wendet claude.ai ihn auch an, wenn jemand in Ihrer Organisation einen Marketplace aus einem Git-Repository auf claude.ai hinzufügt, wie Wie Einschränkungen funktionieren beschreibt.
- Bereich:
Managed - Typ: Array von Marketplace-Quellobjekten in denselben Formen wie
strictKnownMarketplaces - Standard: nicht gesetzt, daher ist kein Marketplace blockiert
Dieses Beispiel blockiert ein GitHub-Repository als Marketplace-Quelle:
{
"blockedMarketplaces": [
{ "source": "github", "repo": "untrusted/plugins" }
]
}
Ein github Eintrag kann die Owner-Wildcard-Form "owner/*" verwenden, um jedes Repository unter diesem GitHub-Owner zu blockieren, was Claude Code v2.1.223 oder später erfordert. Fügen Sie { "source": "skills-dir" } hinzu, um Claude Code daran zu hindern, @skills-dir Plugins aus ~/.claude/skills/ zu laden, ohne einen Marketplace einzuschränken. Siehe Verwaltete Marketplace-Einschränkungen.
channelsEnabled
Erlauben Sie Kanäle für Ihre Organisation. Bei claude.ai Team- und Enterprise-Plänen blockiert Claude Code Kanäle, bis Sie dies auf true setzen. Für Anthropic Console Konten, die sich mit einem API-Schlüssel authentifizieren, sind Kanäle standardmäßig zulässig. Wenn Ihre Organisation verwaltete Einstellungen bereitstellt, blockiert Claude Code Kanäle auf diesen Konten auch, bis Sie diesen Schlüssel auf true setzen.
- Bereich:
Managed - Typ: Boolean
true: Claude Code erlaubt Kanäle für Ihre Organisationfalse: dasselbe wie nicht gesetzt; ob Kanäle blockiert sind, hängt von Ihrem Plan ab, wie der Standard sagt
- Standard: nicht gesetzt; Kanäle sind auf Team- und Enterprise-Plänen und auf Console-Konten mit verwalteten Einstellungen blockiert und auf Pro- und Max-Plänen und auf Console-Konten ohne verwaltete Einstellungen zulässig
{
"channelsEnabled": true
}
Um einzuschränken, welche Plugins sich als Kanäle registrieren können, sobald sie aktiviert sind, setzen Sie allowedChannelPlugins. Siehe Enterprise-Kontrollen.
disableCommandPluginSources
Blockieren Sie die command Plugin-Quelle, die ein Plugin durch Ausführung eines von Marketplace deklarierten Befehls auf dem Computer des Benutzers installiert. Wenn Sie es auf true setzen, führt Claude Code den Befehl niemals aus, installiert oder aktualisiert keine Befehls-Quellen-Plugins und stoppt das Laden der bereits installierten. Setzen Sie es auf false, um sie explizit zuzulassen. Wann immer es Befehlsquellen blockiert, ob Sie es auf true setzen oder es unter allowManagedHooksOnly nicht gesetzt lassen, blockiert es auch Marketplace headersHelper Befehle, außer für einen Marketplace, den verwaltete Einstellungen selbst deklarieren. Erfordert Claude Code v2.1.229 oder später, und der headersHelper Block erfordert v2.1.238 oder später.
- Bereich:
Managed - Typ: Boolean
true: Claude Code führt den von Marketplace deklarierten Befehl niemals aus, installiert oder aktualisiert keine Befehls-Quellen-Plugins und stoppt das Laden der bereits installiertenfalse: Claude Code erlaubt Befehls-Quellen-Plugins explizit
- Standard: nicht gesetzt, daher folgt Claude Code
allowManagedHooksOnly: eine Organisation, die die Hook-Ausführung auf verwaltete Einstellungen beschränkt, bekommt auch Befehlsquellen deaktiviert
{
"disableCommandPluginSources": true
}
Erfordert Claude Code v2.1.229 oder später.
pluginSuggestionMarketplaces
Benennen Sie die Marketplaces, deren Plugins als kontextuelle Installationsvorschläge erscheinen können, in Spinner-Tipps und oben im /plugin Discover Tab angeheftet. Der integrierte First-Party-Frontend-Design-Tipp ist nicht betroffen. Vorschläge stammen aus der relevance Deklaration jedes Plugins in seinem Marketplace-Eintrag.
- Bereich:
Managed - Typ: Array von Marketplace-Namen
- Standard: nicht gesetzt, daher werden keine von Marketplace deklarierten Vorschläge angezeigt
{
"pluginSuggestionMarketplaces": ["acme-corp-plugins"]
}
Ein Name wird nur wirksam, wenn der Marketplace auf dem Computer registriert ist und seine registrierte Quelle auch in denselben verwalteten Einstellungen deklariert ist, entweder als extraKnownMarketplaces Eintrag für diesen Namen oder als Eintrag von strictKnownMarketplaces. Claude Code ignoriert einen Marketplace, der von einer anderen Quelle unter einem zulässigen Namen registriert ist. Der offizielle Marketplace ist von der Quellanforderung befreit: das Zulassen seines Namens allein genügt, da dieser Name nur von der offiziellen Anthropic-Quelle registriert werden kann. Siehe Plugins nach Kontext vorschlagen.
pluginTrustMessage
Fügen Sie den eigenen Text Ihrer Organisation zur Plugin-Vertrauenswarnung hinzu, die Claude Code vor der Installation anzeigt, um beispielsweise zu bestätigen, dass Plugins aus Ihrem internen Marketplace überprüft werden.
- Bereich:
Managed - Typ: String
- Standard: nicht gesetzt, daher zeigt Claude Code nur die Standardwarnung an
{
"pluginTrustMessage": "All plugins from our marketplace are approved by IT"
}
strictKnownMarketplaces
Beschränken Sie, welche Plugin-Marketplace-Quellen Personen in Ihrer Organisation hinzufügen und Plugins installieren können. Claude Code erzwingt die Zulassungsliste beim Hinzufügen von Marketplace und beim Installieren, Aktualisieren, Aktualisieren und automatischen Aktualisieren von Plugins, vor jeder Netzwerk- oder Dateisystemoperation, daher kann ein Marketplace, den jemand hinzugefügt hat, bevor Sie die Richtlinie festgelegt haben, nicht zum Abrufen von Plugins verwendet werden, sobald seine Quelle nicht mehr übereinstimmt. Blockierte Benutzer sehen einen Fehler, der die verwaltete Richtlinie benennt.
Wenn Sie diesen Schlüssel in der claude.ai Admin-Konsole festlegen, wendet claude.ai ihn auch an, wenn jemand in Ihrer Organisation einen Marketplace aus einem Git-Repository auf claude.ai hinzufügt, wie Wie Einschränkungen funktionieren beschreibt.
- Bereich:
Managed - Typ: Array von Marketplace-Quellobjekten; siehe Zulässige Quellentypen
- Standard: nicht gesetzt, daher können Benutzer jeden Marketplace hinzufügen. Ein leeres Array ist eine vollständige Sperrung, die jede Marketplace-Quelle blockiert, einschließlich des offiziellen Anthropic-Marketplace
Dieses Beispiel erlaubt zwei GitHub-Repositories, eines auf den v2.0 Ref gepinnt und eines gehostete marketplace.json URL:
{
"strictKnownMarketplaces": [
{ "source": "github", "repo": "acme-corp/approved-plugins" },
{ "source": "github", "repo": "acme-corp/security-tools", "ref": "v2.0" },
{ "source": "url", "url": "https://plugins.example.com/marketplace.json" }
]
}
Sie können diesen Schlüssel auch als allowedMarketplaces schreiben; Marketplace-Schlüssel-Aliase beschreibt, wie Claude Code den Alias behandelt und welche Version ihn akzeptiert. Dieser Schlüssel ist ein Richtlinien-Gate: er kontrolliert, was Benutzer hinzufügen dürfen, registriert aber nichts. Um in einer Datei einzuschränken und vorab zu registrieren, siehe Mit extraKnownMarketplaces kombinieren. Für die benutzergerichtete Ansicht siehe Verwaltete Marketplace-Einschränkungen.
Zulässige Quellentypen
Jeder Eintrag unten zeigt einen Zulassungslisten-Eintrag pro Quellentyp und die Felder, die er akzeptiert. Die meisten Typen stimmen genau überein; hostPattern und pathPattern stimmen per Regex überein, und github Einträge können eine Owner-Wildcard verwenden.
| Quelle | Beispiel-Eintrag | Felder |
|---|---|---|
github |
{ "source": "github", "repo": "acme-corp/plugins", "ref": "main", "path": "marketplace" } |
repo erforderlich; ref ist ein Branch oder Tag; path ist ein Unterverzeichnis |
git |
{ "source": "git", "url": "https://gitlab.example.com/tools/plugins.git", "ref": "production" } |
url erforderlich; ref und path wie für github |
url |
{ "source": "url", "url": "https://plugins.example.com/marketplace.json", "headers": { "Authorization": "Bearer ${TOKEN}" } } |
url erforderlich; headers fügt HTTP-Header für authentifizierten Zugriff hinzu |
file |
{ "source": "file", "path": "/opt/acme-corp/plugins/marketplace.json" } |
path erforderlich, der absolute Pfad zu einer marketplace.json Datei |
directory |
{ "source": "directory", "path": "/opt/acme-corp/approved-marketplaces" } |
path erforderlich, der absolute Pfad zu einem Verzeichnis mit .claude-plugin/marketplace.json |
hostPattern |
{ "source": "hostPattern", "hostPattern": "^github\\.example\\.com$" } |
hostPattern erforderlich, ein Regex, das gegen den Marketplace-Host abgeglichen wird; verankern Sie es mit ^ und $, um den ganzen Host abzugleichen |
pathPattern |
{ "source": "pathPattern", "pathPattern": "^/opt/approved/" } |
pathPattern erforderlich, ein Regex, das gegen den path von file und directory Quellen abgeglichen wird; beginnen Sie es mit ^, um ein Präfix zu fixieren |
skills-dir |
{ "source": "skills-dir" } |
Keine Felder. Aktiviert den ~/.claude/skills/ Plugin-Scan wieder |
Drei Quellentypen tragen Regeln über die Tabelle hinaus:
-
url: Ein URL-Marketplace lädt nur diemarketplace.jsonDatei herunter, und Claude Code lädt Plugin-Dateien nicht per relativem Pfad von diesem Server herunter, daher müssen seine Plugins eine Plugin-Quelle verwenden, die nicht ein relativer Pfad ist, wie eine Archiv-URL, die auf demselben Host sein kann. Für Plugins mit relativen Pfaden verwenden Sie stattdessen einen Git-basierten Marketplace. Siehe Plugins mit relativen Pfaden schlagen in URL-basierten Marketplaces fehl. -
hostPattern: Verwenden Sie es, um jeden Marketplace auf einem internen GitHub Enterprise oder GitLab Server zuzulassen, ohne jedes Repository aufzulisten. Claude Code gleichtgithubQuellen gegengithub.comab, nimmt den Hostnamen vonurlQuellen und nimmt ihn vongitQuellen je nach git URL Form:- Eine URL mit einem Schema, wie
https://oderssh://: der Hostname in der URL. - Eine SSH-Adresse ohne Schema, in Gits
user@host:pathForm, wiegit@git.example.com:tools/plugins.git: der Host zwischen@und:, der der Host ist, mit dem Git sich verbindet. - Jede andere Form ohne Schema: kein Host, daher stimmt kein
strictKnownMarketplaceshostPatternEintrag damit überein. Für einenblockedMarketplaceshostPatternnimmt Claude Code einen Host aus einem breiteren Satz von Formen, daher kann ein Blocklist-Eintrag immer noch mit solch einer Form übereinstimmen. Vor v2.1.234 stimmte einstrictKnownMarketplaceshostPatternauch mit einigen Formen überein, die Git nicht als SSH-Adressen behandelt.
fileunddirectoryQuellen haben keinen Host und stimmen niemals mit einemhostPatternEintrag überein. - Eine URL mit einem Schema, wie
-
pathPattern: Verwenden Sie es, um Dateisystem-Marketplaces nebenhostPatternEinträgen für Netzwerkquellen zuzulassen.".*"erlaubt jeden lokalen Pfad; ein engeres Muster wie"^/opt/approved/"beschränkt auf ein Verzeichnis.
Jede Zulassungsliste, auch eine leere, stoppt auch Claude Code beim Laden von @skills-dir Plugins aus ~/.claude/skills/. Fügen Sie den { "source": "skills-dir" } Eintrag hinzu, um sie weiterhin zu laden; der Eintrag hat außerhalb dieses Schlüssels und blockedMarketplaces keine Bedeutung.
Owner-Wildcards
Ein github Eintrag, dessen repo Wert "<owner>/*" ist, stimmt mit jedem Repository unter diesem GitHub-Owner überein. Owner-Wildcards erfordern Claude Code v2.1.223 oder später und funktionieren nur in strictKnownMarketplaces und blockedMarketplaces. Überall sonst, wo eine github Quelle erscheint, wie extraKnownMarketplaces oder /plugin marketplace add, muss der repo Wert ein einzelnes Repository benennen. Vor v2.1.223 verglich Claude Code den Eintrag buchstäblich, daher stimmte ein Zulassungslisten-Eintrag mit keinem Repository überein und ein Blocklist-Eintrag blockierte nichts; Einträge für einzelne Repositories werden auf jeder Version erzwungen.
Dieser Eintrag erlaubt jeden Marketplace-Repository in der acme-corp Organisation:
{
"strictKnownMarketplaces": [
{ "source": "github", "repo": "acme-corp/*" }
]
}
Nur die ganze Repository-Namen-Position kann ein Wildcard sein. Claude Code ignoriert Einträge wie *, */plugins oder acme-corp/tools-* als ungültig, daher stimmen sie mit keinem Repository überein.
Die Abgleichregeln unterscheiden sich zwischen den beiden Einstellungen:
| Regel | strictKnownMarketplaces |
blockedMarketplaces |
|---|---|---|
| Abgleich von Quellschreibweisen | owner/repo Form nur. Eine Git-URL, die dasselbe Repository klont, stimmt nicht überein |
Jede Schreibweise, einschließlich Git-URLs, die zum selben github.com Repository auflösen |
| Groß-/Kleinschreibung des Owners | Groß-/Kleinschreibung wird beachtet | Groß-/Kleinschreibung wird ignoriert |
ref |
Folgt den exakten Eintrag-Regeln: ein Eintrag mit einem ref stimmt nur mit Quellen mit diesem exakten Ref überein, und ein Eintrag ohne einen stimmt nur mit Quellen überein, die keinen Ref angeben |
Ein Eintrag ohne einen ref blockiert alle Refs der Repositories, die er abgleicht |
path |
Lockerer als die exakten Eintrag-Regeln: ein Eintrag mit einem path erfordert diesen exakten Wert, während ein Eintrag ohne einen jeden Pfad im Repository abgleicht |
Ein Eintrag ohne einen path blockiert alle Pfade der Repositories, die er abgleicht |
Exakter Abgleich
Für jeden Quellentyp außer Owner-Wildcard github Einträgen und den Regex-abgeglichenen hostPattern und pathPattern Einträgen erlaubt Claude Code eine Benutzer-Addition nur, wenn die Marketplace-Quelle genau mit einem Eintrag übereinstimmt. Für die Git-basierten Quellen github und git umfasst der exakte Abgleich die optionalen Felder:
- Der
repooderurlmuss genau übereinstimmen - Das
refFeld muss genau übereinstimmen, oder beide müssen nicht definiert sein - Das
pathFeld muss genau übereinstimmen, oder beide müssen nicht definiert sein
Zum Beispiel behandelt Claude Code jedes Paar unten als zwei verschiedene Quellen:
{ "source": "github", "repo": "acme-corp/plugins" }und{ "source": "github", "repo": "acme-corp/plugins", "ref": "main" }{ "source": "github", "repo": "acme-corp/plugins", "path": "marketplace" }und{ "source": "github", "repo": "acme-corp/plugins" }
Nur den offiziellen Marketplace zulassen
Um den offiziellen Anthropic-Marketplace und nichts anderes zuzulassen, listen Sie sein Repository auf:
{
"strictKnownMarketplaces": [
{ "source": "github", "repo": "anthropics/claude-plugins-official" }
]
}
Mit diesem Eintrag behält Claude Code einen bereits registrierten offiziellen Marketplace bei und registriert den Marketplace auf einem neuen Computer automatisch, wenn Sie zum ersten Mal eine interaktive Terminalsitzung starten. Die automatische Registrierung verpasst am häufigsten:
- Nicht-interaktive Umgebungen, die vor der ersten interaktiven Terminalsitzung des Computers ausgeführt werden.
- Computer, auf denen Claude Code nur über die VS Code-Erweiterung ausgeführt wurde.
- Computer, auf denen Claude Code bereits eine interaktive Terminalsitzung unter einer Richtlinie ausgeführt hat, die den Marketplace blockierte, wie die leere Array-Sperrung. Claude Code zeichnet den blockierten Versuch auf und versucht es nicht erneut, nachdem sich die Richtlinie ändert.
Fügen Sie auf diesen Computern den Marketplace zu extraKnownMarketplaces in derselben managed-settings.json hinzu, damit Claude Code ihn automatisch registriert, oder führen Sie claude plugin marketplace add anthropics/claude-plugins-official aus.
Mit extraKnownMarketplaces kombinieren
Die beiden Schlüssel erfüllen unterschiedliche Aufgaben. Diese Tabelle vergleicht sie:
| Aspekt | strictKnownMarketplaces |
extraKnownMarketplaces |
|---|---|---|
| Zweck | Durchsetzung der Organisationsrichtlinie | Team-Komfort |
| Einstellungsdatei | Nur verwaltete Einstellungen | Jede Einstellungsdatei |
| Verhalten | Blockiert nicht zulässige Additionen | Registriert fehlende Marketplaces |
| Wann erzwungen | Vor Netzwerk- und Dateisystemoperationen | Sofort aus Benutzer- oder verwalteten Einstellungen; nach dem Workspace-Vertrauensdialog für die Dateien eines Repositories |
| Kann überschrieben werden | Nein, höchster Vorrang | Ja, durch Einstellungen mit höherem Vorrang |
| Quellenformat | Direktes Quellobjekt | Benannter Marketplace mit einem verschachtelten source Objekt |
Um einen Marketplace sowohl einzuschränken als auch vorab zu registrieren für alle Benutzer, setzen Sie beide in managed-settings.json:
{
"strictKnownMarketplaces": [
{ "source": "github", "repo": "acme-corp/plugins" }
],
"extraKnownMarketplaces": {
"acme-tools": {
"source": { "source": "github", "repo": "acme-corp/plugins" }
}
}
}
Mit nur strictKnownMarketplaces gesetzt, können Benutzer einen zulässigen Marketplace immer noch selbst mit /plugin marketplace add hinzufügen. Der offizielle Anthropic-Marketplace ist der einzige, den Claude Code automatisch registriert, und nur wenn die Zulassungsliste ihn zulässt. Nur den offiziellen Marketplace zulassen listet die Computer auf, die er verpasst.
strictPluginOnlyCustomization
Blockieren Sie Skills, Agents, Hooks und MCP-Server von Benutzer- und Projektquellen, daher können sie nur von Plugins oder verwalteten Einstellungen stammen. Kombinieren Sie es mit strictKnownMarketplaces, um die vollständige Anpassungslieferkette zu kontrollieren: die Marketplace-Zulassungsliste kontrolliert, welche Plugins Benutzer installieren können.
- Bereich:
Managed - Typ:
true, um alle vier Arten von Anpassung zu sperren, oder ein Array, das die zu sperrenden Arten benennt, von"skills","agents","hooks"und"mcp" - Standard: nicht gesetzt, daher ist nichts gesperrt
Dieses Beispiel sperrt Skills und Hooks und lässt Agents und MCP-Server entsperrt:
{
"strictPluginOnlyCustomization": ["skills", "hooks"]
}
Die vier Sub-Schlüssel-Einträge unten listen auf, was jede Oberfläche blockiert und was immer noch geladen wird. Claude Code ignoriert Oberflächennamen, die es nicht erkennt, anstatt die Einstellungsdatei fehlschlagen zu lassen, daher können Sie neue Oberflächennamen hinzufügen, bevor jeder Client aktualisiert hat.
strictPluginOnlyCustomization.skills
Sperren Sie die skills Oberfläche. Claude Code stoppt das Laden von Skills aus ~/.claude/skills/ und .claude/skills/, benutzerdefinierten Befehlen aus ~/.claude/commands/ und .claude/commands/, Skills und Befehlen unter --add-dir Verzeichnissen und Skills, die von Ihrem claude.ai-Konto synchronisiert werden. Es lädt weiterhin Plugin-Skills, gebündelte Skills und Skills im verwalteten Richtlinienverzeichnis.
- Bereich:
Managed - Typ: der String
"skills"imstrictPluginOnlyCustomizationArray - Standard: nicht gesperrt
{
"strictPluginOnlyCustomization": ["skills"]
}
strictPluginOnlyCustomization.agents
Sperren Sie die agents Oberfläche. Claude Code stoppt das Laden von Agents aus ~/.claude/agents/, .claude/agents/ und --add-dir Verzeichnissen. Es lädt weiterhin Plugin-Agents, integrierte Agents und Agents im verwalteten Richtlinienverzeichnis.
- Bereich:
Managed - Typ: der String
"agents"imstrictPluginOnlyCustomizationArray - Standard: nicht gesperrt
{
"strictPluginOnlyCustomization": ["agents"]
}
strictPluginOnlyCustomization.hooks
Sperren Sie die hooks Oberfläche:
- Werden nicht mehr ausgeführt:
- Werden weiterhin ausgeführt: Plugin-Hooks und Hooks in verwalteten Einstellungen
Skills, benutzerdefinierte Befehle und Agenten, deren Frontmatter-Hooks nicht mehr ausgeführt werden, werden weiterhin geladen, solange ihre eigene Oberfläche nicht gesperrt ist.
- Bereich:
Managed - Typ: der String
"hooks"imstrictPluginOnlyCustomizationArray - Standard: nicht gesperrt
{
"strictPluginOnlyCustomization": ["hooks"]
}
strictPluginOnlyCustomization.mcp
Sperren Sie die mcp Oberfläche. Claude Code stoppt das Laden von MCP-Servern aus ~/.claude.json und .mcp.json und lädt weiterhin Plugin-MCP-Server, managed-mcp.json Server und Server von managedMcpServers.
- Bereich:
Managed - Typ: der String
"mcp"imstrictPluginOnlyCustomizationArray - Standard: nicht gesperrt
{
"strictPluginOnlyCustomization": ["mcp"]
}
enabledPlugins
Schalten Sie einzelne Plugins ein oder aus, gekennzeichnet durch plugin-name@marketplace-name. Ein Plugin ohne Eintrag in einem beliebigen Bereich fällt auf seinen defaultEnabled Wert zurück. Wenn Sie ein Plugin mit /plugin oder claude plugin enable aktivieren oder deaktivieren, schreibt Claude Code diesen Schlüssel für Sie.
- Bereich:
Any file - Typ: Objekt, das
plugin-name@marketplace-nameauf einen Boolean abbildet - Standard: nicht gesetzt, daher folgt jedes Plugin seinem
defaultEnabledWert
Dieses Beispiel aktiviert zwei Plugins aus dem team-tools Marketplace und deaktiviert eines aus personal:
{
"enabledPlugins": {
"code-formatter@team-tools": true,
"deployment-tools@team-tools": true,
"experimental-features@personal": false
}
}
Jeder Bereich dient einem anderen Zweck:
- Benutzereinstellungen: Ihre persönlichen Plugin-Voreinstellungen
- Projekteinstellungen: Plugins, die mit jedem im Repository geteilt werden
- Lokale Einstellungen: Überschreibungen pro Computer, gitignoriert, wenn Claude Code eine Einstellung dort speichert
- Verwaltete Einstellungen: Organisationsrichtlinie. Ein Plugin, das hier auf
falsegesetzt ist, ist von der Installation in jedem Bereich blockiert und im Marketplace verborgen
Projekteinstellungen haben Vorrang vor Benutzereinstellungen, daher deaktiviert das Setzen eines Plugins auf false in ~/.claude/settings.json kein Plugin, das die .claude/settings.json des Projekts aktiviert. Um sich von einem von Projekt aktivierten Plugin auf Ihrem Computer abzumelden, setzen Sie es stattdessen auf false in .claude/settings.local.json. Plugins, die von verwalteten Einstellungen erzwungen aktiviert werden, können auf diese Weise nicht deaktiviert werden, da verwaltete Einstellungen lokale Einstellungen überschreiben.
Das Aktivieren eines Plugins aus einer externen Quelle wie einem GitHub-Repository oder npm-Paket in der .claude/settings.json eines Projekts installiert es nicht für andere Personen. Auf jedem Pfad, der Plugins lädt, meldet Claude Code das Plugin als nicht installiert, bis jeder Benutzer es selbst installiert.
extraKnownMarketplaces
Registrieren Sie zusätzliche Plugin-Marketplaces nach Name, damit Personen, die das Repository öffnen, oder jeder, den Ihre verwalteten Einstellungen erreichen, den Marketplace erhalten, ohne ihn selbst hinzuzufügen. Claude Code registriert jeden Marketplace, den es noch nicht kennt. Ob ein Plugin, das enabledPlugins von ihm benennt, installiert wird, hängt von der Plugin-Quelle und welche Datei es aktiviert ab; dieser Eintrag hat die Regeln.
- Bereich:
Any file. Claude Code berücksichtigt Einträge in der.claude/settings.jsonoder.claude/settings.local.jsoneines Repositories nur, nachdem Sie den Workspace-Vertrauensdialog für diesen Ordner akzeptieren; in einem Ordner, dem Sie nicht vertrauen, einschließlich eines-pLaufs dort, ignoriert es sie ohne Nachricht. - Typ: Objekt, das einen Marketplace-Namen auf ein Objekt mit einem
sourceObjekt und einem optionalenautoUpdateBoolean abbildet - Standard: nicht gesetzt
Dieses Beispiel registriert einen GitHub-Marketplace und einen Marketplace von einer selbst gehosteten Git-URL:
{
"extraKnownMarketplaces": {
"acme-tools": {
"source": {
"source": "github",
"repo": "acme-corp/claude-plugins"
}
},
"security-plugins": {
"source": {
"source": "git",
"url": "https://git.example.com/security/plugins.git"
}
}
}
}
Was lädt, bevor Sie einen Ordner vertrauen vergleicht das Vertrauens-Gate mit dem anderen Inhalt, den ein Repository liefern kann. Sie können diesen Schlüssel auch als additionalMarketplaces schreiben; siehe Marketplace-Schlüssel-Aliase.
Setzen Sie "autoUpdate": true neben source, um Claude Code zu veranlassen, diesen Marketplace zu aktualisieren und seine installierten Plugins nach dem Start im Hintergrund zu aktualisieren. Wenn weggelassen, standardmäßig claude-plugins-official und die meisten anderen offiziellen Anthropic-Marketplaces auf true, und Drittanbieter-Marketplaces standardmäßig auf false. Siehe Konfigurieren Sie Auto-Updates.
Wenn mehr als eine Einstellungsdatei einen Marketplace-Eintrag unter demselben Namen definiert, verwendet Claude Code den Eintrag aus der höchsten Prioritätsdatei ganz. Dieser Eintrag ersetzt den Eintrag mit niedrigerer Priorität und erbt keine seiner Felder, daher kann eine Neudefinition nicht die source.headers Anmeldedaten einer Datei mit einer URL kombinieren, die eine andere Datei kontrolliert. Vor v2.1.228 fusionierte Claude Code Einträge mit demselben Namen Feld für Feld, daher konnte ein Eintrag in einer höher priorisierten Datei Felder erben, die er nicht setzte, einschließlich headers einer anderen Datei.
Marketplace-Quellentypen
Das source Objekt nimmt eine dieser Formen an:
github: ein GitHub-Repository, mitrepogit: jede Git-URL, miturlurl: eine direkte URL zu einermarketplace.jsonDatei, miturlund optionalenheadersundheadersHelperfür authentifizierten Zugriff.headersHelperbenennt einen Befehl, der Header druckt, deren Werte zu kurzlebig sind, um inheadersaufzulisten, und erfordert Claude Code v2.1.238 oder späterfile: ein lokaler Pfad zu einermarketplace.jsonDatei, mitpathdirectory: ein lokaler Dateisystem-Pfad, mitpath. Verwenden Sie ihn für die Entwicklung oder für einen Marketplace, den Ihre Organisation auf jedem Computer bereitstellt.settings: ein Inline-Marketplace, der direkt in der Einstellungsdatei ohne ein gehostetes Repository deklariert ist, mitnameundplugins
Der git Quellentyp funktioniert mit jedem Git-Hosting-Service, einschließlich selbst gehosteter GitLab und Bitbucket. Claude Code klont das Repository mit derselben Authentifizierung, die git clone auf diesem Computer verwenden würde: konfigurierte Credential-Helper oder SSH-Schlüssel. Ein Provider-Token wie GITHUB_TOKEN wird durch einen Credential-Helper wirksam, der ihn liest. Siehe Private Repositories für Setup-Details.
Für github und git Quellen lädt Claude Code niemals Git LFS Inhalte herunter, wenn es das Marketplace-Repository klont, um es hinzuzufügen oder zu aktualisieren. LFS-verfolgte Dateien werden als Zeiger-Dateien ausgecheckt, und die Ausgabe zum Hinzufügen oder Aktualisieren meldet, wie viele.
Das skipLfs Feld im source Objekt wird akzeptiert und hat keine Auswirkung. Vor v2.1.274 lud Claude Code LFS-Inhalte herunter, es sei denn, Sie setzen "skipLfs": true.
Für eine url Quelle setzen Sie headersHelper im source Objekt, wenn die Anmeldedaten in headers ablaufen und ein Befehl eine frische produzieren muss. Erfordert Claude Code v2.1.238 oder später. Für das, was der Befehl drucken muss und wo Claude Code ihn ausführt, siehe Schreiben Sie den headersHelper-Befehl, und für die Fälle, in denen Claude Code ihn nicht ausführt, siehe Wenn Claude Code einen headersHelper-Befehl überspringt oder seine Ausgabe verwirft. Sobald Sie headersHelper auf einer https:// Marketplace-URL setzen, führt Claude Code den Befehl an zwei Punkten aus und verwendet die Ausgabe eines Laufs für bis zu 60 Sekunden erneut:
- Vor jedem Abrufen von diesem Marketplace
marketplace.json, einschließlich einer späteren Aktualisierung. Claude Code sendet die gedruckten Header mit diesem Abrufen. - Vor jedem Plugin-Archiv-Download auf dem Ursprung der Marketplace-URL, was dasselbe Schema, Host und Port bedeutet. Claude Code sendet die Ausgabe mit diesem Download, und kein anderer Download erhält die Header.
Claude Code ignoriert jeden headersHelper, der in der .claude/settings.json oder .claude/settings.local.json eines Verzeichnisses gesetzt ist, das Sie mit --add-dir hinzufügen, auf einer url Quelle und auf einem Inline-Plugin-Eintrag gleichermaßen, und sendet nur die festen headers, die in dieser Datei gesetzt sind. Wie Benutzer einen headersHelper-Befehl akzeptieren behandelt die anderen Einstellungsdateien.
Plugins, die in einer settings Quelle aufgelistet sind, müssen externe Quellen wie GitHub oder npm referenzieren, und der name muss dem Marketplace-Schlüssel entsprechen. Sie aktivieren immer noch jedes Plugin separat in enabledPlugins. Dieses Beispiel deklariert ein Plugin inline:
{
"extraKnownMarketplaces": {
"team-tools": {
"source": {
"source": "settings",
"name": "team-tools",
"plugins": [
{
"name": "code-formatter",
"source": {
"source": "github",
"repo": "acme-corp/code-formatter"
}
}
]
}
}
}
}
Ein Plugin-Eintrag unter source: 'settings', dessen eigene source ein archive ist, kann headers für den Archiv-Download setzen. Wenn der Wert, den Sie in headers setzen würden, kurzlebig ist, wie ein Token, den Ihre Registry auf Anfrage prägt, setzen Sie stattdessen einen headersHelper Befehl. Ein Eintrag kann beide setzen. Beide Felder erfordern Claude Code v2.1.238 oder später.
Claude Code sendet die headers des Eintrags und alles, was der Befehl druckt, mit dem Archiv-Download dieses Plugins und mit keinem anderen Download. Claude Code führt den Befehl nur aus, wenn ein Benutzer dieses eine Plugin selbst installiert oder aktualisiert. Drei weitere Regeln hängen davon ab, welche Datei den Eintrag hält:
strict: anders als ein Eintrag in einem Marketplacemarketplace.jsonbenötigt ein Eintrag in Einstellungen kein"strict": false, weil eine Einstellungsdatei keine Manifest-Felder zum Inline-Einfügen trägt. Siehe Strict Mode.- Ordner-Vertrauen: für einen Eintrag in der
.claude/settings.jsonoder.claude/settings.local.jsoneines Projekts führt Claude Code den Befehl nur aus, nachdem der Benutzer auch diesen Ordner vertraut hat. - Header-Filter: Claude Code verwirft Request-Routing- und Client-Identitäts-Header-Namen aus einem Eintrag in der
.claude/settings.jsonoder.claude/settings.local.jsoneines Projekts, weil ein Repository diese Dateien liefern kann. Claude Code wendet denselben Filter auf einen Katalog-Eintrag und auf einen Eintrag in einem--add-dirVerzeichnis-Einstellungen an, und keinen Filter auf einen Eintrag in Ihren Benutzereinstellungen, einer--settingsDatei oder verwalteten Einstellungen.
Marketplace-Schlüssel-Aliase
Auf Claude Code v2.1.232 oder später können Sie extraKnownMarketplaces als additionalMarketplaces und strictKnownMarketplaces als allowedMarketplaces schreiben. Claude Code behandelt jeden Alias wie folgt:
- Frühere Versionen ignorieren den Alias, daher behalten Sie die kanonische Schreibweise in einer Datei, die auch ältere Versionen lesen, wie eine verwaltete Einstellungsdatei für eine Flotte mit gemischten Claude Code Versionen.
- In jeder Einstellungsdatei, die den kanonischen Schlüssel akzeptiert, liest Claude Code den Alias genau wie den kanonischen Schlüssel.
- Claude Code kann
additionalMarketplaceszuextraKnownMarketplacesumschreiben, wenn es die Datei aktualisiert. - Wenn Sie beide Schreibweisen in einer Datei setzen, verwendet Claude Code den kanonischen Wert und ignoriert den Alias.
pluginConfigs
Speichern Sie die nicht-sensiblen Antworten, die Sie einem Plugin userConfig Konfigurationsdialog geben, gekennzeichnet durch Plugin-ID. Claude Code schreibt diesen Schlüssel in Ihre Benutzereinstellungen, wenn Sie den Dialog ausfüllen, daher müssen Sie ihn nicht von Hand bearbeiten. Claude Code speichert sensible Optionen stattdessen im macOS Keychain, fällt auf ~/.claude/.credentials.json zurück, wenn der Keychain den Schreibvorgang ablehnt; auf Plattformen ohne einen unterstützten Keychain speichert es sie in ~/.claude/.credentials.json.
- Bereich:
User or managed - Typ: Objekt, das eine Plugin-ID auf ein Objekt mit einem
optionsFeld abbildet, das jeden Optionsnamen auf einen String, eine Zahl, einen Boolean oder ein Array von Strings abbildet, und ein optionalesmcpServersFeld mit Pro-Server-Benutzer-Konfigurationswerten in derselben Form - Standard: nicht gesetzt
Dieses Beispiel speichert die api_endpoint Option für das deployer Plugin aus acme-tools:
{
"pluginConfigs": {
"deployer@acme-tools": {
"options": {
"api_endpoint": "https://api.example.com"
}
}
}
}
Integrierte Plugins speichern ihre Optionen unter demselben Schlüssel mit einem @builtin Suffix. Zum Beispiel ist die Projektanweisungen Einstellung, die kontrolliert, ob Claude Code AGENTS.md Dateien liest, pluginConfigs["cc-plugin-agents-md@builtin"].options.instructionFiles. Vor v2.1.285 lautete die ID des Plugins agents-md@builtin. Spätere Versionen lesen einen Eintrag unter beiden IDs.
Claude Code ignoriert Projekt- und lokale Einträge, weil es diese Werte in Plugin-Hook-, MCP- und LSP-Konfigurationen einsetzt und ein geklontes Repository sie nicht liefern können darf.
prependPlugins
Listen Sie die verwalteten Plugins auf, deren Mods vor jedem Mod ausgeführt werden, den ein Benutzer installiert, in der aufgeführten Reihenfolge. Wenn Sie diesen Schlüssel in verwalteten Einstellungen setzen, nennen Sie sec-default@builtin in der Liste, um den integrierten Schutz beizubehalten. In verwalteten Einstellungen überspringt Claude Code eine ID, deren Plugin nicht als Plugin Ihrer Organisation gilt. Siehe Mods Ihrer Organisation installieren und die Reihenfolge festlegen für diese Bedingungen und dafür, wie die beiden Reihenfolge-Schlüssel zusammenwirken.
- Geltungsbereich:
User or managed. Claude Code liest den Schlüssel aus verwalteten Einstellungen. Aus Benutzereinstellungen liest es den Schlüssel nur auf einem Computer ohne verwaltete Einstellungen und in einer Sitzung, deren Anmeldedaten nicht aus einem Team- oder Enterprise-/loginstammen. In Projekt- und lokalen Einstellungen sowie in einer--settingsDatei ignoriert es den Schlüssel. - Typ: Array von
plugin-name@marketplace-nameStrings - Standard: nicht gesetzt
{
"extraKnownMarketplaces": {
"acme-tools": {
"source": { "source": "directory", "path": "/opt/acme/claude-plugins" }
}
},
"enabledPlugins": { "acme-guard@acme-tools": true },
"prependPlugins": ["acme-guard@acme-tools", "sec-default@builtin"]
}
appendPlugins
Listen Sie die verwalteten Plugins auf, deren Mods nach jedem Mod ausgeführt werden, den ein Benutzer installiert, in der aufgeführten Reihenfolge. Eine ID, die sowohl in prependPlugins als auch in appendPlugins aufgeführt ist, wird vorangestellt. In verwalteten Einstellungen überspringt Claude Code eine ID, deren Plugin nicht als Plugin Ihrer Organisation gilt.
- Geltungsbereich:
User or managed. Claude Code liest den Schlüssel aus verwalteten Einstellungen. Aus Benutzereinstellungen liest es den Schlüssel nur auf einem Computer ohne verwaltete Einstellungen und in einer Sitzung, deren Anmeldedaten nicht aus einem Team- oder Enterprise-/loginstammen. In Projekt- und lokalen Einstellungen sowie in einer--settingsDatei ignoriert es den Schlüssel. - Typ: Array von
plugin-name@marketplace-nameStrings - Standard: nicht gesetzt
{
"extraKnownMarketplaces": {
"acme-tools": {
"source": { "source": "directory", "path": "/opt/acme/claude-plugins" }
}
},
"enabledPlugins": { "acme-audit@acme-tools": true },
"appendPlugins": ["acme-audit@acme-tools"]
}
MCP
Steuern Sie, mit welchen MCP-Servern Claude Code sich verbindet, und welche eine Organisation zulässt. Siehe Mit externen Tools über MCP verbinden und Verwaltete MCP-Konfiguration.
allowAllClaudeAiMcps
Laden Sie die claude.ai-Konnektoren, die Claude Code selbst abruft, zusammen mit einer bereitgestellten managed-mcp.json. Ohne diesen Schlüssel übernimmt managed-mcp.json die ausschließliche Kontrolle über MCP-Server und unterdrückt diese Konnektoren.
- Geltungsbereich:
Managed. Benutzer können Konnektoren, die durch die ausschließliche Kontrolle unterdrückt wurden, nicht erneut aktivieren. - Typ: Boolean
true: Claude Code lädt die claude.ai-Konnektoren zusammen mit einer bereitgestelltenmanaged-mcp.jsonfalse: eine bereitgestelltemanaged-mcp.jsonübernimmt die ausschließliche Kontrolle über MCP-Server und unterdrückt die claude.ai-Konnektoren, die Claude Code selbst abruft
- Standard:
false, daher unterdrückt eine bereitgestelltemanaged-mcp.jsondie claude.ai-Konnektoren, die Claude Code selbst abruft
{
"allowAllClaudeAiMcps": true
}
allowedMcpServers und deniedMcpServers gelten weiterhin für die Konnektoren, die dieser Schlüssel lädt. Konnektoren, die an eine Cloud-Sitzung geliefert werden, deren Host eine managed-mcp.json trägt, wie z. B. einen selbstgehosteten Runner, bleiben unterdrückt. Siehe claude.ai-Konnektoren neben dem verwalteten Satz zulassen.
allowClaudeInChromeWithManagedMcp
Lassen Sie den integrierten Claude in Chrome-Server zusammen mit einer bereitgestellten managed-mcp.json laufen. Ohne diesen Schlüssel blockiert eine bereitgestellte managed-mcp.json Claude in Chrome in Terminal-Sitzungen. Erfordert Claude Code v2.1.282 oder später.
- Geltungsbereich:
Managed, nur aus den eigenen verwalteten Einstellungen des Geräts: einer per MDM bereitgestellten plist oder einem HKLM-Registrierungsschlüssel oder einer System-managed-settings.json-Datei. Claude Code ignoriert ihn in servergesteuerten Einstellungen, in der vom Benutzer beschreibbaren HKCU-Registrierung sowie in Benutzer- oder Projekteinstellungen. - Typ: Boolean
true: der integrierte Claude in Chrome-Server kann zusammen mit einer bereitgestelltenmanaged-mcp.jsonlaufenfalse: eine bereitgestelltemanaged-mcp.jsonblockiert Claude in Chrome in Terminal-Sitzungen
- Standard:
false, daher blockiert eine bereitgestelltemanaged-mcp.jsonClaude in Chrome in Terminal-Sitzungen
{
"allowClaudeInChromeWithManagedMcp": true
}
Ein deniedMcpServers-Eintrag für claude-in-chrome blockiert den Server auch bei aktiviertem Schlüssel weiterhin. Siehe Claude in Chrome neben dem verwalteten Satz zulassen.
allowedMcpServers
Erstellen Sie eine Allowlist der MCP-Server, die Personen hinzufügen können. Claude Code blockiert jeden Server, der nicht mit einem Eintrag übereinstimmt, überall dort, wo er definiert ist, einschließlich Plugin-Server, Server, die ein Benutzer mit --mcp-config übergibt, und Server von claude.ai.
Integrierte Server wie Claude in Chrome, der ide-Server, mit dem Claude Code sich in einer laufenden VS Code- oder JetBrains-IDE verbindet, und Server, die die CLI selbst konfiguriert, sind von der Allowlist ausgenommen, und die Denylist gilt weiterhin für sie. Ab Claude Code v2.1.268 sind auch die Slack-Tools einer Claude Tag-Sitzung von der Allowlist ausgenommen, und die Denylist gilt weiterhin für sie. In-Process-type: "sdk"-Server sind von beiden Listen ausgenommen; die App, die die Sitzung gestartet hat, registriert sie.
Server, die Ihre Organisation bereitstellt, sind auch von der Allowlist ausgenommen, und die Denylist gilt weiterhin für sie. Die Ausnahme deckt jeden managedMcpServers-Eintrag ab, und jeden managed-mcp.json-Eintrag, dessen Werte keine ${VAR}-Erweiterung verwenden. Siehe Wie ein Server bewertet wird für die vollständige Prüfreihenfolge. Vor v2.1.259 mussten Server aus managed-mcp.json auch übereinstimmen.
- Geltungsbereich:
Any file. Einträge aus jeder Datei werden in eine Allowlist zusammengeführt, es sei denn,allowManagedMcpServersOnlyist gesetzt. Stellen Sie es in verwalteten Einstellungen bereit, um es durchzusetzen. - Typ: Array von Objekten, jedes mit genau einem Schlüssel:
serverName, ein String, der auf Buchstaben, Zahlen, Bindestriche und Unterstriche beschränkt ist;serverCommand, ein Array des Befehls und seiner Argumente, die genau übereinstimmen; oderserverUrl, ein URL-Muster mit*-Platzhaltern - Standard: nicht gesetzt, daher ist jeder Server zulässig; ein leeres Array blockiert jeden Server, den Benutzer hinzufügen
Dieses Beispiel erlaubt nur den stdio-Server, den der aufgelistete npx-Befehl startet:
{
"allowedMcpServers": [
{ "serverCommand": ["npx", "-y", "@modelcontextprotocol/server-filesystem"] }
]
}
Ein deniedMcpServers-Eintrag hat Vorrang, daher wird ein Server auf beiden Listen blockiert. Sobald die Liste einen serverCommand-Eintrag enthält, muss ein stdio-Server mit einem serverCommand-Eintrag übereinstimmen, und sobald sie einen serverUrl-Eintrag enthält, muss ein Remote-Server mit einem serverUrl-Eintrag übereinstimmen: eine serverName-Übereinstimmung lässt diese Art von Server nicht mehr zu. Siehe Richtlinienbasierte Kontrolle mit Allowlists und Denylists.
allowManagedMcpServersOnly
Machen Sie die verwaltete Allowlist zur einzigen, die gilt. Claude Code liest dann allowedMcpServers nur aus verwalteten Einstellungen und ignoriert Allowlists in Benutzer-, Projekt- und lokalen Einstellungen; deniedMcpServers wird weiterhin aus jedem Geltungsbereich der Einstellungen zusammengeführt, daher können Benutzer weiterhin Server für sich selbst blockieren. Administratoren setzen es so, dass die eigenen Einstellungen eines Benutzers nicht erweitern können, was die verwaltete Allowlist zulässt.
- Geltungsbereich:
Managed - Typ: Boolean
true: Claude Code liestallowedMcpServersnur aus verwalteten Einstellungen und ignoriert Allowlists in Benutzer-, Projekt- und lokalen Einstellungenfalse: Allowlists aus jedem Geltungsbereich der Einstellungen werden zusammengeführt
- Standard:
false, daher werden Allowlists aus jedem Geltungsbereich der Einstellungen zusammengeführt
Dieses Beispiel sperrt die Allowlist auf verwaltete Einstellungen und erlaubt nur den Server namens github:
{
"allowManagedMcpServersOnly": true,
"allowedMcpServers": [
{ "serverName": "github" }
]
}
Benutzer können weiterhin ihre eigenen MCP-Server hinzufügen; nur Server, die mit der verwalteten Allowlist übereinstimmen, werden geladen. Siehe Allowlist auf verwaltete Einstellungen beschränken.
deniedMcpServers
Blockieren Sie bestimmte MCP-Server. Claude Code weigert sich, einen übereinstimmenden Server zu laden, überall dort, wo er definiert ist, einschließlich Plugin-Server, Server, die mit --mcp-config übergeben werden, Server aus managed-mcp.json, Server aus managedMcpServers, und die claude.ai-Konnektoren, die es selbst abruft. In-Process-type: "sdk"-Server sind ausgenommen; die App, die die Sitzung gestartet hat, registriert sie.
- Geltungsbereich:
Any file. Einträge aus jeder Datei werden in eine Denylist zusammengeführt, undallowManagedMcpServersOnlyändert das nicht. Stellen Sie es in verwalteten Einstellungen bereit, um es durchzusetzen. - Typ: Array von Objekten, jedes mit genau einem Schlüssel:
serverName, ein String, daher funktioniert der Anzeigename eines claude.ai-Konnektors wie"claude.ai Slack";serverCommand, ein Array des Befehls und seiner Argumente, die genau übereinstimmen; oderserverUrl, ein URL-Muster mit*-Platzhaltern - Standard: nicht gesetzt, daher wird kein Server blockiert; ein leeres Array blockiert auch nichts
{
"deniedMcpServers": [
{ "serverName": "filesystem" }
]
}
Die Denylist hat Vorrang vor allowedMcpServers, daher wird ein Server auf beiden Listen blockiert. Siehe Richtlinienbasierte Kontrolle mit Allowlists und Denylists.
disableClaudeAiConnectors
Schalten Sie die claude.ai-MCP-Konnektoren aus, die Claude Code selbst abruft, sodass es sie weder abruft noch verbindet. Ein true in einer beliebigen Einstellungsdatei gilt: eine eingecheckte Projekt-.claude/settings.json kann ein Repository von diesen Konnektoren abmelden, aber ein Projekt-Level-false kann ein Benutzer- oder verwaltetes Level-true nicht überschreiben.
- Geltungsbereich:
Any file - Typ: Boolean
true: Claude Code ruft diese Konnektoren weder ab noch verbindet siefalse: dasselbe wie nicht gesetzt; Claude Code ruft Ihre Konnektoren ab, es sei denn, eine andere Einstellungsdatei oderENABLE_CLAUDEAI_MCP_SERVERSschaltet sie aus
- Standard:
false, daher ruft Claude Code Ihre Konnektoren ab - Pro-Sitzungs-Überschreibungen:
ENABLE_CLAUDEAI_MCP_SERVERSauffalsegesetzt schaltet Konnektoren für eine Sitzung aus; welcher der beiden sie auch ausschaltet, der andere kann sie nicht wieder einschalten
{
"disableClaudeAiConnectors": true
}
Server, die Sie explizit mit --mcp-config übergeben, sind nicht betroffen. Um einzelne Konnektoren statt aller zu blockieren, verwenden Sie deniedMcpServers. Siehe claude.ai-Konnektoren deaktivieren.
disabledMcpjsonServers
Lehnen Sie bestimmte Server ab, die in der .mcp.json-Datei eines Projekts definiert sind, damit Claude Code sich nie mit ihnen verbindet oder Sie auffordert, sie zu genehmigen. Eine Ablehnung in einer beliebigen Einstellungsdatei gilt, einschließlich einer Projekt-.claude/settings.json, die in das Repository eingecheckt ist.
- Geltungsbereich:
Any file - Typ: Array von Strings, die Servernamen, wie sie in
.mcp.jsonerscheinen - Standard: nicht gesetzt
{
"disabledMcpjsonServers": ["filesystem"]
}
Claude Code schreibt diesen Schlüssel in .claude/settings.local.json, wenn Sie einen Server im Genehmigungsdialog ablehnen. claude mcp get <name> zeigt einen abgelehnten Server als ✘ Rejected (see disabledMcpjsonServers in settings) an. Ablehnung hat Vorrang vor enabledMcpjsonServers und enableAllProjectMcpServers.
enableAllProjectMcpServers
Genehmigen Sie jeden MCP-Server, der in Projekt-.mcp.json-Dateien definiert ist, ohne Nachfrage. Claude Code schreibt diesen Schlüssel in .claude/settings.local.json, wenn Sie wählen, alle Server im Genehmigungsdialog zu genehmigen.
- Geltungsbereich:
Any file. In einem Ordner, dessen Vertrauensdialog Sie nicht akzeptiert haben, berücksichtigt Claude Code ihn aus Benutzereinstellungen, verwalteten Einstellungen und--settingsund ignoriert ihn in der gemeinsamen Projektdatei, sowohl in der Sitzung als auch fürclaude mcp listundclaude mcp get; Projektserver-Genehmigungen und Workspace-Vertrauen beschreibt, wann eine nicht nachverfolgte.claude/settings.local.jsonebenfalls zählt. - Typ: Boolean
true: Claude Code genehmigt jeden MCP-Server, der in Projekt-.mcp.json-Dateien definiert ist, ohne Nachfragefalse: Claude Code fordert Sie auf, jeden Server zu genehmigen. In einem vertrauenswürdigen Ordner überschreibt einfalsein einer Datei mit höherem Vorrang eintruein einer niedrigeren; in einem Ordner, dem Sie nicht vertrauen, ist eintruein einer beliebigen berücksichtigten Datei ausreichend
- Standard: nicht gesetzt, daher fordert Claude Code Sie auf, jeden Server zu genehmigen
{
"enableAllProjectMcpServers": true
}
Ein disabledMcpjsonServers-Eintrag lehnt einen Server weiterhin ab.
enabledMcpjsonServers
Genehmigen Sie bestimmte Server, die in Projekt-.mcp.json-Dateien definiert sind, damit Claude Code sich mit ihnen verbindet, ohne zu fragen. Claude Code schreibt diesen Schlüssel in .claude/settings.local.json, wenn Sie einen Server im Genehmigungsdialog genehmigen.
- Geltungsbereich:
Any file. In einem Ordner, dessen Vertrauensdialog Sie nicht akzeptiert haben, berücksichtigt Claude Code ihn aus Benutzereinstellungen, verwalteten Einstellungen und--settingsund ignoriert ihn in der gemeinsamen Projektdatei, sowohl in der Sitzung als auch fürclaude mcp listundclaude mcp get; Projektserver-Genehmigungen und Workspace-Vertrauen beschreibt, wann eine nicht nachverfolgte.claude/settings.local.jsonebenfalls zählt. - Typ: Array von Strings, die Servernamen, wie sie in
.mcp.jsonerscheinen - Standard: nicht gesetzt
Dieses Beispiel genehmigt die Server memory und github aus der .mcp.json des Projekts:
{
"enabledMcpjsonServers": ["memory", "github"]
}
Ein disabledMcpjsonServers-Eintrag lehnt einen Server weiterhin ab.
managedMcpServers
Stellen Sie Remote-MCP-Server aus verwalteten Einstellungen für jeden Benutzer bereit. Benutzer behalten die Server, die sie selbst hinzufügen, und können die Server, die Sie bereitstellen, nicht bearbeiten oder entfernen. Erfordert Claude Code v2.1.259 oder später.
- Geltungsbereich:
Managed. Claude Code verwirft den Schlüssel mit einer Warnung in Benutzer-, Projekt- und lokalen Einstellungen und liest ihn nicht in der Code-Registerkarte der Claude Desktop-App bei einer Drittanbieter-Bereitstellung oder in den Cowork-Sitzungen der App, wo Claude Desktop die MCP-Server dieser Sitzungen selbst bereitstellt und sperrt. - Typ: Objekt mit einem Schlüssel pro Servername. Jeder Eintrag hat die
.mcp.json-Form für einenhttp- odersse-Server: eine erforderlichehttps://urlund optionalheaders,oauthund die anderen HTTP- und SSE-Optionen. Claude Code verwirft Einträge, die die Validierung nicht bestehen, und Was ein Eintrag enthalten kann listet die Bedingungen auf - Standard: nicht gesetzt, daher stellen verwaltete Einstellungen keine Server bereit
Dieses Beispiel stellt einen HTTP-Server namens search bereit:
{
"managedMcpServers": {
"search": {
"type": "http",
"url": "https://search.example.com/mcp"
}
}
}
Für Vorrang, wie bereitgestellte Server mit managed-mcp.json und den Allow- und Denylists kombiniert werden, und was Benutzer sehen, siehe Server durch verwaltete Einstellungen bereitstellen.
Agenten, Sitzungen und Worktrees
Legen Sie den Standard-Agenten fest, steuern Sie Teamkollegen und sitzungsübergreifendes Messaging, und konfigurieren Sie Worktrees. Siehe Subagenten und Worktrees.
agent
Führen Sie den Haupt-Thread als benannten Subagenten aus, damit Claude Code den System-Prompt, die Tool-Einschränkungen und das Modell dieses Subagenten auf Ihre Sitzung anwendet. Derselbe Schlüssel legt den Standard-Agenten für Sitzungen fest, die Sie von claude agents aus versenden.
- Geltungsbereich:
Any file - Typ: String, der Name eines integrierten oder benutzerdefinierten Agenten
- Standard: nicht gesetzt, daher wird der Haupt-Thread als Standard-Agent von Claude Code ausgeführt
- Sitzungsspezifische Überschreibungen:
--agenthat Vorrang vor diesem Schlüssel für eine Sitzung
{
"agent": "code-reviewer"
}
Die eigene settings.json eines Plugins kann diesen Schlüssel auch bereitstellen; siehe Versenden Sie Standard-Einstellungen mit Ihrem Plugin.
crossSessionInbound
Wählen Sie, was diese Sitzung mit Nachrichten tut, die von Ihren anderen Claude Code-Sitzungen ankommen. Wenn kein Wert zutrifft, entscheidet Claude Code pro Nachricht anhand der Berechtigungsmodus-Klassen der beiden Sitzungen. Erfordert Claude Code v2.1.224 oder später.
- Geltungsbereich:
Any file. Ein Projekt- oder lokaler Wert gilt nur, wenn er strenger ist als der Wert, den verwaltete Einstellungen, das Flag--settingsoder Benutzereinstellungen vorgeben. - Typ: String, einer von:
"accept": Claude Code liefert die Nachricht an Claude"hold": Claude Code zeigt einen Hinweis für die Nachricht an, ohne sie zu liefern"refuse": Claude Code verwirft die Nachricht
- Standard: nicht gesetzt, daher entscheidet Claude Code pro Nachricht
{
"crossSessionInbound": "hold"
}
Claude Code liest zuerst verwaltete Einstellungen, dann das Flag --settings, dann Benutzereinstellungen und wendet den ersten gefundenen Wert an. refuse ist strenger als hold, und hold ist strenger als accept. Wenn keine der vertrauenswürdigen Quellen einen Wert setzt, gilt ein Projekt- oder lokales hold oder refuse immer noch und ersetzt den Standard pro Nachricht. In Sitzungen mit sitzungsübergreifendem Messaging wird dieser Schlüssel in /config als Messages from your other sessions angezeigt, was ihn in Benutzereinstellungen schreibt; die Zeile erfordert Claude Code v2.1.232 oder später, und Claude Code blendet sie aus, während das Flag --settings oder verwaltete Einstellungen den Schlüssel setzen.
Claude Code warnt, wenn Sie einen Wert setzen, den es nicht erkennt. Während dieser Wert in einer Benutzer-, Projekt-, lokalen oder --settings-Datei vorhanden ist, hält Claude Code eingehende Nachrichten, auch wenn eine Quelle mit höherer Priorität accept setzt. Ein refuse, das eine andere Quelle setzt, gilt immer noch. Beheben oder entfernen Sie den Wert, um den Hold zu löschen.
Wenn der nicht erkannte Wert in verwalteten Einstellungen vorhanden ist, behandelt Claude Code ihn stattdessen als refuse, bis ein Administrator ihn behebt. Vor v2.1.248 ignorierte Claude Code einen nicht erkannten Wert ohne Warnung.
disableAgentView
Schalten Sie Hintergrund-Agenten und Agent-Ansicht aus: claude agents, --bg, /background und den On-Demand-Supervisor. Legen Sie es in verwalteten Einstellungen fest, um es für eine Organisation zu erzwingen.
- Geltungsbereich:
Any file - Typ: Boolean
true: Claude Code schaltetclaude agents,--bg,/backgroundund den On-Demand-Supervisor ausfalse: Agent-Ansicht ist verfügbar
- Standard: nicht gesetzt, daher ist Agent-Ansicht verfügbar
- Sitzungsspezifische Überschreibungen:
CLAUDE_CODE_DISABLE_AGENT_VIEWschaltet Agent-Ansicht für eine Sitzung aus; welcher der beiden sie ausschaltet, der andere kann sie nicht wieder einschalten
{
"disableAgentView": true
}
isolatePeerMachines
Erfordern Sie Ihre ausdrückliche Genehmigung, bevor Claudes SendMessage eine Ihrer Sitzungen über diese Maschine hinaus erreicht; siehe Genehmigung für maschinenübergreifende Nachrichten erforderlich. Die Genehmigungsabfrage wird auch im bypassPermissions-Modus angezeigt.
- Geltungsbereich:
Any file. Eintrueaus einem beliebigen Geltungsbereich gilt, daher kann eine eingecheckte Projektdatei die Anforderung einschalten, aber nicht ausschalten. - Typ: Boolean
true: Claude Code fragt nach Ihrer Genehmigung, bevor ClaudesSendMessageeine Ihrer Sitzungen über diese Maschine hinaus erreichtfalse: maschinenübergreifende Nachrichten lösen keine Abfrage aus
- Standard: nicht gesetzt, daher lösen maschinenübergreifende Nachrichten keine Abfrage aus
{
"isolatePeerMachines": true
}
Die maschinenübergreifende SendMessage-Genehmigung erfordert Claude Code v2.1.224 oder später.
processWrapper
Auf macOS und Linux platzieren Sie einen Corporate-Launcher-Befehl vor den Hintergrund-Prozessen, die Claude Code startet. Claude Code führt den Launcher mit seiner eigenen Befehlszeile angehängt aus, daher muss der Launcher per exec in Claude Code übergehen; siehe Führen Sie Claude Code hinter einem Corporate Launcher aus für den Launcher-Vertrag. Erfordert Claude Code v2.1.210 oder später.
- Geltungsbereich:
User or managed - Typ: String, der Launcher-Befehl als argv-Präfix, z. B. ein absoluter Pfad mit optionalen Argumenten
- Standard: nicht gesetzt, daher starten Hintergrund-Prozesse unverpackt
- Sitzungsspezifische Überschreibungen:
CLAUDE_CODE_PROCESS_WRAPPERhat Vorrang vor diesem Schlüssel für eine Sitzung
{
"processWrapper": "/opt/corp/launcher --profile claude"
}
Claude Code ignoriert den Launcher unter Windows und startet jeden Prozess unverpackt. Erfordert Claude Code v2.1.210 oder später.
teammateMode
Wählen Sie, wo Claude Code Agent-Team-Teamkollegen anzeigt: in Ihrem Haupt-Terminal-Bereich oder in geteilten Bereichen, wenn Ihr Terminal diese unterstützt. Siehe Wählen Sie einen Anzeigemodus.
- Geltungsbereich:
Any file. Claude Code liest auch einen Wert, der von älteren Versionen in~/.claude.jsonhinterlassen wurde. - Typ: String, einer von:
"in-process": Teamkollegen werden in Ihrem Haupt-Terminal-Bereich ausgeführt"auto": geteilte Bereiche, wenn Sie sich in tmux befinden, oder in iTerm2 mitit2auf IhremPATHoder tmux installiert; ansonsten in-process"tmux": geteilte Bereiche mit tmux oder iTerm2, erkannt von Ihrem Terminal"iterm2": iTerm2 native geteilte Bereiche über dieit2CLI
- Standard:
"in-process" - Sitzungsspezifische Überschreibungen:
--teammate-modehat Vorrang vor diesem Schlüssel für eine Sitzung
{
"teammateMode": "auto"
}
worktree
Konfigurieren Sie, wie Claude Code Git-Worktrees für --worktree, das Tool EnterWorktree und isolierte Subagenten und Hintergrund-Sitzungen erstellt und verwaltet.
- Geltungsbereich:
Any file - Typ: Objekt mit
baseRef,symlinkDirectories,sparsePathsundbgIsolation - Standard: nicht gesetzt
Dieses Beispiel verzweigt neue Worktrees von Ihrem aktuellen HEAD und erstellt Symlinks für node_modules in jedem:
{
"worktree": {
"baseRef": "head",
"symlinkDirectories": ["node_modules"]
}
}
Um gitignorierte Dateien wie .env in neue Worktrees zu kopieren, fügen Sie stattdessen eine .worktreeinclude-Datei zu Ihrem Projekt-Root hinzu.
worktree.baseRef
Wählen Sie, von welchem Ref neue Worktrees verzweigt werden. "fresh" verzweigt von origin/<default-branch> für einen sauberen Baum, der dem Remote entspricht; "head" verzweigt von Ihrem aktuellen lokalen HEAD, daher sind nicht gepushte Commits und Feature-Branch-Status im Worktree vorhanden.
- Geltungsbereich:
Any file - Typ: String, einer von:
"fresh": neue Worktrees verzweigen vonorigin/<default-branch>"head": neue Worktrees verzweigen von Ihrem aktuellen lokalenHEAD, einschließlich nicht gepushter Commits
- Standard:
"fresh"
{
"worktree": {
"baseRef": "head"
}
}
Innerhalb eines verknüpften Worktrees wird "head" zum HEAD dieses Worktrees aufgelöst, nicht zum HEAD des Haupt-Checkouts.
worktree.symlinkDirectories
Erstellen Sie Symlinks für Verzeichnisse aus dem Haupt-Repository in jeden Worktree, damit Sie große Verzeichnisse nicht auf der Festplatte duplizieren.
- Geltungsbereich:
Any file - Typ: Array von Strings, Verzeichnispfade relativ zum Repository-Root
- Standard: nicht gesetzt, daher erstellt Claude Code keine Symlinks für Verzeichnisse
Dieses Beispiel erstellt Symlinks für node_modules und .cache aus dem Haupt-Repository in jeden neuen Worktree:
{
"worktree": {
"symlinkDirectories": ["node_modules", ".cache"]
}
}
worktree.sparsePaths
Checken Sie nur die aufgelisteten Verzeichnisse in jedem Worktree über Git Sparse-Checkout aus. Claude Code schreibt nur diese Verzeichnisse plus Root-Level-Dateien auf die Festplatte, was in großen Monorepos schneller ist; siehe Checken Sie nur die Verzeichnisse aus, die Sie benötigen.
- Geltungsbereich:
Any file - Typ: Array von Strings, Verzeichnispfade relativ zum Repository-Root
- Standard: nicht gesetzt, daher checkt jeder Worktree den ganzen Baum aus
Dieses Beispiel checkt nur packages/my-app und shared/utils plus Root-Level-Dateien in jedem Worktree aus:
{
"worktree": {
"sparsePaths": ["packages/my-app", "shared/utils"]
}
}
Während ein Sparse-Worktree vorhanden ist, aktiviert Git extensions.worktreeConfig in der gemeinsamen .git/config des Repositorys.
worktree.bgIsolation
Wählen Sie, wie Hintergrund-Sitzungen ihre Datei-Änderungen isolieren. Wenn Sie eine Sitzung mit ← oder /background in den Hintergrund verschoben haben, bearbeitet diese Sitzung Dateien an Ort und Stelle, unabhängig davon, was dieser Schlüssel angibt. Mit "worktree" blockiert Claude Code Edit und Write im Haupt-Checkout, bis die Sitzung EnterWorktree aufruft; mit "none" bearbeiten Hintergrund-Jobs die Working Copy direkt. Setzen Sie "none" für ein Repository, in dem Git-Worktrees unpraktisch sind.
- Geltungsbereich:
Any file - Typ: String, einer von:
"worktree": Claude Code blockiertEditundWriteim Haupt-Checkout, bis die SitzungEnterWorktreeaufruft"none": Hintergrund-Jobs bearbeiten die Working Copy direkt
- Standard:
"worktree"
{
"worktree": {
"bgIsolation": "none"
}
}
Außerhalb eines Git-Repositorys gibt ein WorktreeCreate-Hook, der fehlschlägt, die Blockade frei, damit die Sitzung das Arbeitsverzeichnis an Ort und Stelle bearbeiten kann.
worktree.location
Wählen Sie den Ordner auf einem Remote-Rechner, in dem Desktop-SSH-Sitzungen ihre Worktrees erstellen, anstelle von <project-root>/.claude/worktrees/. Nur die Desktop-App liest diesen Schlüssel: --worktree, das Tool EnterWorktree, isolierte Subagenten und Hintergrund-Sitzungen ignorieren ihn. Erfordert Claude Desktop v1.44121.0 oder später.
- Geltungsbereich:
User, in~/.claude/settings.jsonauf dem Remote-Rechner - Typ: String, ein absoluter Pfad oder ein Pfad, der mit
~/beginnt - Standard: nicht gesetzt, daher werden Worktrees innerhalb des Projekts angelegt
Dieses Beispiel setzt den Ordner auf ~/worktrees:
{
"worktree": {
"location": "~/worktrees"
}
}
Ein Worktree folder, der in Desktop für die SSH-Verbindung festgelegt ist, hat Vorrang. Wenn Ihre Organisation einschränkt, welche Ordner Sitzungen verwenden dürfen, belässt Desktop die Worktrees innerhalb des Projekts.
Remote, Desktop und Benachrichtigungen
Konfigurieren Sie Remote Control, Cloud-Umgebungen, die Desktop-App und die Benachrichtigungen, die Claude Code sendet, wenn es Sie braucht. Siehe Remote Control.
agentPushNotifEnabled
Erlauben Sie Claude, eine Push-Benachrichtigung an Ihr Telefon zu senden, wenn es entscheidet, dass dies sinnvoll ist, beispielsweise wenn eine lange Aufgabe abgeschlossen ist. Claude Code synchronisiert diese Wahl mit Ihrem Konto, und Push-Benachrichtigungen werden gesendet, während Remote Control verbunden ist. Wird in /config als Push wenn Claude entscheidet angezeigt.
- Geltungsbereich:
Any file. Claude Code liest auch einen Wert, der von älteren Versionen in~/.claude.jsonhinterlassen wurde. - Typ: Boolean
true: Claude kann eine Push-Benachrichtigung an Ihr Telefon senden, wenn es entscheidet, dass dies sinnvoll istfalse: Claude sendet diese Benachrichtigungen nicht
- Standard:
false
{
"agentPushNotifEnabled": true
}
Siehe Mobile Push-Benachrichtigungen.
awaySummaryEnabled
Zeigen Sie eine einzeilige Sitzungszusammenfassung an, wenn Sie nach einigen Minuten Abwesenheit zum Terminal zurückkehren. Setzen Sie es auf false oder deaktivieren Sie Sitzungszusammenfassung in /config, um die Zusammenfassung zu deaktivieren.
- Geltungsbereich:
Any file - Typ: Boolean
true: Sie sehen eine einzeilige Sitzungszusammenfassung, wenn Sie nach einigen Minuten Abwesenheit zurückkehrenfalse: Claude Code zeigt keine Zusammenfassung an
- Standard: nicht gesetzt, daher ist die Zusammenfassung aktiviert
- Sitzungsspezifische Überschreibungen:
CLAUDE_CODE_ENABLE_AWAY_SUMMARYhat Vorrang vor diesem Schlüssel für eine Sitzung, in beide Richtungen
{
"awaySummaryEnabled": false
}
Claude Code zeigt die Zusammenfassung niemals im nicht interaktiven Modus an.
disableArtifact
[!WARNING]
Veraltet und ersetzt durch
enableArtifact. Claude Code berücksichtigt weiterhindisableArtifact: trueals gleichwertig mitenableArtifact: falseund ignoriertdisableArtifact: false.
Verwenden Sie stattdessen enableArtifact, um das Artifact-Tool auszuschalten, das Sitzungsausgaben als private Webseite auf claude.ai veröffentlicht. Wenn Sie die Zeile Artifacts in /config ausschalten, schreibt Claude Code enableArtifact in Ihre Benutzereinstellungen und löscht diesen Schlüssel.
- Geltungsbereich:
Any file - Typ: Boolean
true: Claude Code schaltet das Artifact-Tool für jede Sitzung aus, auf die die Datei zutrifft, und keine andere Datei schaltet es wieder einfalse: ignoriert; um das Tool eingeschaltet zu lassen, entfernen Sie den Schlüssel
- Standard: nicht gesetzt, daher folgt das Tool Ihrer Konto-Verfügbarkeit
- Sitzungsspezifische Überschreibungen:
CLAUDE_CODE_DISABLE_ARTIFACTauf1gesetzt schaltet das Tool für eine Sitzung aus
{
"disableArtifact": true
}
Artifacts deaktivieren listet alle Möglichkeiten auf, das Tool auszuschalten.
disableDeepLinkRegistration
Verhindern Sie, dass Claude Code den claude-cli://-Protokoll-Handler beim Betriebssystem registriert, was es ansonsten nach dem ersten Prompt einer interaktiven Sitzung tut. Deep Links ermöglichen es externen Tools, eine Claude Code-Sitzung mit einem vorausgefüllten Prompt zu öffnen. Setzen Sie dies in Umgebungen, in denen die Registrierung von Protokoll-Handlern eingeschränkt oder separat verwaltet wird.
- Geltungsbereich:
Any file - Typ: die Zeichenkette
"disable" - Standard: nicht gesetzt, daher registriert Claude Code den Handler
{
"disableDeepLinkRegistration": "disable"
}
disableDesktopLocalSessions
Schalten Sie Code-Sitzungen aus, die auf dem Gerät in der Desktop-App ausgeführt werden, für Bereitstellungen, bei denen Entwickler auf Remote-Maschinen über SSH arbeiten sollten. Wenn der Schlüssel auf true gesetzt ist, sehen Benutzer in der Code-Registerkarte Folgendes:
- Umgebungsauswahl: Der Eintrag für den Computer des Benutzers ist ausgegraut und nicht auswählbar, mit dem Tooltip Disabled by your organization. Unter Windows ist der WSL-Eintrag auf die gleiche Weise ausgegraut, obwohl separat geregelt wird, ob WSL-Sitzungen auf einem verwalteten Gerät überhaupt ausgeführt werden.
- Neue Sitzungen: werden standardmäßig auf die erste SSH-Verbindung gesetzt, falls eine konfiguriert ist
- Sitzungen auf dem Gerät: Die App weigert sich, eine Sitzung auf dem Gerät zu starten oder fortzusetzen, einschließlich einer SSH-Verbindung zurück zur gleichen Maschine
- SSH-Sitzungen zu anderen Hosts und Cloud-Sitzungen: nicht betroffen
Die Desktop-App liest diesen Schlüssel; die Terminal-CLI ignoriert ihn. Erfordert Claude Desktop v1.37937.0 oder später.
- Geltungsbereich:
Managed. Standardmäßig liest die Desktop-App den Schlüssel aus einer verwalteten Quelle. - Typ: Boolean; nur der JSON-Boolean
truehat Auswirkungentrue: die Desktop-App bietet keine Code-Sitzungen auf dem Gerät an; vorhandene lokale Sitzungen bleiben aufgelistet, können aber nicht fortgesetzt werdenfalse: lokale Sitzungen bleiben verfügbar
- Standard: nicht gesetzt, daher sind lokale Sitzungen verfügbar
{
"disableDesktopLocalSessions": true
}
Die Desktop-App ignoriert jeden anderen Wert, und ein Wert, der kein Boolean ist, wie die Zeichenkette "true" oder 1, protokolliert auch eine Warnung. Kombinieren Sie ihn mit sshConfigs, damit Benutzer auf einer funktionierenden Verbindung landen, und mit sshHostAllowlist, um zu begrenzen, welche Hosts sie erreichen können. Siehe Lokale Sitzungen auf verwalteten Geräten.
Claude Desktop versorgt Code-Sitzungen mit einer Richtlinie, die sich aus Ihrer Desktop-Konfiguration ergibt, beispielsweise die Egress-Allowlist, die Dateisystem-Sandbox und die MCP-Einschränkungen in Bereitstellungen von Drittanbietern. Claude Code ignoriert diese übergeordneten Einstellungen, wenn eine Admin-Quelle vorhanden ist: servergesteuerte Einstellungen, eine MDM- oder Betriebssystem-Richtlinie oder eine verwaltete Einstellungsdatei. Die Bereitstellung dieses Schlüssels durch eine dieser Methoden auf einem Gerät, das zuvor keine hatte, wie in Bereitstellungen von Drittanbietern, stoppt daher die Anwendung der Desktop-abgeleiteten Richtlinien. Lassen Sie einen Embedding-Host eine Richtlinie hinzufügen behandelt, wann übergeordnete Einstellungen noch zusammengeführt werden können; dies gilt für jeden Schlüssel, den Sie auf diese Weise bereitstellen, nicht nur diesen.
disableRemoteControl
Schalten Sie Remote Control aus: Claude Code lehnt dann claude remote-control, das Flag --remote-control, Auto-Start und den In-Session-Toggle ab und meldet, dass die Richtlinie Ihrer Organisation es deaktiviert hat. Platzieren Sie es in verwalteten Einstellungen für die MDM-Durchsetzung pro Gerät.
- Geltungsbereich:
Any file - Typ: Boolean
true: Claude Code lehntclaude remote-control, das Flag--remote-control, Auto-Start und den In-Session-Toggle abfalse: Remote Control bleibt verfügbar
- Standard:
false
{
"disableRemoteControl": true
}
enableArtifact
Schalten Sie das Artifact-Tool aus, das Sitzungsausgaben als private Webseite auf claude.ai veröffentlicht. Wenn Sie die Zeile Artifacts in /config ausschalten, schreibt Claude Code diesen Schlüssel in Ihre Benutzereinstellungen, daher bearbeiten Sie ihn normalerweise nicht von Hand.
- Geltungsbereich:
Any file. Jede Datei kann das Tool ausschalten, und keine kann es wieder einschalten. - Typ: Boolean
false: Claude Code schaltet das Artifact-Tool für jede Sitzung aus, auf die die Datei zutriffttrue: dasselbe wie das Weglassen des Schlüssels, da es niemals einfalseaus einer anderen Datei, vonCLAUDE_CODE_DISABLE_ARTIFACToder von der Admin-Einstellung Ihrer Organisation überschreibt
- Standard: nicht gesetzt, daher folgt das Tool Ihrer Konto-Verfügbarkeit
{
"enableArtifact": false
}
Während eine andere Quelle als Ihre eigenen Benutzereinstellungen das Tool ausgeschaltet hält, versteckt Claude Code die Zeile Artifacts in /config, da das Einschalten dort nichts ändern würde. Artifacts deaktivieren listet alle Möglichkeiten auf, das Tool auszuschalten.
inputNeededNotifEnabled
Erhalten Sie eine Push-Benachrichtigung auf Ihrem Telefon, wenn eine Berechtigungsabfrage oder Frage auf Ihre Eingabe wartet. Claude Code sendet diese nur, während Remote Control verbunden ist. Wird in /config als Push wenn Aktionen erforderlich sind angezeigt.
- Geltungsbereich:
Any file. Claude Code liest auch einen Wert, der von älteren Versionen in~/.claude.jsonhinterlassen wurde. - Typ: Boolean
true: Sie erhalten eine Push-Benachrichtigung auf Ihrem Telefon, wenn eine Berechtigungsabfrage oder Frage wartet, während Remote Control verbunden istfalse: Claude Code sendet keine solchen Benachrichtigungen
- Standard:
false
{
"inputNeededNotifEnabled": true
}
Siehe Mobile Push-Benachrichtigungen.
preferredNotifChannel
Wählen Sie, wie Claude Code Sie benachrichtigt, wenn eine Aufgabe abgeschlossen ist oder eine Berechtigungsabfrage wartet. Wird in /config als Lokale Benachrichtigungen angezeigt.
- Geltungsbereich:
Any file. Claude Code liest auch einen Wert, der von älteren Versionen in~/.claude.jsonhinterlassen wurde. - Typ: Zeichenkette, eine von:
"auto": Claude Code sendet eine Desktop-Benachrichtigung in iTerm2, Ghostty und Kitty, läutet die Glocke in Terminal.app nur, wenn dessen hörbare Glocke ausgeschaltet ist, und tut anderswo nichts"terminal_bell": Claude Code läutet das Glockensignal in jedem Terminal"iterm2": Claude Code sendet eine iTerm2-Desktop-Benachrichtigung"iterm2_with_bell": Claude Code sendet eine iTerm2-Desktop-Benachrichtigung und läutet die Glocke"kitty": Claude Code sendet eine Kitty-Desktop-Benachrichtigung"ghostty": Claude Code sendet eine Ghostty-Desktop-Benachrichtigung"notifications_disabled": Claude Code sendet keine Benachrichtigung
- Standard:
"auto"
{
"preferredNotifChannel": "terminal_bell"
}
Mit "auto" sendet Claude Code eine Desktop-Benachrichtigung in iTerm2, Ghostty und Kitty. In Terminal.app läutet es das Glockensignal nur, wenn Sie die hörbare Glocke von Terminal ausgeschaltet haben, und in anderen Terminals tut es nichts. Setzen Sie "terminal_bell", um das Glockensignal in jedem Terminal zu läuten. Siehe Erhalten Sie eine Terminal-Glocke oder Benachrichtigung.
remote.defaultEnvironmentId
Wählen Sie die Standard-Cloud-Umgebung für Cloud-Sitzungen, die Sie von der CLI aus erstellen, z. B. mit claude --cloud. Claude Code schreibt diesen Schlüssel in Ihre Benutzereinstellungen, wenn Sie eine Umgebung mit /remote-env auswählen.
- Geltungsbereich:
Any file. Für eine selbstgehostete Umgebungs-ID nur Benutzer- oder verwaltete Einstellungen oder das Flag--settings. - Typ: Zeichenkette, eine Umgebungs-ID wie
env_...oderccpool_... - Standard: nicht gesetzt, daher verwendet Claude Code die von Anthropic gehostete Umgebung, wenn Ihre Liste eine hat, und ansonsten die erste Umgebung in Ihrer Liste, die keine Remote-Control-Bridge-Umgebung ist, oder die erste Umgebung, wenn jede eine Bridge-Umgebung ist
- Sitzungsspezifische Überschreibungen:
--environmenthat Vorrang vor diesem Schlüssel für die eine Cloud-Sitzung, die es erstellt
{
"remote": {
"defaultEnvironmentId": "env_0123abcd"
}
}
Eine von Anthropic gehostete Umgebungs-ID, die mit env_ beginnt, folgt der Standard-Rangfolge der Einstellungen, daher überschreibt ein Wert in den Projekteinstellungen eines Repositorys Ihre Auswahl auf Benutzerebene. Eine selbstgehostete Umgebungs-ID, die mit ccpool_ beginnt, wird nur aus Benutzereinstellungen, verwalteten Einstellungen und dem Flag --settings berücksichtigt; Claude Code ignoriert eine in den Projekt- oder lokalen Einstellungen eines Repositorys, und /remote-env zeigt, welcher Wert ignoriert wurde, daher kann eine eingecheckte Datei Sitzungen nicht auf eine selbstgehostete Umgebung lenken, die Sie nicht ausgewählt haben.
remoteControlAtStartup
Verbinden Sie Remote Control automatisch, wenn jede interaktive Sitzung startet, anstatt auf /remote-control zu warten. Setzen Sie es auf true, um Auto-Connect einzuschalten, false, um es auszuschalten. Wird in /config als Remote Control für alle Sitzungen aktivieren angezeigt.
- Geltungsbereich:
Any file. Claude Code liest auch einen Wert, der von älteren Versionen in~/.claude.jsonhinterlassen wurde. - Typ: Boolean
true: Claude Code verbindet Remote Control automatisch, wenn jede interaktive Sitzung startetfalse: Claude Code wartet auf/remote-control
- Standard: nicht gesetzt, daher gilt der Auto-Connect-Standard
- Sitzungsspezifische Überschreibungen:
--remote-controlschaltet Remote Control für eine Sitzung ein, auch wenn dieser Schlüsselfalseist, und kein Flag schaltet es für eine Sitzung aus
{
"remoteControlAtStartup": true
}
Claude Code ignoriert ein true aus Projekt- oder lokalen Einstellungen, daher kann ein Repository Auto-Connect für seinen Checkout ausschalten, aber nicht einschalten. Für das vollständige Verhalten pro Geltungsbereich siehe Remote Control für alle Sitzungen aktivieren und die Sicherheitsschlüssel, bei denen der strengere Wert gilt.
sshConfigs
Fügen Sie SSH-Verbindungen zur Desktop-Umgebungsauswahl hinzu. Administratoren verwenden sshConfigs, um gemeinsame Verbindungen an ein Team zu verteilen. Benutzer können eine verwaltete Verbindung auswählen und ihren eigenen Worktree-Ordner dafür festlegen. Die anderen Felder der Verbindung können sie in der App nicht bearbeiten, und löschen können sie die Verbindung dort ebenfalls nicht.
- Geltungsbereich:
User or managed. Die Desktop-App liest diesen Schlüssel. Standardmäßig liest sie verwaltete Verbindungen aus einer verwalteten Quelle. - Typ: Array von Objekten, jedes mit erforderlichen
id,nameundsshHostund optionalensshPortundsshIdentityFile - Standard: nicht gesetzt
Dieses Beispiel fügt eine Verbindung namens Dev VM hinzu, die sich mit user@dev.example.com verbindet:
{
"sshConfigs": [
{
"id": "dev-vm",
"name": "Dev VM",
"sshHost": "user@dev.example.com"
}
]
}
sshHostAllowlist
Begrenzen Sie die Hosts, mit denen sich eine Desktop-SSH-Sitzung verbinden kann. Nur die Desktop-App liest diesen Schlüssel; die CLI nicht. Bei Mustern wird die Groß-/Kleinschreibung nicht beachtet: * passt auf jeden Host, *.example.com passt auf example.com und jede Subdomain, und alles andere ist eine genaue Übereinstimmung mit dem Hostnamen nach ~/.ssh/config-Auflösung. Ein leeres Array schaltet SSH-Sitzungen aus.
- Geltungsbereich:
Managed. Standardmäßig liest Desktop den Schlüssel aus einer verwalteten Quelle. - Typ: Array von Hostnamen-Mustern
- Standard: nicht gesetzt, daher ist jeder Host erlaubt
Dieses Beispiel erlaubt devboxes.example.com und seine Subdomains, plus den genauen Host bastion.example.com:
{
"sshHostAllowlist": ["*.devboxes.example.com", "bastion.example.com"]
}
Ein Wert, den Desktop nicht als Liste von Hosts lesen kann, etwa true oder ein Objekt, gilt als leeres Array, bis Sie ihn korrigieren, mit Ausnahme von null, das als nicht gesetzt gilt. Erfordert Claude Desktop v2.26454.0 oder später.
Wenn Sie managedSourcesBehavior in Ihrer ranghöchsten Quelle auf "merge" setzen, führt Desktop die Listen aus jeder Admin-Quelle zusammen und erlaubt einen Host, der auf eine davon passt. Wenn Sie in einer Quelle ein leeres Array festlegen, bleiben SSH-Sitzungen für die Hosts eingeschaltet, die eine andere Quelle auflistet.
Authentifizierung und Anbieter
Stellen Sie Anmeldedaten über Hilfsskripte bereit und erzwingen Sie für Organisationen eine Anmeldemethode oder Organisation. Siehe Authentifizierung.
allowedProviders
Listen Sie die Dienste auf, über die ein Computer Claude erreichen darf, etwa die Anthropic API, Amazon Bedrock oder ein LLM-Gateway. Eine Sitzung bei einem nicht aufgeführten Anbieter wird beim Start, bei der Anmeldung und beim nächsten Kontakt mit der API abgelehnt, sodass auch ein Wechsel zu einem nicht aufgeführten Anbieter während der Sitzung abgelehnt wird. Die Ablehnungsmeldung nennt, wodurch der Anbieter ausgewählt wurde, und die Schritte zum Fortfahren. Erfordert Claude Code v2.1.285 oder später.
- Geltungsbereich:
Managed. Eine Liste, die die eigenen Admin-Quellen des Computers festlegen, also MDM-Richtlinien und verwaltete Einstellungsdateien, gilt weiterhin, wenn auch server-verwaltete Einstellungen eine Liste liefern: Eine Sitzung darf dann nur die Anbieter verwenden, die auf beiden Listen stehen, sodass eine server-verwaltete Liste die Zulassungen des Computers einschränken, aber nie erweitern kann. WelchesallowedProviderseiner Quelle auf dem Computer zählt, richtet sich danach, wie Claude Code verwaltete Quellen kombiniert. Eine ausschließlich über server-verwaltete Einstellungen gelieferte Liste erreicht nur die Sitzungen, die server-verwaltete Einstellungen abrufen. - Typ: Array von Strings, jeweils einer von:
"anthropic": die Anthropic API auf dem eigenen Host von Anthropic, über eine claude.ai- oder Console-Anmeldung oder einen API-Schlüssel. Kombinieren Sie ihn mitforceLoginMethododerforceLoginOrgUUID, um zusätzlich die Anmeldung einzuschränken"bedrock": Amazon Bedrock"vertex": Google Cloud's Agent Platform, früher Vertex AI"foundry": Microsoft Foundry"anthropicAws": Claude Platform on AWS"mantle": der Amazon Bedrock Mantle-Endpunkt. Eine Sitzung, die Mantle parallel zur Invoke API ausführt, verwendet beide Anbieter; listen Sie dafür"bedrock"und"mantle"gemeinsam auf"customEndpoint": die Anthropic API oder die API eines Cloud-Anbieters, die an einen anderen Host gesendet wird, etwa ein LLM-Gateway, das überANTHROPIC_BASE_URLoder über die Endpunktvariable eines Anbieters wieANTHROPIC_BEDROCK_BASE_URLangegeben ist. Claude Code lässt ihn nur für genau den Wert zu, den ein verwalteterenv-Block festlegt"gateway": eine Cloud-Gateway-Anmeldung
- Standard: nicht gesetzt, daher kann jeder Anbieter verwendet werden
{
"allowedProviders": ["anthropic", "bedrock"]
}
Der Eintrag eines Cloud-Anbieters bezeichnet den eigenen Dienst dieses Anbieters, einschließlich seiner regionalen, FIPS- und privaten Endpunkte.
Ein Eintrag, den Claude Code nicht als Anbieternamen erkennt, wird verworfen und gemeldet, und der Rest der Liste bleibt in Kraft. Bei einer leeren Liste oder einer Liste, deren Einträge allesamt nicht erkannt werden, lehnt Claude Code jeden Anbieter ab und startet auf dem Computer nicht.
Endpunkte, die eine Festlegung im verwalteten env benötigen
Eine Festlegung ist der Wert einer Endpunktvariable, der in einem verwalteten env-Block gesetzt ist. Wenn eine Sitzung den Datenverkehr eines Anbieters an ein anderes Ziel als den eigenen Dienst dieses Anbieters sendet, lässt Claude Code dies nur zu, wenn der Wert der Sitzung mit der Festlegung übereinstimmt. Diese Endpunkte benötigen eine Festlegung:
"customEndpoint"-Sitzungen: die Variable, die den Host angibt, etwaANTHROPIC_BASE_URL- Amazon Bedrock: die AWS SDK-Variablen
AWS_ENDPOINT_URL,AWS_ENDPOINT_URL_BEDROCKundAWS_ENDPOINT_URL_BEDROCK_RUNTIME, wenn sie außerhalb des eigenen Dienstes von Bedrock zeigen. Die Sitzung bleibt unter"bedrock"statt"customEndpoint" - Die URL einer Gateway-Anmeldung: Die Sitzung bleibt unter
"gateway", undforceLoginGatewayUrlzählt ebenfalls als Festlegung
Welche env-Blöcke als Festlegungen zählen, hängt davon ab, wo die Liste gesetzt ist:
- Eine Administratorquelle auf dem Computer setzt eine Liste: Nur die
env-Blöcke der eigenen Administratorquellen des Computers zählen - Nur server-verwaltete Einstellungen setzen eine Liste: Ein
env-Wert in diesen server-verwalteten Einstellungen zählt ebenfalls
Die Liste bewertet weder die Anmeldedaten- und Mandantenvariablen eines Cloud-Anbieters noch den Netzwerkpfad, etwa HTTPS_PROXY und Zertifikatseinstellungen. Setzen Sie diese für die gesamte Flotte im verwalteten env-Block.
apiKeyHelper
Führen Sie Ihren eigenen Befehl aus, um die Anmeldedaten zu generieren, die Claude Code mit Modellanfragen sendet. Claude Code führt den Befehl über die System-Shell aus, /bin/sh auf macOS und Linux und cmd auf Windows, und sendet seine Ausgabe als sowohl X-Api-Key als auch Authorization: Bearer Header. Verwenden Sie es für dynamische oder rotierende Anmeldedaten, wie kurzlebige Token, die aus einem Vault abgerufen werden.
- Geltungsbereich:
Any file - Typ: string, eine Shell-Befehlszeile
- Standard: nicht gesetzt, daher führt Claude Code keinen Helfer aus
{
"apiKeyHelper": "/bin/generate_temp_api_key.sh"
}
Claude Code speichert den Wert zwischen und führt den Befehl in diesen Fällen erneut aus:
- Nach der Cache-Lebensdauer, standardmäßig fünf Minuten oder das Intervall, das Sie mit
CLAUDE_CODE_API_KEY_HELPER_TTL_MSfestlegen. - Wenn eine Anfrage an die Anthropic API, direkt oder über ein LLM-Gateway, mit
401oder403fehlschlägt. - Vor dem Senden einer Anfrage an die Anthropic API, direkt oder über ein LLM-Gateway, wenn die zwischengespeicherte Ausgabe ein JWT ist, das nach der Generierung durch den Helfer abgelaufen ist. Erfordert Claude Code v2.1.246 oder später.
Die letzten beiden Fälle gelten nur, wenn die Ausgabe des Helfers die Anmeldedaten sind, die Claude Code sendet, und ANTHROPIC_AUTH_TOKEN nicht gesetzt ist.
In interaktiven Sitzungen führt Claude Code den Befehl nicht aus, bis Sie die Abfrage zur Workspace-Vertrauenswürdigkeit akzeptieren, wenn der Befehl aus Projekt- oder lokalen Einstellungen stammt. Siehe Verwaltung von Anmeldedaten.
awsAuthRefresh
Führen Sie Ihren eigenen Befehl aus, z. B. aws sso login, um die Anmeldedaten in Ihrem .aws-Verzeichnis zu aktualisieren, wenn die Anmeldedaten, die Claude Code für Amazon Bedrock hat, nicht mehr funktionieren. Claude Code überprüft zunächst die aktuellen Anmeldedaten gegen STS und führt den Befehl nur aus, wenn diese Überprüfung fehlschlägt, und liest dann das aktualisierte .aws-Verzeichnis.
Wenn die Überprüfung gleichzeitig in mehreren Claude Code-Prozessen fehlschlägt, die denselben Befehl und dieselben Anmeldedaten verwenden, etwa in separaten Terminals oder IDE-Fenstern, führt ein Prozess den Befehl aus, und die übrigen warten auf diesen Lauf, statt einen eigenen zu starten. Ein Prozess, der mit einer ausstehenden Anfrage 60 Sekunden gewartet hat, führt den Befehl selbst aus. Um dies zu deaktivieren, setzen Sie CLAUDE_CODE_DISABLE_AUTH_REFRESH_LOCK auf 1.
- Geltungsbereich:
Any file - Typ: string, eine Shell-Befehlszeile
- Standard: nicht gesetzt, daher aktualisiert Claude Code AWS-Anmeldedaten nicht für Sie
{
"awsAuthRefresh": "aws sso login --profile myprofile"
}
Verwenden Sie diesen Schlüssel, wenn Ihr Aktualisierungsablauf in .aws schreibt; verwenden Sie awsCredentialExport, wenn er stattdessen Anmeldedaten ausgibt. Siehe erweiterte Anmeldedatenkonfiguration.
awsCredentialExport
Führen Sie Ihren eigenen Befehl aus, der AWS-Anmeldedaten als JSON ausgibt, damit Claude Code Amazon Bedrock mit Anmeldedaten aufrufen kann, die nicht in Ihrem .aws-Verzeichnis vorhanden sind. Claude Code akzeptiert die aws sts Ausgabeform und die flache aws configure export-credentials Form und beschränkt die Anmeldedaten auf seinen eigenen Bedrock-Client, sodass die Shell-Befehle, die Claude ausführt, immer noch Ihre Umgebungsanmeldedaten sehen.
- Geltungsbereich:
Any file - Typ: string, eine Shell-Befehlszeile
- Standard: nicht gesetzt, daher verwendet Claude Code die Umgebungs-AWS-Anmeldedatenkette
{
"awsCredentialExport": "/bin/generate_aws_grant.sh"
}
Im Gegensatz zu awsAuthRefresh führt Claude Code diesen Befehl immer aus, wenn er gesetzt ist, ohne zunächst die Umgebungsanmeldedaten zu überprüfen. Siehe erweiterte Anmeldedatenkonfiguration.
forceLoginMethod
Beschränken Sie, mit welcher Art von Konto sich Personen anmelden können. Setzen Sie "claudeai", um nur claude.ai-Konten zuzulassen, "console", um nur Claude Console-Konten zuzulassen, oder "gateway", um Personen zu einem Cloud-Gateway statt zu einer First-Party-Anmeldung zu senden. Administratoren legen es in verwalteten Einstellungen fest und koppeln es mit forceLoginOrgUUID, um die claude.ai-Anmeldungen von Entwicklern in einer Organisation zu halten. Wenn Sie es in einer beliebigen Einstellungsdatei auf "claudeai" oder "console" setzen, stoppt Claude Code auch das Angebot der schlüssellosen Console-Anmeldung in den Sitzungen, auf die diese Datei zutrifft.
- Geltungsbereich:
Any file. Claude Code berücksichtigt"gateway"aus denselben Quellen wieforceLoginGatewayUrlund behandelt es überall sonst als nicht gesetzt. - Typ: string, einer von:
"claudeai": nur claude.ai-Konten können sich anmelden"console": nur Claude Console-Konten können sich anmelden"gateway": Claude Code sendet Personen zu einem Cloud-Gateway statt zu einer First-Party-Anmeldung
- Standard: nicht gesetzt, daher wählen Personen eine Anmeldemethode
{
"forceLoginMethod": "claudeai"
}
Jeder First-Party-Anmeldepfad wendet die Einschränkung an, einschließlich der VS Code-Erweiterung, des Agent SDK, claude setup-token und /install-github-app, mit Ausnahme des interaktiven Anmeldebildschirms des Terminals, der über /login oder das Onboarding beim ersten Start erreichbar ist, das die Methode vorwählt, ohne sie zu erzwingen. Vor v2.1.212 galt dies nur für Terminal-Anmeldungen. Siehe Anmeldung auf Ihre Organisation beschränken, um zu erfahren, wie jeder Anmeldepfad, Umgebungsanmeldedaten und Drittanbieter behandelt werden.
Wenn eine verwaltete Quelle auf dem Computer "gateway" setzt, verwendet Claude Code keine verbleibende Anmeldung, keinen API-Schlüssel oder apiKeyHelper-Anmeldedaten. Siehe Administrator-Richtlinie erfordert eine Cloud-Gateway-Anmeldung für die Nachricht, die jede erzeugt. Wenn Sie einen Cloud-Anbieter über CLAUDE_CODE_USE_BEDROCK oder eine ähnliche Umgebungsvariable auswählen, benötigt die Sitzung keine Gateway-Anmeldung. Vor v2.1.261 verwendete Claude Code eine verbleibende Anmeldung auf diesen Computern.
forceLoginGatewayUrl
Legen Sie die Gateway-URL fest, mit der sich der /login Cloud-Gateway-Bildschirm verbindet, damit Personen Ihr Cloud-Gateway erreichen, ohne seine Adresse einzugeben. Der Bildschirm hat kein URL-Feld: Mit diesem Schlüssel gesetzt zeigt er Ihre Gateway-URL an und verbindet sich, wenn die Person die Eingabetaste drückt; ohne ihn teilt er ihnen mit, sich an ihren IT-Administrator zu wenden.
In verwalteten Einstellungen macht entweder dieser Schlüssel oder forceLoginMethod: "gateway" den Computer zu einem reinen Gateway-Computer, mit Ausnahme von Sitzungen, die einen Cloud-Anbieter mit CLAUDE_CODE_USE_* auswählen. /login öffnet dann auf dem Cloud-Gateway-Bildschirm ohne Anmeldemethoden-Picker. Siehe Administrator-Richtlinie erfordert eine Cloud-Gateway-Anmeldung, um zu erfahren, was mit einer verbleibenden First-Party-Anmeldung oder einem API-Schlüssel geschieht. Legen Sie beide Schlüssel fest, damit sich der Bildschirm verbindet, statt einen Fehler anzuzeigen.
- Geltungsbereich:
User or managed. Wird von einer verwalteten Quelle auf dem Computer gelesen:managed-settings.json, die macOS plist oder Windows HKLM-Registrierung oder ein Policy-Helfer. Auf einem Computer ohne eine dieser Quellen liest Claude Code v2.1.295 oder später es auch aus den Benutzereinstellungen. Claude Code ignoriert es in HKCU- und Server-verwalteten Einstellungen. - Typ: string, eine vollständige URL einschließlich des Schemas
- Standard: nicht gesetzt, daher zeigt der Cloud-Gateway-Bildschirm einen Fehler an, der Personen auffordert, sich an ihren IT-Administrator zu wenden
{
"forceLoginGatewayUrl": "https://claude-gateway.example.com"
}
Wenn der Wert keine gültige URL ist, meldet der Anmeldebildschirm dies, und der Rest der verwalteten Einstellungsdatei wird immer noch angewendet. Siehe Gateway-URL festlegen.
forceLoginOrgUUID
Verlangen Sie von einer verwalteten Quelle, dass claude.ai-Kontoanmeldungen zu einer Anthropic-Organisation gehören, angegeben als eine einzelne UUID, oder zu einer von mehreren Organisationen, angegeben als Array. Aus einer beliebigen Einstellungsdatei verwendet Claude Code auch eine einzelne UUID, um diese Organisation während einer claude.ai- oder Claude Console-Anmeldung vorzuwählen, und wählt nichts für ein Array vor. Wenn Sie den Schlüssel in einer beliebigen Einstellungsdatei setzen, stoppt Claude Code auch das Angebot der schlüssellosen Console-Anmeldung in den Sitzungen, auf die diese Datei zutrifft, und erstellt stattdessen einen API-Schlüssel.
- Geltungsbereich:
Any file. Nur eine verwaltete Quelle erzwingt die Einschränkung; eine einzelne UUID in einer beliebigen anderen Einstellungsdatei wählt die Organisation während der Anmeldung vor, ohne sie einzuschränken. - Typ: string, eine UUID, oder Array von Strings, mehrere UUIDs
- Standard: nicht gesetzt, daher kann sich jede Organisation anmelden
Dieses Beispiel akzeptiert Anmeldungen von einer von zwei Organisationen, ohne eine vorzuwählen:
{
"forceLoginOrgUUID": ["xxxxxxxx-xxxx-xxxx-xxxx-xxxxxxxxxxxx", "yyyyyyyy-yyyy-yyyy-yyyy-yyyyyyyyyyyy"]
}
Wenn eine verwaltete Quelle ein leeres Array setzt oder einen Wert, der weder ein String noch ein Array von Strings ist, können Benutzer, die sich mit einem Anthropic-Konto anmelden, Claude Code nicht starten und keine Anmeldung abschließen. Sie sehen eine Meldung, die forceLoginOrgUUID nennt und sie auffordert, sich an ihren Administrator zu wenden. Ein policyHelper, der einen Wert des falschen Typs ausgibt, schlägt bei seinem Lauf fehl statt dessen.
Siehe Anmeldung auf Ihre Organisation beschränken, um zu erfahren, wie Claude Code Claude Console-Anmeldungen, die anderen Anmeldepfade und Umgebungsanmeldedaten behandelt.
gatewayInternalNetworks
Deklarieren Sie die öffentlichen IPv4-Blöcke, aus denen Ihre Organisation ihr internes Netzwerk nummeriert, damit /login ein Cloud-Gateway dort akzeptiert. Erfordert Claude Code v2.1.268 oder später.
Ohne diesen Schlüssel verbindet sich /login mit jedem Gateway auf einer privaten Adresse und nichts anderem. Mit ihm akzeptiert /login auch ein Gateway innerhalb eines aufgelisteten Blocks, nur über eine direkte Verbindung. Die eigene Adresse des Computers auf dieser Verbindung muss sich auch innerhalb desselben Blocks befinden.
- Geltungsbereich:
Managed. Wird nur von einer Quelle auf dem Computer gelesen:managed-settings.json, die macOS plist oder Windows HKLM-Registrierung oder ein Policy-Helfer. Claude Code ignoriert es in HKCU- und Server-verwalteten Einstellungen. - Typ: Array von Strings, höchstens vier IPv4-CIDR-Blöcke, jeweils
/8bis/32, nicht überlappend miteinander und keine Überlappung mit privatem Raum. - Standard: nicht gesetzt, daher akzeptiert
/loginnur Gateways auf privaten Adressen
{
"gatewayInternalNetworks": ["203.0.113.0/24"]
}
Ersetzen Sie den Dokumentationsbereich im Beispiel durch Ihren eigenen Block. Claude Code lehnt die Dokumentationsbereiche, die Bereiche, die VPN- und NAT64-Clients lokal verwenden, und reservierten Raum ab, aus dem kein Netzwerk nummeriert wird, wie Multicast.
Wenn ein Eintrag ungültig ist oder der Wert keine Liste von Strings ist, benennt /login das Problem und lehnt jede neue Gateway-Anmeldung auf dem Computer ab, bis Sie den Wert korrigieren. Bestehende Anmeldungen funktionieren weiterhin. Siehe Erlauben Sie ein Gateway auf öffentlichem Adressraum, den Sie besitzen für die vollständigen Regeln und was Entwickler sehen.
gcpAuthRefresh
Führen Sie Ihren eigenen Befehl aus, um Google Cloud Application Default Credentials zu aktualisieren, wenn Claude Code feststellt, dass sie abgelaufen sind oder nicht geladen werden können, damit Anfragen an Google Cloud's Agent Platform weiterhin funktionieren, ohne dass Sie sich manuell erneut authentifizieren müssen.
Wenn mehrere Claude Code-Prozesse, die denselben Befehl und dieselben Anmeldedaten verwenden, etwa in separaten Terminals oder IDE-Fenstern, gleichzeitig feststellen, dass diese abgelaufen sind, führt ein Prozess den Befehl aus, und die übrigen warten auf diesen Lauf, statt einen eigenen zu starten. Ein Prozess, der mit einer ausstehenden Anfrage 60 Sekunden gewartet hat, führt den Befehl selbst aus. Um dies zu deaktivieren, setzen Sie CLAUDE_CODE_DISABLE_AUTH_REFRESH_LOCK auf 1.
- Geltungsbereich:
Any file - Typ: string, eine Shell-Befehlszeile
- Standard: nicht gesetzt, daher teilt Ihnen der Anmeldedatenfehler von Claude Code mit,
gcloud auth application-default loginselbst auszuführen
{
"gcpAuthRefresh": "gcloud auth application-default login"
}
Siehe erweiterte Anmeldedatenkonfiguration.
otelHeadersHelper
Führen Sie Ihren eigenen Befehl aus, um die Header zu generieren, die Claude Code mit OpenTelemetry-Exporten sendet, für Backends, deren Token rotieren. Claude Code führt ihn beim Start und danach regelmäßig aus und erwartet ein JSON-Objekt von String-Header-Werten auf stdout.
- Geltungsbereich:
Any file - Typ: string, ein ausführbarer Pfad oder eine Shell-Befehlszeile
- Standard: nicht gesetzt, daher fügt Claude Code keine Helfer-generierten Header hinzu
{
"otelHeadersHelper": "/bin/generate_otel_headers.sh"
}
Legen Sie das Aktualisierungsintervall mit CLAUDE_CODE_OTEL_HEADERS_HELPER_DEBOUNCE_MS fest. Siehe Dynamische Header für die Skriptanforderungen und was passiert, wenn der Helfer fehlschlägt.
Aktualisierungen und Versionsverwaltung
Wählen Sie einen Aktualisierungskanal und fixieren Sie für Organisationen die Versionen, die Personen ausführen können. Siehe Claude Code aktualisieren.
autoUpdatesChannel
Wählen Sie, welcher Release-Kanal Hintergrund-Autoupdates und claude update folgen. Setzen Sie "stable" für eine Version, die typischerweise etwa eine Woche alt ist und Releases mit großen Regressionen überspringt, oder "latest" für die neueste Version.
- Bereich:
Any file. Legen Sie es in verwalteten Einstellungen fest, um einen Kanal in Ihrer gesamten Organisation durchzusetzen. - Typ: string, einer von:
"latest": Aktualisierungen folgen der neuesten Version"stable": Aktualisierungen folgen einer Version, die typischerweise etwa eine Woche alt ist und Releases mit großen Regressionen überspringt
- Standard: nicht gesetzt, daher folgt Claude Code
"latest"
{
"autoUpdatesChannel": "stable"
}
Claude Code schreibt "stable" in Ihre Benutzereinstellungen, wenn Sie es unter Auto-update channel in /config auswählen, und entfernt den Schlüssel, wenn Sie dort zurück zu latest wechseln. claude install stable und claude install latest speichern auch den Kanal, den Sie benennen. Das Wechseln von "latest" zu "stable" in /config fragt, ob ein Downgrade erlaubt sein soll oder ob Sie bei Ihrer aktuellen Version bleiben möchten; das Bleiben setzt minimumVersion. Homebrew-Installationen ignorieren diesen Schlüssel: das claude-code Cask verfolgt stable und claude-code@latest verfolgt latest, und claude update delegiert an brew upgrade. Um Autoupdates vollständig auszuschalten, setzen Sie DISABLE_AUTOUPDATER in env.
minimumVersion
Verhindern Sie, dass Hintergrund-Autoupdates und claude update eine Version unterhalb dieser installieren, damit ein Wechsel zum "stable" Kanal Sie nicht von einem neueren "latest" Build herabstuft. Claude Code schreibt diesen Schlüssel für Sie, wenn Sie sich entscheiden, bei Ihrer aktuellen Version zu bleiben, während Sie Kanäle in /config wechseln, und löscht ihn, wenn Sie zurück zu "latest" wechseln.
- Bereich:
Any file. Legen Sie es in verwalteten Einstellungen fest, um ein organisationsweites Minimum zu fixieren, das Benutzer- und Projekteinstellungen nicht senken können. - Typ: string, eine Versionsnummer wie
"2.1.100"; ein Wert, der keine gültige Version ist, wird ignoriert - Standard: nicht gesetzt, daher können Aktualisierungen jede Version installieren, die der Kanal anbietet
Dieses Beispiel folgt dem stabilen Kanal und weigert sich, eine Version unterhalb von 2.1.100 zu installieren:
{
"autoUpdatesChannel": "stable",
"minimumVersion": "2.1.100"
}
Dieser Schlüssel beschränkt nur Aktualisierungen. Um Claude Code zu veranlassen, unterhalb einer Version nicht zu starten, verwenden Sie stattdessen requiredMinimumVersion. Siehe Minimum-Version fixieren.
requiredMaximumVersion
Legen Sie die neueste Claude Code-Version fest, die Ihre Organisation starten darf. Wenn die laufende Version neuer ist, beendet Claude Code sich beim Start und teilt dem Benutzer mit, eine genehmigte Version durch die genehmigte Methode Ihrer Organisation zu installieren; claude install <version> kann auch funktionieren. Erfordert Claude Code v2.1.163 oder später.
- Bereich:
Managed. Claude Code gibt keine Warnung aus, wenn es den Schlüssel anderswo ignoriert. - Typ: string, eine Versionsnummer wie
"2.1.150"; ein Wert, der keine gültige Version ist, wird ignoriert - Standard: nicht gesetzt, daher gilt keine Obergrenze
{
"requiredMaximumVersion": "2.1.150"
}
Hintergrund-Autoupdates und claude update überspringen Versionen über der Obergrenze, daher bleibt eine Installation innerhalb des Bereichs darin. claude update, claude install und claude doctor funktionieren weiterhin über der Obergrenze, damit Benutzer sich wiederherstellen können. Kombinieren Sie es mit requiredMinimumVersion, um einen Bereich durchzusetzen.
requiredMinimumVersion
Legen Sie die älteste Claude Code-Version fest, die Ihre Organisation starten darf. Wenn die laufende Version älter ist, beendet Claude Code sich beim Start und teilt dem Benutzer mit, ein Update durch die genehmigte Methode Ihrer Organisation durchzuführen. Die Überprüfung läuft nur beim Start, daher wird eine bereits laufende Sitzung fortgesetzt. Erfordert Claude Code v2.1.163 oder später.
- Bereich:
Managed. Claude Code gibt keine Warnung aus, wenn es den Schlüssel anderswo ignoriert. - Typ: string, eine Versionsnummer wie
"2.1.150"; ein Wert, der keine gültige Version ist, wird ignoriert - Standard: nicht gesetzt, daher gilt keine Untergrenze
{
"requiredMinimumVersion": "2.1.150"
}
claude update, claude install und claude doctor funktionieren weiterhin unter der Untergrenze, damit Benutzer sich wiederherstellen können. Im Gegensatz zu minimumVersion, das nur Downgrades verhindert, blockiert dieser Schlüssel den Start. Kombinieren Sie es mit requiredMaximumVersion, um einen Bereich durchzusetzen.
Werkzeuge
Deaktivieren Sie spezifische Werkzeuge in der Claude Code Desktop-App. Die Terminal-CLI ignoriert diese Schlüssel. Für die Werkzeuge selbst siehe Werkzeuge, die Claude zur Verfügung stehen.
browserExternalPageTools
Verhindern Sie, dass Claude seine Werkzeuge zum Lesen oder Bearbeiten externer Seiten im Browser-Bereich der Desktop-App verwendet. Personen in Ihrer Organisation können externe Websites weiterhin selbst öffnen, und lokale Dev-Server-Vorschauversionen funktionieren weiterhin mit Claudes Werkzeugen. Die Desktop-App liest diesen Schlüssel; die Terminal-CLI ignoriert ihn.
- Bereich:
Managed - Typ: String,
"disabled"; die Desktop-App akzeptiert auch"disable", in beiden Fällen - Standard: nicht gesetzt, daher funktionieren Claudes Werkzeuge auf externen Seiten
{
"browserExternalPageTools": "disabled"
}
Jeder andere Wert lässt Claudes Werkzeuge eingeschaltet, und ein nicht leerer String, der nicht einer der beiden akzeptierten Werte ist, protokolliert eine Warnung. Um externe Websites für Personen und Claude gleichermaßen zu blockieren, setzen Sie stattdessen disableBrowserExternalNavigation. Siehe Externe Browsing für Ihre Organisation einschränken.
disableBrowserExternalNavigation
Deaktivieren Sie das externe Browsing im Browser-Bereich der Desktop-App für Personen und Claude gleichermaßen. Localhost Dev-Server-Vorschauversionen funktionieren weiterhin. Die Desktop-App liest diesen Schlüssel; die Terminal-CLI ignoriert ihn.
- Bereich:
Managed - Typ: Boolean; nur der JSON-Boolean
truehat Auswirkungentrue: die Desktop-App deaktiviert das externe Browsing im Browser-Bereich für Personen und Claude gleichermaßen; Localhost-Vorschauversionen funktionieren weiterhinfalse: das externe Browsing bleibt aktiviert
- Standard: nicht gesetzt, daher ist das externe Browsing aktiviert
{
"disableBrowserExternalNavigation": true
}
Die Desktop-App ignoriert jeden anderen Wert, und ein Wert, der kein Boolean ist, wie der String "true" oder 1, protokolliert auch eine Warnung. Um das externe Browsing aktiviert zu lassen, aber Claudes Werkzeuge auf externen Seiten deaktiviert zu halten, setzen Sie stattdessen browserExternalPageTools. Siehe Externe Browsing für Ihre Organisation einschränken.
disableMobileSimulatorTools
Blockieren Sie Claudes Werkzeuge für den iOS Simulator-Bereich der Desktop-App. Personen behalten die manuelle Nutzung des Bereichs; nur Claudes Zugriff wird entfernt, und niemand kann ihn von innerhalb der App wieder aktivieren. Die Desktop-App liest diesen Schlüssel; die Terminal-CLI ignoriert ihn.
- Bereich:
Managed - Typ: Boolean; nur der JSON-Boolean
truehat Auswirkungentrue: die Desktop-App blockiert Claudes Werkzeuge für den iOS Simulator-Bereichfalse: Claudes Simulator-Werkzeuge folgen der Einstellung jeder Person in der Desktop-App
- Standard: nicht gesetzt, daher folgen Claudes Simulator-Werkzeuge der Einstellung jeder Person in der Desktop-App
{
"disableMobileSimulatorTools": true
}
Die Desktop-App ignoriert jeden anderen Wert, und ein Wert, der kein Boolean ist, wie der String "true" oder 1, protokolliert auch eine Warnung.
Datenschutz und Telemetrie
Steuern Sie, wie lange Claude Code Sitzungsdaten speichert und was es sendet. Die Schalter zum Deaktivieren von Nutzungsmetriken und Fehlerberichten sind Umgebungsvariablen, keine Einstellungsschlüssel: Setzen Sie DISABLE_TELEMETRY, DISABLE_ERROR_REPORTING oder CLAUDE_CODE_DISABLE_NONESSENTIAL_TRAFFIC im Schlüssel env oder in der Shell. Telemetrie-Dienste zeigt, was jeder stoppt. Zwei Ausnahmen werden aus einer Einstellungsdatei deaktiviert: feedbackDrafts unten für von Claude entworfenes Feedback und feedbackSurveyRate unten für die Sitzungsumfrage.
cleanupPeriodDays
Legen Sie fest, wie viele Tage Claude Code Sitzungstranskripte und andere Anwendungsdaten speichert, bevor sie gelöscht werden. Claude Code führt die Löschung als Hintergrund-Sweep nach dem Start einer Sitzung durch, solange es die Aufbewahrungsfrist sicher bestimmen kann. Der Sweep löscht Transkripte, ohne eine Meldung anzuzeigen, sodass eine Sitzung, die Sie länger als die Aufbewahrungsfrist nicht verwendet haben, nicht mehr in der /resume-Auswahl erscheint.
- Bereich:
Any file - Typ: Anzahl der Tage, eine ganze Zahl, Minimum
1 - Standard:
30
{
"cleanupPeriodDays": 20
}
Das Setzen von 0 schlägt bei der Validierung fehl, wählen Sie daher einen großen Wert wie 3650 für lange Aufbewahrung. Um Claude Code davon abzuhalten, Transkripte überhaupt zu schreiben, siehe Plaintext-Speicherung.
desktopSessionCleanupPeriodDays
Legen Sie eine Altersgrenze in Tagen für die Transkripte von Sitzungen fest, die Sie in Claude Desktop oder Cowork gestartet oder zuletzt fortgesetzt haben. Ohne diesen Schlüssel behält Claude Code diese Transkripte in jedem Alter. Claude Code löscht jedes, sobald es älter ist als sowohl diese Grenze als auch cleanupPeriodDays, also mit cleanupPeriodDays auf dem Standard von 30 behält ein Wert von 7 sie immer noch 30 Tage. Automatisch bereinigt listet die Fälle auf, in denen stattdessen cleanupPeriodDays gilt und Claude Code diesen Schlüssel ignoriert. Erfordert Claude Code v2.1.248 oder später.
- Bereich:
User or managed. Claude Code liest den Schlüssel auch aus einer Datei, die Sie mit--settingsübergeben, und ignoriert ihn in Projekt- und lokalen Einstellungen. - Typ: Anzahl der Tage, eine ganze Zahl, Minimum
0 - Standard:
0, was keine Altersgrenze setzt
{
"desktopSessionCleanupPeriodDays": 90
}
feedbackDrafts
Steuern Sie von Claude entworfenes Feedback: ob Claude Feedback-Entwürfe zur Überprüfung in die Warteschlange einreihen kann und ob Claude Code eine Karte anzeigt, wenn Claude einen einreiht.
- Bereich:
User or managed - Typ: String, einer von
"notify","quiet"oder"off""notify": Claude Code zeigt eine Karte über der Eingabeaufforderung an, wenn Claude einen Entwurf einreiht, standardmäßig bis zu drei Karten in einer Sitzung"quiet": Claude entwirft ohne Karte. Sie sehen die Anzahl der eingereihten Entwürfe in der Eingabeaufforderungs-Fußzeile und überprüfen sie in/feedback"off": Claude Code entfernt das SendFeedback-Tool, sodass Claude keine Entwürfe einreihen kann
- Standard:
"notify" - Sitzungsspezifische Überschreibungen:
CLAUDE_CODE_SEND_FEEDBACKauf0gesetzt deaktiviert die Funktion für eine Sitzung
{
"feedbackDrafts": "quiet"
}
Erscheint in /config als Claude-drafted feedback, das diesen Schlüssel in Ihre Benutzereinstellungen schreibt. Sie sehen die /config-Zeile nur in Sitzungen, in denen Claude Feedback entwerfen kann; das Setzen von "off" blendet sie nicht aus, sodass Sie die Funktion aus derselben Zeile wieder aktivieren können. Ein Wert in verwalteten Einstellungen hat Vorrang vor Ihrer Benutzereinstellung, sodass wenn ein Administrator diesen Schlüssel setzt, die Zeile den verwalteten Wert anzeigt und das Ändern hat keine Auswirkung. Claude Code ignoriert diesen Schlüssel in Projekt- und lokalen Einstellungen.
feedbackSurveyRate
Legen Sie die Wahrscheinlichkeit fest, dass die Sitzungsqualitätsumfrage angezeigt wird, wenn eine Sitzung für sie berechtigt ist. Setzen Sie 0, um zu verhindern, dass die Umfrage angezeigt wird.
- Bereich:
Any file - Typ: Zahl zwischen
0und1 - Standard: nicht gesetzt, sodass Claude Code die Rate verwendet, die Anthropic remote setzt, oder seine integrierte Rate von
0.005auf Amazon Bedrock, Google Cloud's Agent Platform und Microsoft Foundry, die keine Remote-Konfiguration erhalten - Sitzungsspezifische Überschreibungen:
CLAUDE_CODE_DISABLE_FEEDBACK_SURVEYauf1gesetzt deaktiviert die Umfrage für eine Sitzung, unabhängig davon, welche Rate dieser Schlüssel setzt
{
"feedbackSurveyRate": 0.05
}
Die gleiche Rate gilt für die Umfrage in der VS Code-Erweiterung.
skipWebFetchPreflight
Überspringen Sie die WebFetch-Domänensicherheitsprüfung, die jeden angeforderten Hostnamen an api.anthropic.com sendet, bevor sie abruft. Setzen Sie true in Umgebungen, die den Datenverkehr zu Anthropic blockieren, wie z. B. Amazon Bedrock, Google Cloud's Agent Platform oder Microsoft Foundry-Bereitstellungen mit restriktivem Ausgang.
- Bereich:
Any file - Typ: Boolean
true: Claude Code überspringt die WebFetch-Domänensicherheitsprüfungfalse: Die Prüfung wird vor dem ersten Abruf zu jedem Hostnamen in einer Sitzung ausgeführt und erneut für einen Hostnamen, dessen frühere Prüfung blockiert oder fehlgeschlagen ist
- Standard: nicht gesetzt, sodass die Prüfung vor dem ersten Abruf zu jedem Hostnamen in einer Sitzung ausgeführt wird
{
"skipWebFetchPreflight": true
}
Mit der übersprungenen Prüfung versucht WebFetch jede URL, ohne die Blockliste zu konsultieren, also kombinieren Sie sie mit WebFetch-Berechtigungsregeln, wenn Sie einschränken müssen, welche Domänen Claude erreichen kann.
Enterprise- und verwaltete Einstellungen
Schlüssel, die eine Organisation verwendet, um verwaltete Einstellungen zu berechnen, zu aktualisieren und zu kombinieren. Siehe Verwaltete Einstellungen einrichten.
disableSideloadFlags
Lehnen Sie die CLI-Flags --plugin-dir, --plugin-url, --agents und --mcp-config beim Start ab, die Benutzer andernfalls übergeben könnten, um strictKnownMarketplaces für einen einzelnen Durchlauf zu umgehen. Claude Code wird mit einem Fehler beendet, der die abgelehnten Flags benennt. In Cloud-Sitzungen startet Claude Code stattdessen die Sitzung und verwirft jeden vom Server bereitgestellten --mcp-config-Eintrag mit Ausnahme von In-Process-Einträgen vom Typ type: "sdk" und der Slack-Tools einer Claude Tag-Sitzung. Erfordert Claude Code v2.1.193 oder später.
- Bereich:
Managed - Typ: Boolean
true: Claude Code lehnt--plugin-dir,--plugin-url,--agentsund--mcp-configbeim Start ab und wird mit einem Fehler beendet, der diese benennt. In Cloud-Sitzungen startet es stattdessen die Sitzung und verwirft jeden vom Server bereitgestellten--mcp-config-Eintrag mit Ausnahme von In-Process-Einträgen vom Typtype: "sdk"und der Slack-Tools einer Claude Tag-Sitzungfalse: Claude Code akzeptiert diese Flags
- Standard:
false
{
"disableSideloadFlags": true
}
Claude Code akzeptiert weiterhin ein --mcp-config, dessen Server alle In-Process-Einträge vom Typ type: "sdk" sind, sodass das Agent SDK und die VS Code-Erweiterung weiterhin funktionieren. Benutzer können weiterhin Server mit claude mcp add oder einer .mcp.json-Datei hinzufügen; für Pro-Server-Kontrolle setzen Sie auch allowedMcpServers. Erfordert Claude Code v2.1.193 oder später.
Die gleiche Überprüfung deckt Plugin-Ordner ab, die in der Umgebungsvariablen CLAUDE_CODE_PLUGIN_DIRS benannt sind, was Claude Code v2.1.280 oder später erfordert. Wenn die Variable einen Ordner benennt, wird Claude Code mit dem gleichen Fehler beendet, und der Fehler sagt, die Variable zu deaktivieren.
In Cloud-Sitzungen ignoriert Claude Code auch vom Server bereitgestellte MCP-Updates während der Sitzung, den Pfad hinter der Cloud-Sitzungskonfiguration und SDK setMcpServers()-Aufrufe, die diese Sitzungen erreichen. In-Process-Einträge vom Typ type: "sdk" und die Slack-Tools einer Claude Tag-Sitzung bleiben dort ebenfalls ausgenommen. Vor v2.1.268 entfernten sowohl dieses Verwerfen als auch das Verwerfen beim Start auch die Slack-Tools einer Claude Tag-Sitzung. Vor v2.1.239 blockierte ein vom Server bereitgestelltes --mcp-config den Start einer Cloud-Sitzung.
Die Desktop-App verwaltet einige Plugins selbst, darunter von claude.ai synchronisierte Plugins und Plugins, die Ihre Organisation über die App bereitstellt. Wenn Sie diesen Schlüssel über MDM, eine Richtlinie auf Betriebssystemebene oder eine verwaltete Einstellungsdatei auf einem Gerät bereitstellen, übergibt die Desktop-App diese Plugins nicht an die folgenden Sitzungen auf diesem Gerät:
- Code-Sitzungen auf dem Computer des Benutzers: Sie starten außerdem ohne die Skills, die für das claude.ai-Konto des Benutzers aktiviert sind. Plugins, die Claude Code aus Marketplaces in Ihren verwalteten Einstellungen installiert, werden weiterhin geladen. In Claude Desktop on 3P bleiben auch MCP-Server aus Plugins verfügbar, die Sie im
org-plugins-Verzeichnis des Geräts bereitstellen, da die Desktop-App selbst eine Verbindung zu ihnen herstellt. Vor Claude Desktop v1.37937.0 schlugen diese Sitzungen stattdessen beim Start fehl. - Cowork-Sitzungen auf dem Computer des Benutzers: Die Skills in diesen Plugins und die für das claude.ai-Konto des Benutzers aktivierten Skills bleiben verfügbar. In Claude Desktop on 3P bleiben auch MCP-Server aus Plugins verfügbar, die Sie im
org-plugins-Verzeichnis des Geräts bereitstellen, da die Desktop-App selbst eine Verbindung zu ihnen herstellt. Vor Claude Desktop v1.44121.0 schlugen diese Sitzungen stattdessen beim Start fehl.
forceRemoteSettingsRefresh
Blockieren Sie den CLI-Start, bis Claude Code vom Server verwaltete Einstellungen neu abgerufen hat. Wenn der Abruf fehlschlägt, wird Claude Code beendet, anstatt mit zwischengespeicherten oder ohne Einstellungen fortzufahren. Setzen Sie dies, wenn Ihre Umgebung nicht einmal ein kurzes Fenster akzeptieren kann, in dem eine Sitzung ohne ihre verwaltete Richtlinie ausgeführt wird.
Wenn der Schlüssel nicht gesetzt ist, blockiert Claude Code den Start nicht beim Abruf, obwohl es beim Anmelden des Entwicklers beim Start bis zu fünf Sekunden auf den Abruf wartet. Eine Cloud-Gateway-Sitzung wartet immer und wird beendet, wenn das Gateway nicht erreichbar ist.
- Bereich:
Managed. Claude Code berücksichtigt eintrueaus jeder admin-kontrollierten verwalteten Quelle, auch wenn es nicht die höchste Prioritätsquelle ist. - Typ: Boolean
true: Claude Code blockiert den Start, bis er vom Server verwaltete Einstellungen neu abgerufen hat, und wird beendet, wenn der Abruf fehlschlägtfalse: Claude Code blockiert den Start nicht beim Abruf, obwohl es bei einem Start mit Anmeldung bis zu fünf Sekunden auf den Abruf wartet
- Standard:
false
{
"forceRemoteSettingsRefresh": true
}
Setzen Sie dies in einem MDM-Profil oder der verwalteten Einstellungsdatei, um einen Fail-Closed-Start durchzusetzen, bevor die erste Server-Payload ankommt. Claude Code wendet die Überprüfung nur in Sitzungen an, die vom Server verwaltete Einstellungen abrufen, sodass eine Sitzung, die diese nicht abruft, ohne Wartezeit startet. Die claude auth-Unterbefehle sind ausgenommen, sodass Benutzer sich erneut authentifizieren können, wenn abgelaufene Anmeldedaten der Grund für den fehlgeschlagenen Abruf sind. Siehe Fail-Closed-Start durchsetzen.
managedSourcesBehavior
Wählen Sie, ob Claude Code nur die höchste Priorität verwaltete Quelle anwendet, die Ihre Organisation bereitstellt, oder alle Admin-Quellen kombiniert, die sie bereitstellt. Standardmäßig nimmt Claude Code die höchste Prioritätsquelle, die einen Richtlinienschlüssel trägt, und ignoriert den Rest. Ein Richtlinienschlüssel ist jeder Einstellungsschlüssel außer diesem und wslInheritsWindowsSettings. Bei diesem Standardverhalten trägt eine managed-settings.json-Datei, sobald vom Server verwaltete Einstellungen oder eine MDM-Richtlinie einen Richtlinienschlüssel bereitstellen, nur die Schlüssel bei, die Claude Code aus jeder Admin-Quelle liest. Mit "merge" trägt jede Admin-Quelle, die Sie bereitstellen, ihre Schlüssel zu einer kombinierten Richtlinie bei. Erfordert Claude Code v2.1.242 oder später.
Setzen Sie "merge" nur dort, wo jede Quelle, die unter Ihrer höchsten eingestuft ist, unter der Kontrolle eines Administrators steht, da Claude Code dann Einträge aus einer niedrigeren Quelle, wie z. B. permissions.allow-Regeln, zur Richtlinie hinzufügt.
- Bereich:
Managed. Claude Code liest diesen Schlüssel aus der höchsten Prioritätsquelle, die entweder diesen Schlüssel oder einen Richtlinienschlüssel trägt, und ignoriert diesen Schlüssel in jeder Quelle, die niedriger eingestuft ist, sodass eine niedrigere Quelle sich nicht selbst zum Kombinieren mit der Quelle darüber anmelden kann. Weder die Windows HKCU-Registrierung noch übergeordnete Einstellungen von einem Embedding-Host nehmen an der Zusammenführung teil. - Typ: string, einer von:
"first-wins": Die höchste Prioritätsquelle, die einen Richtlinienschlüssel trägt, liefert die Richtlinie, und niedrigere Quellen tragen nur die Schlüssel bei, die Claude Code aus jeder Admin-Quelle liest"merge": Jede Admin-Quelle, die Sie bereitstellen, trägt ihre Schlüssel bei, kombiniert nach den folgenden Regeln
- Standard:
"first-wins"
Stellen Sie den Schlüssel in der höchsten Prioritätsquelle bereit, die Sie bereitstellen. Ein Computer, der niemals vom Server verwaltete Einstellungen erhält, benötigt den Schlüssel auch in seinem MDM-Profil, da Claude Code den Schlüssel aus der höchsten Prioritätsquelle liest, die ihn oder einen Richtlinienschlüssel trägt. Eine managed-settings.json-Datei ist die niedrigste Admin-Quelle, daher hat "merge" dort keine Quelle darunter, um sich damit zu kombinieren. In vom Server verwalteten Einstellungen sieht der Schlüssel so aus:
{
"managedSourcesBehavior": "merge"
}
Unter "merge" kombiniert Claude Code jeden Schlüssel nach seiner Art. Diese Tabelle gibt die Regel für jede Art an. Die Zeilen für Einschränkungs-Allowlists, Werte-ganz-genommen und nur-höchste-Quelle benennen jeden Schlüssel, den sie abdecken, und die anderen Zeilen geben Beispiele:
| Art des Schlüssels | Wie Claude Code ihn kombiniert | Schlüssel |
|---|---|---|
| Listen | Kombiniert Einträge aus jeder Quelle | permissions.allow, sandbox.network.allowedDomains und andere Listenschlüssel |
| Sperren | Wendet den strengsten Wert an, den eine Quelle setzt. Wenn keine Quelle einen strengen Wert setzt, wendet einen lockereren Wert nur aus der höchsten Quelle an | allowManagedPermissionRulesOnly, permissions.disableBypassPermissionsMode und andere Boolean- oder Enum-Sperren |
| Einschränkungs-Allowlists | Nimmt die Liste ganz aus der höchsten Quelle, die sie setzt, ohne Einträge aus niedrigeren Quellen hinzuzufügen. Wenn die höchste Quelle keine setzt, nimmt sie ganz aus der nächsten Quelle darunter | availableModels, allowedMcpServers, allowedProviders, strictKnownMarketplaces, allowedChannelPlugins und die fallbackModel-Kette |
| Werte ganz genommen | Nimmt den Wert ganz aus der höchsten Quelle, die ihn setzt, ohne Einträge oder Felder aus niedrigeren Quellen zu kombinieren. Wenn die höchste Quelle ihn nicht setzt, nimmt ihn ganz aus der nächsten Quelle darunter | sandbox.credentials.awsPairs, sandbox.ripgrep |
| Bereitgestellte MCP-Server | Kombiniert die Servernamen aus jeder Quelle. Wenn zwei Quellen denselben Namen setzen, wendet den ganzen Eintrag der höheren Quelle an | managedMcpServers |
| Nur aus der höchsten Prioritätsquelle lesen | Liest den Schlüssel nur aus der höchsten Prioritätsquelle, die einen Richtlinienschlüssel trägt, sodass der Wert einer niedrigeren Quelle ignoriert wird, auch wenn die höchste Quelle keinen setzt | apiKeyHelper, awsAuthRefresh, awsCredentialExport, gcpAuthRefresh, otelHeadersHelper, proxyAuthHelper, forceLoginOrgUUID, die "claudeai"- und "console"-Werte von forceLoginMethod, parentSettingsBehavior, modelPicker, policyHelper, permissions.defaultMode |
env |
Zusammenführung pro Variable über Admin-Quellen, unter sowohl "first-wins" als auch "merge" |
env |
| Jeder andere Schlüssel | Nimmt den Wert aus der höchsten Quelle, die ihn setzt | cleanupPeriodDays, model |
Das Nehmen von sandbox.credentials.awsPairs und sandbox.ripgrep ganz erfordert Claude Code v2.1.257 oder später.
Einige Schlüssel fügen eine Bedingung hinzu, die die Tabelle nicht zeigt:
policyHelper: Claude Code berücksichtigt ihn nur, wenn die höchste Quelle, die einen Richtlinienschlüssel trägt, eine MDM-Richtlinie oder eine verwaltete Einstellungsdatei ist, sodass unter vom Server verwalteten Einstellungen sie nicht angewendet wird.modelOverrides: Paare mitavailableModels. Claude Code nimmtmodelOverridesaus der höchsten Quelle, die ihn setzt, es sei denn, eine höhere Quelle setztavailableModelsohnemodelOverrides. In diesem Fall ignoriert esmodelOverridesaus jeder Quelle.forceLoginGatewayUrl,gatewayInternalNetworksund der"gateway"-Wert vonforceLoginMethod: Claude Code liest sie nie aus vom Server verwalteten Einstellungen, sodass ein Wert dort weder angewendet wird noch einen in einer MDM-Richtlinie oder verwalteten Einstellungsdatei gesetzten Wert verbirgt. Unter den Admin-Quellen auf dem Computer liefert nur die höchste eingestufte, die einen Richtlinienschlüssel trägt, sie, unabhängig davon, ob vom Server verwaltete Einstellungen auch vorhanden sind.allowedProviders: Nach der Regel der Tabelle begrenzt die eigene Liste des Computers das Ergebnis weiterhin, wie im Hinweis unter „Bereich“ seines Eintrags angegeben.
Um zu bestätigen, welche Quellen auf einem Computer kombiniert wurden, führen Sie /status aus und lesen Sie die Zeile Setting sources.
parentSettingsBehavior
Wählen Sie, ob Claude Code verwaltete Einstellungen anwendet, die von einem Embedding-Host-Prozess bereitgestellt werden, wie z. B. dem Agent SDK oder einer IDE-Erweiterung, wenn auch eine admin-bereitgestellte verwaltete Ebene vorhanden ist. Mit "first-wins" verwirft Claude Code die vom Host bereitgestellten Einstellungen; mit "merge" wendet es sie unter der Admin-Ebene durch einen restriktiv-nur-Filter an. Setzen Sie "merge", wenn ein Host seine eigenen Einschränkungen an die Sitzungen übergeben muss, die er startet, z. B. Claude Desktop, das die Egress-Allowlist eines Gateways bereitstellt.
- Bereich:
Managed. Claude Code liest ihn aus der höchsten Priorität admin-kontrollierten verwalteten Quelle. - Typ: string, einer von:
"first-wins": Claude Code verwirft die vom Host bereitgestellten Einstellungen, wenn eine admin-bereitgestellte verwaltete Ebene vorhanden ist"merge": Claude Code wendet die vom Host bereitgestellten Einstellungen unter der Admin-Ebene durch einen restriktiv-nur-Filter an
- Standard:
"first-wins"
{
"parentSettingsBehavior": "merge"
}
Dieser Schlüssel hat keine Auswirkung, wenn keine admin-bereitgestellte verwaltete Ebene vorhanden ist: Die Einstellungen des Hosts gelten dann als einzige verwaltete Ebene, immer noch gefiltert auf restriktive Werte. Für die Grenzen des Filters und wie die verwalteten Quellen interagieren, siehe Übergeordnete Einstellungen von Embedding-Hosts und Übergeordnete Einstellungen einschränken.
policyHelper
Führen Sie eine ausführbare Datei aus, die Sie bereitstellen, die verwaltete Einstellungen beim Start berechnet, sodass Sie Richtlinien von Geräteposition, Identität oder einem Remote-Service ableiten können, anstatt von einer statischen Datei. Claude Code führt den Helper aus, bevor er den ersten Prompt akzeptiert, und behandelt die Einstellungen, die er ausgibt, als die verwalteten Einstellungen für die Sitzung.
- Bereich:
Managed. Lesen Sie aus der macOS plist, der Windows HKLM-Registrierung oder der verwalteten Einstellungsdatei. Claude Code liest den Schlüssel aus der höchsten Priorität verwalteten Quelle, die einen Richtlinienschlüssel trägt, und führt den Helper nur aus, wenn diese Quelle eine dieser drei ist; es ignoriert den Schlüssel in vom Server verwalteten Einstellungen, der HKCU-Registrierung und vom Host bereitgestellten übergeordneten Einstellungen. - Typ: Objekt mit
path,timeoutMsundrefreshIntervalMs - Standard: nicht gesetzt, sodass kein Helper ausgeführt wird
Wenn vom Server verwaltete Einstellungen die Richtlinie beim Start bereitstellen, haben sie Vorrang vor der Quelle des Helpers und der Helper wird nicht ausgeführt.
Wenn ein späterer Einstellungsabruf meldet, dass die vom Server verwalteten Einstellungen entfernt wurden, führt Claude Code den Helper an diesem Punkt aus, anstatt auf den nächsten Start zu warten. Seine Ausgabe regelt den Rest der Sitzung, und ein Durchlauf, der fehlschlägt, beendet die Sitzung mit der gleichen Meldung wie ein fehlgeschlagener Startup-Durchlauf.
Dieses Beispiel führt den Helper mit einem 5-Sekunden-Timeout aus und führt ihn alle fünf Minuten erneut aus:
{
"policyHelper": {
"path": "/usr/local/bin/claude-policy",
"timeoutMs": 5000,
"refreshIntervalMs": 300000
}
}
Schreiben Sie die Helper-Ausgabe
Claude Code führt den Helper ohne Argumente aus, setzt CLAUDE_CODE_VERSION in seiner Umgebung und liest eine JSON-Hülle aus stdout, begrenzt auf 1 MiB.
Legen Sie die Einstellungen unter einen managedSettings-Schlüssel. Ein bloßes Einstellungsobjekt ohne managedSettings-Schlüssel wird mit managedSettings undefined geparst und wendet nichts an, und Claude Code meldet keinen Fehler:
{
"managedSettings": {
"permissions": { "deny": ["Read(//etc/secrets/**)"] }
}
}
Wenn der Helper managedSettings ausgibt, wird dieses Objekt die einzige verwaltete Einstellungsquelle für den Durchlauf: Claude Code ignoriert die MDM-, Datei- und HKCU-Quellen, liest die quellübergreifenden Schlüssel nur aus der Ausgabe des Helpers und führt niemals übergeordnete Einstellungen zusammen.
Die Startup-Überprüfung forceRemoteSettingsRefresh wird vor dem Helper ausgeführt und liest jede Admin-Quelle. Ein Helper, der mit 0 und einer Hülle beendet wird, die managedSettings auslässt, trägt keine verwalteten Einstellungen bei, und die anderen Quellen gelten wie üblich.
Helper-Fehler
Ein Helper-Durchlauf schlägt fehl, wenn:
pathbricht die Regeln inpolicyHelper.path.- Keine reguläre Datei ist unter
path. Claude Code prüft auf die Datei, bevor der Helper gestartet wird, innerhalb des gleichentimeoutMs-Budgets, sodass eine nicht reagierende Netzwerkbereitstellung den Durchlauf zum Fehlschlag bringen kann. - Der Helper beendet sich mit nicht-null, läuft noch, wenn
timeoutMsverstreicht, oder startet überhaupt nicht, z. B. weil er nicht ausführbar ist. - Der Helper schreibt mehr als 1 MiB zu stdout oder stderr.
- stdout ist kein einzelnes JSON-Objekt, oder sein
managedSettingshat eine Schema-Verletzung, die Claude Code nicht reparieren kann.
Wenn der Startup-Durchlauf fehlschlägt, druckt Claude Code den Grund und weigert sich zu starten. Nach einem nicht-null-Exit enthält der Grund den stderr des Helpers oder seinen stdout, wenn stderr leer ist. Nach einem Timeout benennt der Grund das timeoutMs-Limit und enthält keine Ausgabe des Helpers. Die Weigerung deckt interaktive Sitzungen, claude -p, Agent SDK-Sitzungen, Hintergrund-Sitzungen und die meisten Unterbefehle ab.
Die Weigerung ist absichtlich, sodass ein Helper, der Ausfallresilienz benötigt, aus seinem eigenen Cache bedienen und mit 0 beenden sollte.
Wenn eine Hintergrund-Aktualisierung fehlschlägt, behält Claude Code die letzte erfolgreiche Richtlinie bei, und /status zeigt die fehlgeschlagene Aktualisierung mit ihrem Grund an, bis eine Aktualisierung erfolgreich ist. Jede Aktualisierung wird unter den gleichen timeoutMs- und Fehlerregeln wie der Startup-Durchlauf ausgeführt.
Mit --debug schreibt Claude Code den stderr des Helpers aus jedem Durchlauf in das Debug-Log.
Claude Code meldet einen ungültigen policyHelper-Wert als einen gelöschten Eintrag und startet die Sitzung auf den verbleibenden verwalteten Einstellungen ohne Ausführung eines Helpers. Ungültige Werte umfassen einen bloßen Pfad-String und einen timeoutMs unter seinem Minimum.
Um einen Helper auszuschalten, entfernen Sie den Schlüssel aus der Quelle, die ihn setzt.
policyHelper.path
Benennen Sie die ausführbare Datei des Helpers, die Claude Code ausführt. Für das, was passiert, wenn der Pfad die folgenden Regeln bricht, siehe Helper-Fehler.
- Bereich:
Managed. Lesen Sie aus der macOS plist, der Windows HKLM-Registrierung oder der verwalteten Einstellungsdatei, wopolicyHelpergelesen wird. - Typ: string, ein absoluter Pfad in normalisierter Form, ohne
.oder..Segmente; unter Windows ein Laufwerk-Buchstaben- oder UNC-Pfad, der in.exeendet - Standard: keine; erforderlich, wenn
policyHelpergesetzt ist
{
"policyHelper": {
"path": "/usr/local/bin/claude-policy"
}
}
policyHelper.timeoutMs
Legen Sie fest, wie lange Claude Code auf den Helper wartet, bevor der Durchlauf als fehlgeschlagen behandelt wird. Ein abgelaufener Durchlauf schlägt auf die gleiche Weise fehl wie ein nicht-null-Exit, sodass Claude Code beim Start sich weigert zu starten.
- Bereich:
Managed. Lesen Sie aus der macOS plist, der Windows HKLM-Registrierung oder der verwalteten Einstellungsdatei, wopolicyHelpergelesen wird. - Typ: integer, Millisekunden, Minimum
1000 - Standard:
10000
{
"policyHelper": {
"path": "/usr/local/bin/claude-policy",
"timeoutMs": 5000
}
}
policyHelper.refreshIntervalMs
Lassen Sie Claude Code den Helper im Hintergrund in einem Intervall erneut ausführen, sodass Richtlinienänderungen eine laufende Sitzung erreichen. Wenn eine Aktualisierung erfolgreich ist, ersetzt ihre Ausgabe die vorherigen verwalteten Einstellungen ohne einen Neustart; wenn eine Aktualisierung fehlschlägt, behält Claude Code die Richtlinie, die es bereits hat.
- Bereich:
Managed. Lesen Sie aus der macOS plist, der Windows HKLM-Registrierung oder der verwalteten Einstellungsdatei, wopolicyHelpergelesen wird. - Typ: integer, Millisekunden:
0zum Deaktivieren der Aktualisierung, andernfalls mindestens60000 - Standard: nicht gesetzt, sodass Claude Code den Helper einmal beim Start ausführt
Dieses Beispiel führt den Helper alle fünf Minuten erneut aus:
{
"policyHelper": {
"path": "/usr/local/bin/claude-policy",
"refreshIntervalMs": 300000
}
}
wslInheritsWindowsSettings
Lassen Sie Claude Code auf WSL verwaltete Einstellungen aus der Windows-Richtlinienkette lesen, wobei HKLM und die Windows-verwaltete Einstellungsdatei Vorrang vor /etc/claude-code und HKCU darunter haben. Während die Kette aktiv ist, liest Claude Code /etc/claude-code nur, wenn kein Windows-Admin-Dokument vorhanden ist, weder im HKLM-Registrierungswert noch im Ordner C:\Program Files\ClaudeCode\. Setzen Sie dies, um die Richtlinie, die Sie bereits unter Windows bereitstellen, auf WSL-Sitzungen auf dem gleichen Computer zu erweitern, sodass sie den gleichen Regeln wie Host-Sitzungen folgen. Claude Code berücksichtigt ihn nur, wenn er im HKLM-Registrierungsschlüssel oder in einer verwalteten Einstellungsdatei oder Drop-in unter C:\Program Files\ClaudeCode\ gesetzt ist, die beide Windows-Admin-Schreibzugriff erfordern.
- Bereich:
Managed. In einer admin-kontrollierten Windows-Quelle. - Typ: Boolean
true: Claude Code auf WSL liest verwaltete Einstellungen aus der Windows-Richtlinienkette und liest/etc/claude-codenur, wenn kein Windows-Admin-Dokument vorhanden istfalse: WSL liest nur/etc/claude-code
- Standard:
false, sodass WSL nur/etc/claude-codeliest
{
"wslInheritsWindowsSettings": true
}
Sobald eine Admin-Quelle die Kette einschaltet, tritt die HKCU-Richtlinie auf WSL nur bei, wenn HKCU auch den Schlüssel auf true setzt. Diese Kopie schaltet die Kette nicht von selbst ein. Eine Windows-Quelle, die nur diesen Schlüssel enthält, gesetzt auf true oder false, zählt nicht als Richtlinienquelle, sodass eine niedrigere Prioritätsquelle immer noch die Richtlinie liefert. Dieser Schlüssel hat keine Auswirkung auf natives Windows.
Claude Code liest true und false mit oder ohne Anführungszeichen und liest null als Entfernen des Schlüssels. Eine admin-kontrollierte Windows-Quelle, die einen anderen Wert enthält, zählt als vorhandenes Admin-Dokument mit eingeschalteter Kette: Weder /etc/claude-code noch HKCU gelten, und eine Warnung beim Start benennt den Schlüssel. Ein HKLM-Wert oder eine Datei im Windows-Ordner, die existiert, aber nicht gelesen werden kann, verhindert ebenfalls, dass /etc/claude-code gilt, unabhängig davon, ob die Kette eingeschaltet ist. Erfordert Claude Code v2.1.282 oder später.
Globale Konfigurationseinstellungen
Speichern Sie diese Schlüssel in ~/.claude.json, nicht in einer Einstellungsdatei. Claude Code ignoriert sie überall sonst. Claude Code und /config schreiben die meisten davon für Sie, und Sie können sie auch manuell bearbeiten.
autoConnectIde
Verbinden Sie sich automatisch mit einer laufenden IDE, wenn Sie Claude Code von einem externen Terminal aus starten. Erscheint in /config als Auto-Verbindung zur IDE (externes Terminal), wenn Sie Claude Code außerhalb eines VS Code- oder JetBrains-Terminals ausführen.
- Geltungsbereich:
Global config - Typ: Boolean
true: Claude Code verbindet sich automatisch mit einer laufenden IDE, wenn Sie es von einem externen Terminal aus startenfalse: Claude Code verbindet sich nicht automatisch von einem externen Terminal aus; innerhalb eines VS Code- oder JetBrains-Terminals oder mit--ideverbindet es sich trotzdem
- Standard:
false - Überschreibungen pro Sitzung:
CLAUDE_CODE_AUTO_CONNECT_IDEhat Vorrang vor diesem Schlüssel für eine Sitzung, in beide Richtungen
{
"autoConnectIde": true
}
Claude Code ignoriert diesen Schlüssel in settings.json.
autoInstallIdeExtension
Installieren Sie die Claude Code IDE-Erweiterung automatisch, wenn Sie Claude Code von einem VS Code-Terminal aus ausführen. Erscheint in /config als Auto-Install IDE-Erweiterung, wenn Sie Claude Code innerhalb eines VS Code- oder JetBrains-Terminals ausführen.
- Geltungsbereich:
Global config - Typ: Boolean
true: Claude Code installiert die IDE-Erweiterung automatisch, wenn Sie es von einem VS Code-Terminal aus ausführenfalse: Claude Code installiert die Erweiterung nicht automatisch
- Standard:
true - Überschreibungen pro Sitzung:
CLAUDE_CODE_IDE_SKIP_AUTO_INSTALLauf1gesetzt überspringt die Installation für eine Sitzung, auch wenn dieser Schlüsseltrueist
{
"autoInstallIdeExtension": false
}
Claude Code ignoriert diesen Schlüssel in settings.json.
claudeInChromeDefaultEnabled
Starten Sie jede interaktive CLI-Sitzung mit aktivierter Chrome-Integration, ohne jedes Mal --chrome übergeben zu müssen. Wenn Sie claude remote-control ausführen, folgt auch eine Sitzung, die dadurch für einen Ihrer Projekt-Threads gestartet wird, diesem Schlüssel, außer im Modus bypassPermissions. Ab Claude Code v2.1.287 gilt dieser Schlüssel auch für Sitzungen in der VS Code-Erweiterung: siehe Chrome standardmäßig aktivieren.
Wenn Sie /chrome ausführen und Standardmäßig aktiviert auswählen, wird dieser Schlüssel für Sie gesetzt. Erscheint in /config als Claude in Chrome standardmäßig aktiviert.
- Geltungsbereich:
Global config - Typ: Boolean
true: Claude Code aktiviert die Chrome-Integration, wenn eine interaktive CLI-Sitzung startet, so wie beim Übergeben von--chrome. In der VS Code-Erweiterung verbinden sich Sitzungen beim Start mit dem Browserfalse: Interaktive CLI-Sitzungen starten mit deaktivierter Chrome-Integration, und Claude Code bietet die Einrichtung nicht mehr an. Übergeben Sie--chrome, um sie für eine interaktive Sitzung zu aktivieren. In der VS Code-Erweiterung verbindet sich eine Sitzung, wenn Sie@browsereingeben, wie bei nicht gesetztem Schlüssel
- Standard: nicht gesetzt, sodass die Chrome-Integration deaktiviert ist und Claude Code die Einrichtung weiterhin anbieten kann
- Überschreibungen pro Sitzung:
--chromeund--no-chromehaben für eine interaktive Sitzung Vorrang vor diesem Schlüssel
{
"claudeInChromeDefaultEnabled": true
}
Claude Code ignoriert diesen Schlüssel in settings.json.
copyFullResponse
Lassen Sie /copy jedes Mal die vollständige Antwort kopieren, ohne die Auswahl anzuzeigen. Wenn Sie in dieser Auswahl Immer vollständige Antwort kopieren wählen, wird dieser Schlüssel auf true gesetzt. Erscheint in /config als /copy-Auswahl überspringen.
- Geltungsbereich:
Global config - Typ: Boolean
true:/copykopiert die vollständige Antwort, ohne die Auswahl anzuzeigenfalse: Wenn die Antwort Codeblöcke oder Blockzitate enthält, zeigt/copyeine Auswahl an, in der Sie einen Block oder die vollständige Antwort wählen
- Standard:
false
{
"copyFullResponse": true
}
Claude Code ignoriert diesen Schlüssel in settings.json.
copyOnSelect
Kopieren Sie Text automatisch in Ihre Zwischenablage, wenn Sie die Auswahl mit der Maus in der Vollbilddarstellung oder Agent-Ansicht beenden. Erscheint in /config als Beim Auswählen kopieren, während die Vollbilddarstellung aktiviert ist.
- Geltungsbereich:
Global config - Typ: Boolean
true: Claude Code kopiert Text in Ihre Zwischenablage, wenn Sie die Auswahl beendenfalse: Das Auswählen von Text lässt Ihre Zwischenablage unverändert, und Sie kopieren die Auswahl stattdessen mit einer Tastenkombination
- Standard:
true
{
"copyOnSelect": false
}
Claude Code ignoriert diesen Schlüssel in settings.json.
defaultToAgentsView
Öffnen Sie die Agent-Ansicht statt einer neuen Konversation, wenn Sie claude ohne Argumente ausführen. Erscheint in /config als Agent-Ansicht standardmäßig öffnen, sofern die Agent-Ansicht nicht ausgeschaltet ist.
- Geltungsbereich:
Global config - Typ: Boolean
true:claudeohne Argumente öffnet die Agent-Ansicht, sofern die Agent-Ansicht nicht ausgeschaltet istfalse:claudeohne Argumente startet eine neue Konversation
- Standard:
false
{
"defaultToAgentsView": true
}
Claude Code ignoriert diesen Schlüssel in settings.json.
diffTool
Wählen Sie, wo Claude Code den Diff einer Edit- oder Write-Änderung anzeigt, die es vorschlägt, wenn eine VS Code- oder JetBrains-IDE verbunden ist: "auto" öffnet es im Diff-Viewer der IDE, "terminal" behält es im Terminal. Erscheint in /config als Diff-Tool nur, wenn Claude Code mit einer VS Code- oder JetBrains-IDE verbunden ist.
- Geltungsbereich:
Global config - Typ: string, einer von:
"auto": Claude Code öffnet den Diff im Diff-Viewer der IDE, wenn eine VS Code- oder JetBrains-IDE verbunden ist"terminal": Claude Code behält den Diff im Terminal
- Standard:
"auto"
{
"diffTool": "terminal"
}
Claude Code ignoriert diesen Schlüssel in settings.json.
externalEditorContext
Wenn Sie Ctrl+G drücken, öffnet Claude Code den Prompt, den Sie gerade eingeben, in Ihrem externen Editor. Mit diesem Schlüssel aktiviert, startet der Editor-Puffer mit Claudes vorheriger Antwort als #-Kommentarzeilen, damit Sie sie lesen können, während Sie schreiben, und Claude Code entfernt diese Zeilen, wenn Sie speichern. Erscheint in /config als Letzte Antwort im externen Editor anzeigen.
- Geltungsbereich:
Global config - Typ: Boolean
true: Der Editor-Puffer startet mit Claudes vorheriger Antwort als#-Kommentarzeilen, die Claude Code beim Speichern entferntfalse: Der Editor-Puffer öffnet sich nur mit Ihrem Prompt
- Standard:
false
{
"externalEditorContext": true
}
Mit aktiviertem Schlüssel sieht der Puffer, den Claude Code öffnet, so aus, und nur der Text unter der Markierungszeile wird als Ihr Prompt gesendet:
# ─── Claudes letzte Antwort (zur Referenz; beim Speichern entfernt) ───
# Ich habe die Wiederholungsschleife zu fetchUser in src/api.ts hinzugefügt
# und einen Test für den Timeout-Fall. Soll ich dasselbe Retry in
# fetchOrders einbauen?
# ─── Schreiben Sie Ihre Antwort unter dieser Zeile ──────────────────────
Ja, und begrenzen Sie es auf drei Versuche.
Claude Code behält die letzten 50 Zeilen der Antwort und markiert den Schnitt mit # … (frühere Ausgabe gekürzt).
Claude Code ignoriert diesen Schlüssel in settings.json.
leftArrowOpensAgents
Drücken Sie ← in einem leeren Prompt, um die Sitzung in den Hintergrund zu verschieben und die Agent-Ansicht zu öffnen. Setzen Sie diesen Schlüssel auf false, um diese Tastenkombination auszuschalten. Erscheint in /config als ← öffnet Agenten, wenn die Agent-Ansicht verfügbar ist.
- Geltungsbereich:
Global config - Typ: Boolean
true: Das Drücken von←in einem leeren Prompt in einer Sitzung, die Sie im Terminal gestartet haben, verschiebt diese in den Hintergrund und öffnet die Agent-Ansichtfalse: Claude Code schaltet die Tastenkombination aus; in einer Sitzung, mit der Sie sich aus der Agent-Ansicht verbunden haben, trennt←in einem leeren Prompt die Verbindung weiterhin
- Standard:
true
{
"leftArrowOpensAgents": false
}
Claude Code ignoriert diesen Schlüssel in settings.json.
permissionExplainerEnabled
[!WARNING]
Entfernt in v2.1.257, zusammen mit der
Ctrl+E-Befehlserklärung in Bash- und PowerShell-Berechtigungsabfragen. Das Setzen hat keine Auswirkung auf aktuelle Versionen.
Bis v2.1.256 konnten Sie Ctrl+E in einer Bash- oder PowerShell-Berechtigungsabfrage drücken, um eine modellgenerierte Erklärung des Befehls zu sehen, und diesen Schlüssel auf false setzen, um diese Tastenkombination auszuschalten.
- Geltungsbereich:
Global config. Auf v2.1.256 und früher. - Typ: Boolean
- Standard:
true
prStatusFooterEnabled
Zeigen Sie in der Fußzeile des Prompts ein Badge für den offenen Pull Request oder Merge Request des aktuellen Branches an, mit einer farbigen Unterstreichung, die dessen Status anzeigt. Erscheint in /config als PR-Status in Fußzeile anzeigen.
- Geltungsbereich:
Global config - Typ: Boolean
true: Die Fußzeile zeigt das Badge unter den in PR-Review-Status beschriebenen Bedingungen anfalse: Claude Code überspringt die Prüfung von Pull Requests und Merge Requests für die Fußzeile und zeigt dieses Badge nicht an. Eine Sitzung, mit der Sie sich aus der Agent-Ansicht verbunden haben, kann weiterhin einen einfachen Link zu einem mit ihr verknüpften Pull Request anzeigen
- Standard:
true
{
"prStatusFooterEnabled": false
}
Claude Code ignoriert diesen Schlüssel in settings.json.
teammateDefaultModel
[!WARNING]
Entfernt in v2.1.234, zusammen mit seiner
/config-Zeile Standard-Teamkollegen-Modell. Das Setzen hat keine Auswirkung auf aktuelle Versionen.
Bis v2.1.233 setzten Sie diesen Schlüssel auf das Modell für Agent-Team-Teamkollegen, für die Ihr Prompt kein Modell benannt hat: ein Alias wie "sonnet" oder null, um dem Modell des Leads zu folgen. Für das Modell, das Claude Code für solche Teamkollegen jetzt auswählt, siehe Teamkollegen und Modelle angeben.
- Geltungsbereich:
Global config. Auf v2.1.233 und früher. - Typ: string, ein Modell-Alias oder vollständige Modell-ID oder
null - Standard: nicht gesetzt
Siehe auch
- Berechtigungen konfigurieren: Regelsyntax, Berechtigungsmodi und Workspace-Vertrauen
- Umgebungsvariablen: jede
CLAUDE_*,ANTHROPIC_*und Provider-Variable, die Claude Code liest - Für Claude verfügbare Tools: die integrierten Tools und welche Genehmigung benötigen
- Beispieleinstellungsdateien: eine persönliche Datei, eine Team-Datei und eine verwaltete Datei einer Organisation
- Verwaltete Einstellungen einrichten: wie Organisationen entscheiden, was erzwungen werden soll
- Verwaltete Einstellungen bereitstellen: Bereitstellungsmechanismen, Vorrang innerhalb der verwalteten Ebene und ungültige Einträge in verwalteten Einstellungen
- Konfiguration debuggen:
claude doctorund der Dialog „Einstellungsfehler“