Build This Now
Build This Now
Was ist der Claude Code?Claude Code installierenClaude Code Native InstallerDein erstes Claude Code-Projekt
Claude Code KonfigurationClaude Code Terminal-EinrichtungsanleitungClaude Code SandboxingClaude Code Einstellungsreferenz
speedy_devvkoen_salo
Blog/Handbook/Setup/Claude Code Settings Reference

Claude Code Einstellungsreferenz

Jeder Schlüssel in settings.json, die vollständige Umgebungsvariablenliste und die Fünf-Scope-Präzedenzkette, die entscheidet, welche Konfiguration gewinnt, wenn Managed und User kollidieren.

Hören Sie auf zu konfigurieren. Fangen Sie an zu bauen.

SaaS-Builder-Vorlagen mit KI-Orchestrierung.

Published Mar 17, 2026Handbook hubSetup index

Problem: Die meisten Claude Code-Schmerzen haben eine Ursache. Deine Konfiguration passt nicht dazu, wie du arbeitest. Du stempelst den ganzen Tag Bash-Befehle ab, Team-Standardwerte laden nie, oder ein Schlüssel, den du gestern bearbeitet hast, bewirkt nichts.

Die Lösung ist, das Einstellungssystem zu kennen. Nicht nur die Schlüssel, sondern die Präzedenzregeln, die einen Gewinner ermitteln, wenn zwei Scopes nicht übereinstimmen.

Schnellgewinn: Füge eine $schema-Zeile in settings.json ein und jeder Editor, der JSON-Schema versteht, leuchtet mit Autocomplete und Inline-Checks auf. VS Code, Cursor und alles andere mit Schema-Unterstützung profitiert davon.

Die Fünf-Scope-Präzedenzkette

Einstellungen folgen einer festen Rangordnung. Sie zu kennen ist der Unterschied zwischen "Warum hat meine Änderung nicht gezogen?" und "Oh, falsche Datei."

Scope-Priorität (Höchste bis Niedrigste)

PrioritätScopeOrtWen es betrifftGeteilt?
1ManagedSystemverzeichnisseAlle Nutzer auf der MaschineJa (IT-verteilt)
2Command lineCLI-FlagsNur die aktuelle SessionNein
3Local.claude/settings.local.jsonDu, dieses ProjektNein (gitignored)
4Project.claude/settings.jsonAlle MitarbeiterJa (in git)
5User~/.claude/settings.jsonDu, alle ProjekteNein

Höhere Scopes schlagen immer niedrigere. Punkt. Eine Managed-Regel der IT, die Bash(curl *) blockiert, ist durch keine persönliche oder Projektdatei erreichbar.

Den richtigen Scope wählen

Managed passt für Organisationen, die Regeln ohne Ausstiegsluke brauchen:

  • Sicherheitsrichtlinien (Zugriff auf Anmeldedaten blockieren, destruktive Befehle verbieten)
  • Compliance, die für jeden Entwickler und jedes Repo gelten muss
  • Standard-Hooks oder MCP-Konfigs, die von IT ausgerollt werden

Command line-Flags behandeln einmalige Überschreibungen innerhalb einer einzigen Session:

  • Ein anderes Modell ausprobieren: claude --model claude-sonnet-4-5-20250929
  • Extra Berechtigungsspielraum für eine bestimmte Aufgabe gewähren
  • Mit dem --debug-Flag ausführen

Local ist deine private Sandbox für ein bestimmtes Repo:

  • Eine Projektregel leise überschreiben, die nicht zu deiner Maschine passt
  • Einen Hook ausprobieren, bevor du ihn dem Team vorschlägst
  • Pfade, die einzigartig für diese Maschine sind (wo dein SSH-Schlüssel liegt, auf welchem Port der lokale Proxy läuft)

Project ist der Ort, wo das Team sich ausrichtet:

  • Berechtigungsregeln, die alle befolgen
  • Gemeinsame Hooks für Auto-Format und Lint
  • MCP-Server-Konfigs, die jeder Teamkollege braucht
  • CLAUDE.md-Anweisungen, die das Projekt beschreiben

User sind deine eigenen Standardwerte:

  • Sprache, Theme und der Ausgabestil, den du bevorzugst
  • Plugins, die du in jedem Repo aktiv haben willst
  • Globale Berechtigungsregeln (wie eine pauschale Ablehnung für ~/.ssh)

Managed-Einstellungspfade nach Betriebssystem

Managed-Dateien brauchen Admin-Rechte und liegen außerhalb jedes Benutzer-Home-Verzeichnisses:

BetriebssystemPfad
macOS/Library/Application Support/ClaudeCode/
Linux / WSL/etc/claude-code/
WindowsC:\Program Files\ClaudeCode\

Zwei Dateien liegen in diesen Ordnern. managed-settings.json enthält die Einstellungen, managed-mcp.json enthält MCP-Server.

Jeder Knopf in Claude Code sitzt an einem bekannten Dateipfad in jedem Scope:

FeatureUserProject (geteilt)Local (persönlich)
Einstellungen~/.claude/settings.json.claude/settings.json.claude/settings.local.json
Subagents~/.claude/agents/.claude/agents/N/A
MCP-Server~/.claude.json.mcp.json~/.claude.json (pro Projekt)
Plugins~/.claude/settings.json.claude/settings.json.claude/settings.local.json
CLAUDE.md~/.claude/CLAUDE.mdCLAUDE.md oder .claude/CLAUDE.mdCLAUDE.local.md

Einstellungsreferenz

Allgemeine Einstellungen

SchlüsselBeschreibungStandardBeispiel
modelStandard-Modell überschreiben(Systemstandard)"claude-sonnet-4-5-20250929"
languageBevorzugte Antwortsprache von ClaudeEnglisch"japanese"
outputStyleSystem-Prompt-Stil anpassen(keine)"Explanatory"
cleanupPeriodDaysTage, bevor inaktive Sessions gelöscht werden3020
autoUpdatesChannelRelease-Kanal: "stable" oder "latest""latest""stable"
showTurnDurationAntwort-Timing anzeigen ("Gekocht für 1m 6s")truefalse
spinnerVerbsSpinner-Text anpassen(Standardwerte){"mode": "append", "verbs": ["Pondering"]}
spinnerTipsEnabledTipps während Claude arbeitet anzeigentruefalse
terminalProgressBarEnabledTerminal-Fortschrittsbalken (iTerm2, Windows Terminal)truefalse
alwaysThinkingEnabledErweitertes Denken standardmäßig aktivierenfalsetrue
plansDirectoryWo Plan-Dateien gespeichert werden~/.claude/plans"./plans"
respectGitignore@ Datei-Picker respektiert .gitignoretruefalse
companyAnnouncementsBeim Start angezeigte Nachrichten (zufälliger Zyklus)(keine)["Review guidelines at docs.acme.com"]

Berechtigungseinstellungen

Die unten stehenden Schlüssel liegen alle innerhalb des "permissions"-Objekts.

SchlüsselBeschreibungBeispiel
allowRegeln zum automatischen Erlauben der Tool-Nutzung["Bash(npm run lint)", "Read(~/.zshrc)"]
askRegeln, die eine Bestätigung erfordern["Bash(git push *)"]
denyRegeln zum vollständigen Blockieren der Tool-Nutzung["WebFetch", "Bash(curl *)", "Read(./.env)"]
additionalDirectoriesZusätzliche Verzeichnisse, auf die Claude zugreifen kann["../docs/", "../shared/"]
defaultModeStandard-Berechtigungsmodus beim Start"acceptEdits"
disableBypassPermissionsMode--dangerously-skip-permissions blockieren"disable"

Auswertungsreihenfolge: Deny kommt zuerst. Dann Ask. Allow kommt zuletzt. Die erste passende Regel ist die, die greift.

Regel-Syntax-Beispiele:

RegelWas sie trifft
BashAlle Bash-Befehle
Bash(npm run *)Befehle, die mit npm run beginnen
Read(./.env)Lesen der .env-Datei
Read(./secrets/**)Lesen von allem in secrets/
WebFetch(domain:example.com)Fetch-Anfragen an example.com

Sandbox-Einstellungen

Die unten stehenden Schlüssel liegen innerhalb des "sandbox"-Objekts und steuern, wie Bash-Befehle isoliert werden.

SchlüsselBeschreibungStandardBeispiel
enabledBash-Sandboxing aktivierenfalsetrue
autoAllowBashIfSandboxedBefehle automatisch genehmigen, wenn sandboxedtruetrue
excludedCommandsBefehle, die außerhalb der Sandbox laufen(keine)["git", "docker"]
allowUnsandboxedCommandsdangerouslyDisableSandbox-Escape erlaubentruefalse
enableWeakerNestedSandboxSchwächere Sandbox für Docker (Linux/WSL2)falsetrue
network.allowedDomainsWhitelist ausgehender Domains(keine)["github.com", "*.npmjs.org"]
network.allowUnixSocketsUnix-Socket-Pfade, die in der Sandbox zugänglich sind(keine)["~/.ssh/agent-socket"]
network.allowAllUnixSocketsAlle Unix-Socket-Verbindungen erlaubenfalsetrue
network.allowLocalBindingBinding an localhost erlauben (nur macOS)falsetrue
network.httpProxyPortBenutzerdefinierter HTTP-Proxy-Port(auto)8080
network.socksProxyPortBenutzerdefinierter SOCKS5-Proxy-Port(auto)8081

Attributionseinstellungen

Die unten stehenden Schlüssel liegen innerhalb des "attribution"-Objekts und entscheiden, wie git Claudes Arbeit zuschreibt.

SchlüsselBeschreibungStandard
commitText, der an Git-Commit-Nachrichten angehängt wird"Generated with Claude Code..." + Co-Authored-By Trailer
prText, der an Pull-Request-Beschreibungen angehängt wird"Generated with Claude Code..."

Leere einen der Schlüssel mit "" aus, und die entsprechende Zeile verschwindet aus git. Der Legacy-Schlüssel includeCoAuthoredBy funktioniert noch, ist aber jetzt veraltet.

Plugin-Einstellungen

SchlüsselBeschreibungBeispiel
enabledPluginsPlugins ein-/ausschalten{"formatter@acme-tools": true}
extraKnownMarketplacesZusätzliche Plugin-QuellenSiehe Beispiel unten
strictKnownMarketplaces(Nur Managed) Marktplatz-Quellen einschränken[{"source": "github", "repo": "acme/plugins"}]

Es gibt vier Quelltypen. github zeigt auf ein Repo. git akzeptiert jede URL. directory verwendet einen lokalen Pfad während der Entwicklung. hostPattern tut Regex-Matching auf Hostnamen.

MCP-Server-Einstellungen

SchlüsselBeschreibungBeispiel
enableAllProjectMcpServersAlle Projekt-MCP-Server automatisch genehmigentrue
enabledMcpjsonServersBestimmte MCP-Server zum Genehmigen["memory", "github"]
disabledMcpjsonServersBestimmte MCP-Server zum Ablehnen["filesystem"]
allowedMcpServers(Nur Managed) MCP-Server-Allowlist[{"serverName": "github"}]
deniedMcpServers(Nur Managed) MCP-Server-Denylist[{"serverName": "filesystem"}]

Authentifizierungs- und Anbietereinstellungen

SchlüsselBeschreibungBeispiel
apiKeyHelperSkript zum Generieren des Auth-Wertes"/bin/generate_temp_api_key.sh"
forceLoginMethodAuf claudeai oder console beschränken"claudeai"
forceLoginOrgUUIDOrganisation beim Login automatisch auswählen"xxxxxxxx-xxxx-..."
awsAuthRefreshSkript zum Aktualisieren von AWS-Anmeldedaten"aws sso login --profile myprofile"
awsCredentialExportSkript, das AWS-Anmeldedaten-JSON ausgibt"/bin/generate_aws_grant.sh"
otelHeadersHelperSkript zum Generieren von OpenTelemetry-Headern"/bin/generate_otel_headers.sh"

Hook- und erweiterte Einstellungen

SchlüsselBeschreibungBeispiel
hooksLifecycle-Event-Hook-KonfigurationSiehe Hooks-Leitfaden
disableAllHooksAlle Hooks deaktivierentrue
allowManagedHooksOnly(Nur Managed) Nutzer-/Projekt-Hooks blockierentrue
allowManagedPermissionRulesOnly(Nur Managed) Nutzer-/Projekt-Berechtigungsregeln blockierentrue
fileSuggestionBenutzerdefiniertes @ Datei-Autocomplete-Skript{"type": "command", "command": "~/.claude/file-suggestion.sh"}
statusLineBenutzerdefinierte Statusleisten-Anzeige{"type": "command", "command": "~/.claude/statusline.sh"}
envUmgebungsvariablen für jede Session{"FOO": "bar"}

Umgebungsvariablen

Claude Code liest rund 70 Env-Variablen. Die meisten sind Randfälle. Ein funktionierendes Set von etwa 20 ist alles, was du im täglichen Gebrauch siehst.

Modell und Anbieter

VariableZweck
ANTHROPIC_API_KEYAPI-Schlüssel für direkten API-Zugriff
ANTHROPIC_MODELStandard-Modell überschreiben
ANTHROPIC_DEFAULT_SONNET_MODELModellname für Sonnet-Alias
CLAUDE_CODE_SUBAGENT_MODELModell für Subagents (getrennt vom Hauptmodell)
CLAUDE_CODE_USE_BEDROCKÜber AWS Bedrock routen
CLAUDE_CODE_USE_VERTEXÜber Google Vertex routen

Die Alias-Variablen (ANTHROPIC_DEFAULT_SONNET_MODEL, ANTHROPIC_DEFAULT_OPUS_MODEL, ANTHROPIC_DEFAULT_HAIKU_MODEL) sind nützlich, wenn deine Organisation ein feinjustiertes Modell auf die Standard-Alias-Namen zeigt.

Performance-Tuning

VariableZweck
CLAUDE_CODE_MAX_OUTPUT_TOKENSMaximale Ausgabe-Tokens (Standard: 32K, Max: 64K)
MAX_THINKING_TOKENSBudget für erweitertes Denken (Standard: 31.999, auf 0 setzen zum Deaktivieren)
CLAUDE_AUTOCOMPACT_PCT_OVERRIDE% der Kontextkapazität (1-100), die Auto-Komprimierung auslöst
BASH_DEFAULT_TIMEOUT_MSStandard-Bash-Befehl-Timeout
BASH_MAX_TIMEOUT_MSMaximaler Bash-Timeout, den Claude setzen kann
BASH_MAX_OUTPUT_LENGTHMaximale Bash-Ausgabezeichen vor dem Abschneiden

Datenschutz und Telemetrie

VariableZweck
CLAUDE_CODE_DISABLE_NONESSENTIAL_TRAFFICUpdates, Telemetrie, Fehlerberichte auf einmal deaktivieren
DISABLE_TELEMETRYVon Statsig-Telemetrie abmelden
DISABLE_ERROR_REPORTINGVon Sentry-Fehlerberichten abmelden
CLAUDE_CODE_HIDE_ACCOUNT_INFOE-Mail und Org-Name in der UI ausblenden
DISABLE_AUTOUPDATERAutomatische Versions-Updates deaktivieren

Session-Kontrolle

VariableZweck
CLAUDE_CODE_TASK_LIST_IDEine Task-Liste über mehrere Sessions teilen
CLAUDE_CODE_ENABLE_TASKSAuf false setzen, um zur alten TODO-Liste zurückzukehren
CLAUDE_CODE_SHELLAutomatische Shell-Erkennung überschreiben
CLAUDE_CONFIG_DIRBenutzerdefinierten Konfigurations-/Datenverzeichnis-Ort
MCP_TIMEOUTTimeout in ms für den MCP-Server-Start
MCP_TOOL_TIMEOUTTimeout in ms für die MCP-Tool-Ausführung

Es gibt zwei Wege. Exportiere sie aus deinem Shell-Profil, oder leg sie in das "env"-Objekt von settings.json, damit sie Sessions überleben, ohne Shell-rc-Bearbeitungen.

Konfigurationskonflikte lösen

Die meisten klassischen Konfigurationsprobleme verschwinden, sobald du weißt, welcher Scope welchen schlägt.

Fall 1: Eine Berechtigungsregel stimmt zwischen Scopes nicht überein

Deine User-Config erlaubt Bash(curl *). Die Projekt-Config verbietet es. Wer setzt sich durch? Project sitzt bei Priorität 4 und User bei Priorität 5, also hält die Blockierung. Wenn curl auf deiner eigenen Maschine wirklich gebraucht wird, lege die Erlaubnisregel stattdessen in .claude/settings.local.json. Local bei Priorität 3 übertrifft Project bei Priorität 4, und der lokale Allow überschreibt dann die blockierte Regel.

Fall 2: Eine Managed-Datei schießt eine Projektregel ab

Dein Team-settings.json im Projekt erlaubt Bash(rm -rf *). IT liefert dann eine Managed-Datei, die denselben Befehl blockiert. Managed gewinnt. Immer. Nichts in einer User-, Local- oder Projektdatei kann über Managed-Regeln hinausreichen. Das Design ist absichtlich, und Compliance ist der Grund.

Fall 3: Etwas lokal ausprobieren

Du willst einen neuen Hook testen, bevor du ihn dem Team anbietest. Lege ihn in .claude/settings.local.json. Er übertrifft das gemeinsam genutzte .claude/settings.json und bleibt nur auf deiner Maschine.

Fall 4: Zwei Scopes werden zusammengeführt

Scopes löschen sich nicht gegenseitig vollständig aus. Sie stapeln sich. User-Config erlaubt Bash(git status) und Projekt-Config erlaubt Bash(npm run lint) - du bekommst beide Regeln gleichzeitig aktiv. Die Zusammenführung verbindet Berechtigungs-Arrays. Wenn derselbe Schlüssel an zwei Scopes einen anderen Wert trägt, ist der höhere Scope der, der für diesen einzelnen Schlüssel gilt.

Fall 5: Eine Env-Variable aus der Shell und in settings.json aufgelistet

Exportiere ANTHROPIC_MODEL aus deiner Shell und liste es auch im env-Objekt von settings.json, und der Shell-Export ist der Wert, den Claude Code verwendet.

Wie Einstellungen in den Rest des Systems eingreifen

CLAUDE.md-Dateien enthalten die Anweisungen, die Claude beim Start lädt, plus den Hintergrund, den es braucht. Ein klares mentales Modell: Einstellungen sagen, was Claude tun darf, CLAUDE.md sagt, was Claude wissen sollte.

MCP-Server stecken neue Tools in Claude. Ihre Konfiguration lebt in eigenen Dateien (.mcp.json auf Projektebene, ~/.claude.json auf User-Ebene). settings.json ist der Ort, der entscheidet, welche dieser Server genehmigt und welche blockiert sind.

Hooks leben innerhalb von settings.json unter dem hooks-Schlüssel. Jeder führt einen Shell-Befehl aus oder sendet einen LLM-Prompt, wenn ein Lifecycle-Ereignis feuert.

Plugins laufen auch durch settings.json, über enabledPlugins und deine Marktplatz-Liste.

Subagents sind einfache Markdown-Dateien. User-Subagents gehen in ~/.claude/agents/, Projekt-Subagents in .claude/agents/.

Backups und Wiederherstellung

Jedes Mal, wenn eine Konfigurationsdatei sich ändert, schreibt Claude Code ein zeitgestempeltes Backup. Die letzten fünf Kopien pro Datei bleiben erhalten. Ein schlechtes Update bedeutet nicht mehr, in git reflog zu graben. Die vorherige funktionierende Version liegt neben der kaputten.

Erste Schritte

Neu bei Claude Code-Einstellungen? Arbeite diese kurze Liste der Reihe nach durch.

  1. Berechtigungsregeln auf Projektebene. Jeden Lesezugriff auf .env und andere geheime Dateien blockieren. Die Build- oder Test-Befehle, die du jeden Tag ausführst, erlauben
  2. Einen PostToolUse-Hook, der automatisch beim Speichern formatiert. Dieser eine Eintrag vernichtet Genehmigungs-Fatigue schneller als alles andere
  3. Attributionseinstellungen, wenn die Co-Authored-By-Zeile angepasst oder ausgeblendet werden muss
  4. User-Standardwerte für die Präferenzen, die du in jedem Repo aktiv haben möchtest
  5. Eine CLAUDE.md-Datei mit Projektkontext und deinen Code-Konventionen

Continue in Setup

  • Claude Code Konfiguration
    Drei Dateien richten Claude Code pro Projekt ein: CLAUDE.md für Kontext, MCP-Server für Tools, Slash-Befehle für Workflows. Eine Hierarchie, jede Session bereit.
  • Claude Code Sandboxing
    Claude Code Sandboxing setzt Dateisystem- und Netzwerkgrenzen auf Kernel-Ebene durch. Einrichtung für macOS Seatbelt, Linux und WSL2 bubblewrap sowie Proxy-Allowlisten.
  • Claude Code Terminal-Einrichtungsanleitung
    Themes anpassen, Shift+Enter aktivieren, Benachrichtigungen einstellen, langen Einfüge-Abschneiden beheben und Vim-Modus einschalten – für iTerm2, WezTerm, Ghostty, Kitty und mehr.

More from Handbook

  • Grundlagen für Agenten
    Fünf Möglichkeiten, spezialisierte Agenten in Claude Code zu erstellen: Aufgaben-Unteragenten, .claude/agents YAML, benutzerdefinierte Slash-Befehle, CLAUDE.md Personas und perspektivische Aufforderungen.
  • Agenten-Muster
    Orchestrator, Fan-out, Validierungskette, Spezialistenrouting, Progressive Verfeinerung und Watchdog. Sechs Orchestrierungsformen, um Claude Code Sub-Agenten zu verdrahten.
  • Agent Teams Best Practices
    Bewährte Muster für Claude Code Agent Teams. Kontextreiche Spawn-Prompts, richtig bemessene Aufgaben, Datei-Eigentümerschaft, Delegate-Modus und Fixes für v2.1.33-v2.1.45.
  • Agent Teams Steuerung
    Konfiguriere Delegate-Modus, Anzeigemodi, Plan-Genehmigung, Dateigrenzen und CLAUDE.md-Regeln, damit dein Claude Code Team-Lead koordiniert statt selbst zu coden.

Hören Sie auf zu konfigurieren. Fangen Sie an zu bauen.

SaaS-Builder-Vorlagen mit KI-Orchestrierung.

Claude Code Sandboxing

Claude Code Sandboxing setzt Dateisystem- und Netzwerkgrenzen auf Kernel-Ebene durch. Einrichtung für macOS Seatbelt, Linux und WSL2 bubblewrap sowie Proxy-Allowlisten.

1M-Kontext-Fenster in Claude Code

Anthropic hat das 1-Mio.-Token-Kontextfenster für Opus 4.6 und Sonnet 4.6 in Claude Code aktiviert. Kein Beta-Header, kein Aufpreis, feste Preise und weniger Kompaktierungen.

On this page

Die Fünf-Scope-Präzedenzkette
Scope-Priorität (Höchste bis Niedrigste)
Den richtigen Scope wählen
Managed-Einstellungspfade nach Betriebssystem
Einstellungsreferenz
Allgemeine Einstellungen
Berechtigungseinstellungen
Sandbox-Einstellungen
Attributionseinstellungen
Plugin-Einstellungen
MCP-Server-Einstellungen
Authentifizierungs- und Anbietereinstellungen
Hook- und erweiterte Einstellungen
Umgebungsvariablen
Modell und Anbieter
Performance-Tuning
Datenschutz und Telemetrie
Session-Kontrolle
Konfigurationskonflikte lösen
Wie Einstellungen in den Rest des Systems eingreifen
Backups und Wiederherstellung
Erste Schritte

Hören Sie auf zu konfigurieren. Fangen Sie an zu bauen.

SaaS-Builder-Vorlagen mit KI-Orchestrierung.