Claude Code bietet eine Vielzahl von Einstellungen, um sein Verhalten an Ihre Bedürfnisse anzupassen. Sie können Claude Code konfigurieren, indem Sie den Befehl /config ausführen, wenn Sie die interaktive REPL verwenden.

Einstellungsdateien

Die Datei settings.json ist unser offizieller Mechanismus zur Konfiguration von Claude Code durch hierarchische Einstellungen:

  • Benutzereinstellungen werden in ~/.claude/settings.json definiert und gelten für alle Projekte.
  • Projekteinstellungen werden in Ihrem Projektverzeichnis gespeichert:
    • .claude/settings.json für Einstellungen, die in die Versionskontrolle eingecheckt und mit Ihrem Team geteilt werden
    • .claude/settings.local.json für Einstellungen, die nicht eingecheckt werden, nützlich für persönliche Präferenzen und Experimente. Claude Code wird git so konfigurieren, dass .claude/settings.local.json ignoriert wird, wenn es erstellt wird.
  • Für Unternehmensbereitstellungen von Claude Code unterstützen wir auch von Unternehmen verwaltete Richtlinieneinstellungen. Diese haben Vorrang vor Benutzer- und Projekteinstellungen. Systemadministratoren können Richtlinien bereitstellen für:
    • macOS: /Library/Application Support/ClaudeCode/managed-settings.json
    • Linux und WSL: /etc/claude-code/managed-settings.json
    • Windows: C:\ProgramData\ClaudeCode\managed-settings.json
Beispiel settings.json
{
  "permissions": {
    "allow": [
      "Bash(npm run lint)",
      "Bash(npm run test:*)",
      "Read(~/.zshrc)"
    ],
    "deny": [
      "Bash(curl:*)",
      "Read(./.env)",
      "Read(./.env.*)",
      "Read(./secrets/**)"
    ]
  },
  "env": {
    "CLAUDE_CODE_ENABLE_TELEMETRY": "1",
    "OTEL_METRICS_EXPORTER": "otlp"
  }
}

Verfügbare Einstellungen

settings.json unterstützt eine Reihe von Optionen:

SchlüsselBeschreibungBeispiel
apiKeyHelperBenutzerdefiniertes Skript, das in /bin/sh ausgeführt wird, um einen Auth-Wert zu generieren. Dieser Wert wird als X-Api-Key und Authorization: Bearer Header für Modellanfragen gesendet/bin/generate_temp_api_key.sh
cleanupPeriodDaysWie lange Chat-Transkripte lokal basierend auf dem letzten Aktivitätsdatum aufbewahrt werden (Standard: 30 Tage)20
envUmgebungsvariablen, die auf jede Sitzung angewendet werden{"FOO": "bar"}
includeCoAuthoredByOb die co-authored-by Claude Byline in Git-Commits und Pull-Requests eingeschlossen werden soll (Standard: true)false
permissionsSiehe Tabelle unten für die Struktur der Berechtigungen.
hooksKonfigurieren Sie benutzerdefinierte Befehle, die vor oder nach Tool-Ausführungen ausgeführt werden. Siehe Hooks-Dokumentation{"PreToolUse": {"Bash": "echo 'Running command...'"}}
disableAllHooksAlle Hooks deaktivierentrue
modelDas Standardmodell für Claude Code überschreiben"claude-3-5-sonnet-20241022"
statusLineEine benutzerdefinierte Statuszeile zur Anzeige von Kontext konfigurieren. Siehe statusLine-Dokumentation{"type": "command", "command": "~/.claude/statusline.sh"}
outputStyleEinen Ausgabestil konfigurieren, um die Systemaufforderung anzupassen. Siehe Ausgabestile-Dokumentation"Explanatory"
forceLoginMethodVerwenden Sie claudeai, um die Anmeldung auf Claude.ai-Konten zu beschränken, console, um die Anmeldung auf Anthropic Console (API-Nutzungsabrechnung) Konten zu beschränkenclaudeai
forceLoginOrgUUIDGeben Sie die UUID einer Organisation an, um sie während der Anmeldung automatisch auszuwählen und den Organisationsauswahlschritt zu umgehen. Erfordert, dass forceLoginMethod gesetzt ist"xxxxxxxx-xxxx-xxxx-xxxx-xxxxxxxxxxxx"
enableAllProjectMcpServersAlle MCP-Server, die in Projekt-.mcp.json-Dateien definiert sind, automatisch genehmigentrue
enabledMcpjsonServersListe spezifischer MCP-Server aus .mcp.json-Dateien, die genehmigt werden sollen["memory", "github"]
disabledMcpjsonServersListe spezifischer MCP-Server aus .mcp.json-Dateien, die abgelehnt werden sollen["filesystem"]
awsAuthRefreshBenutzerdefiniertes Skript, das das .aws-Verzeichnis modifiziert (siehe erweiterte Anmeldedatenkonfiguration)aws sso login --profile myprofile
awsCredentialExportBenutzerdefiniertes Skript, das JSON mit AWS-Anmeldedaten ausgibt (siehe erweiterte Anmeldedatenkonfiguration)/bin/generate_aws_grant.sh

Berechtigungseinstellungen

SchlüsselBeschreibungBeispiel
allowArray von Berechtigungsregeln, um Tool-Verwendung zu erlauben. Hinweis: Bash-Regeln verwenden Präfix-Matching, nicht Regex[ "Bash(git diff:*)" ]
askArray von Berechtigungsregeln, um bei Tool-Verwendung nach Bestätigung zu fragen.[ "Bash(git push:*)" ]
denyArray von Berechtigungsregeln, um Tool-Verwendung zu verweigern. Verwenden Sie dies auch, um sensible Dateien vom Claude Code-Zugriff auszuschließen. Hinweis: Bash-Muster sind Präfix-Matches und können umgangen werden (siehe Bash-Berechtigungsbeschränkungen)[ "WebFetch", "Bash(curl:*)", "Read(./.env)", "Read(./secrets/**)" ]
additionalDirectoriesZusätzliche Arbeitsverzeichnisse, auf die Claude Zugriff hat[ "../docs/" ]
defaultModeStandard-Berechtigungsmodus beim Öffnen von Claude Code"acceptEdits"
disableBypassPermissionsModeAuf "disable" setzen, um zu verhindern, dass der bypassPermissions-Modus aktiviert wird. Siehe verwaltete Richtlinieneinstellungen"disable"

Einstellungsvorrang

Einstellungen werden in der Reihenfolge der Priorität angewendet (höchste zu niedrigste):

  1. Von Unternehmen verwaltete Richtlinien (managed-settings.json)

    • Bereitgestellt von IT/DevOps
    • Können nicht überschrieben werden
  2. Befehlszeilenargumente

    • Temporäre Überschreibungen für eine bestimmte Sitzung
  3. Lokale Projekteinstellungen (.claude/settings.local.json)

    • Persönliche projektspezifische Einstellungen
  4. Geteilte Projekteinstellungen (.claude/settings.json)

    • Team-geteilte Projekteinstellungen in der Versionskontrolle
  5. Benutzereinstellungen (~/.claude/settings.json)

    • Persönliche globale Einstellungen

Diese Hierarchie stellt sicher, dass Unternehmenssicherheitsrichtlinien immer durchgesetzt werden, während Teams und Einzelpersonen ihre Erfahrung anpassen können.

Wichtige Punkte zum Konfigurationssystem

  • Speicherdateien (CLAUDE.md): Enthalten Anweisungen und Kontext, die Claude beim Start lädt
  • Einstellungsdateien (JSON): Konfigurieren Berechtigungen, Umgebungsvariablen und Tool-Verhalten
  • Slash-Befehle: Benutzerdefinierte Befehle, die während einer Sitzung mit /befehlsname aufgerufen werden können
  • MCP-Server: Erweitern Claude Code mit zusätzlichen Tools und Integrationen
  • Vorrang: Konfigurationen höherer Ebene (Unternehmen) überschreiben solche niedrigerer Ebene (Benutzer/Projekt)
  • Vererbung: Einstellungen werden zusammengeführt, wobei spezifischere Einstellungen zu breiteren hinzufügen oder diese überschreiben

Verfügbarkeit der Systemaufforderung

Im Gegensatz zu claude.ai veröffentlichen wir Claude Codes interne Systemaufforderung nicht auf dieser Website. Verwenden Sie CLAUDE.md-Dateien oder --append-system-prompt, um benutzerdefinierte Anweisungen zu Claude Codes Verhalten hinzuzufügen.

Sensible Dateien ausschließen

Um zu verhindern, dass Claude Code auf Dateien mit sensiblen Informationen zugreift (z.B. API-Schlüssel, Geheimnisse, Umgebungsdateien), verwenden Sie die Einstellung permissions.deny in Ihrer .claude/settings.json-Datei:

{
  "permissions": {
    "deny": [
      "Read(./.env)",
      "Read(./.env.*)",
      "Read(./secrets/**)",
      "Read(./config/credentials.json)",
      "Read(./build)"
    ]
  }
}

Dies ersetzt die veraltete ignorePatterns-Konfiguration. Dateien, die diesen Mustern entsprechen, sind für Claude Code völlig unsichtbar und verhindern jede versehentliche Preisgabe sensibler Daten.

Subagent-Konfiguration

Claude Code unterstützt benutzerdefinierte KI-Subagenten, die sowohl auf Benutzer- als auch auf Projektebene konfiguriert werden können. Diese Subagenten werden als Markdown-Dateien mit YAML-Frontmatter gespeichert:

  • Benutzer-Subagenten: ~/.claude/agents/ - Verfügbar in allen Ihren Projekten
  • Projekt-Subagenten: .claude/agents/ - Spezifisch für Ihr Projekt und können mit Ihrem Team geteilt werden

Subagent-Dateien definieren spezialisierte KI-Assistenten mit benutzerdefinierten Prompts und Tool-Berechtigungen. Erfahren Sie mehr über das Erstellen und Verwenden von Subagenten in der Subagenten-Dokumentation.

Umgebungsvariablen

Claude Code unterstützt die folgenden Umgebungsvariablen zur Steuerung seines Verhaltens:

Alle Umgebungsvariablen können auch in settings.json konfiguriert werden. Dies ist nützlich als Möglichkeit, Umgebungsvariablen für jede Sitzung automatisch zu setzen oder eine Reihe von Umgebungsvariablen für Ihr gesamtes Team oder Ihre Organisation bereitzustellen.

VariableZweck
ANTHROPIC_API_KEYAPI-Schlüssel, der als X-Api-Key-Header gesendet wird, typischerweise für das Claude SDK (für interaktive Nutzung führen Sie /login aus)
ANTHROPIC_AUTH_TOKENBenutzerdefinierter Wert für den Authorization-Header (der Wert, den Sie hier setzen, wird mit Bearer vorangestellt)
ANTHROPIC_CUSTOM_HEADERSBenutzerdefinierte Header, die Sie zur Anfrage hinzufügen möchten (im Format Name: Wert)
ANTHROPIC_DEFAULT_HAIKU_MODELSiehe Modellkonfiguration
ANTHROPIC_DEFAULT_OPUS_MODELSiehe Modellkonfiguration
ANTHROPIC_DEFAULT_SONNET_MODELSiehe Modellkonfiguration
ANTHROPIC_MODELName der zu verwendenden Modelleinstellung (siehe Modellkonfiguration)
ANTHROPIC_SMALL_FAST_MODEL[VERALTET] Name des Haiku-Klasse-Modells für Hintergrundaufgaben
ANTHROPIC_SMALL_FAST_MODEL_AWS_REGIONAWS-Region für das Haiku-Klasse-Modell bei Verwendung von Bedrock überschreiben
AWS_BEARER_TOKEN_BEDROCKBedrock-API-Schlüssel für Authentifizierung (siehe Bedrock-API-Schlüssel)
BASH_DEFAULT_TIMEOUT_MSStandard-Timeout für lang laufende Bash-Befehle
BASH_MAX_OUTPUT_LENGTHMaximale Anzahl von Zeichen in Bash-Ausgaben, bevor sie in der Mitte gekürzt werden
BASH_MAX_TIMEOUT_MSMaximaler Timeout, den das Modell für lang laufende Bash-Befehle setzen kann
CLAUDE_BASH_MAINTAIN_PROJECT_WORKING_DIRNach jedem Bash-Befehl zum ursprünglichen Arbeitsverzeichnis zurückkehren
CLAUDE_CODE_API_KEY_HELPER_TTL_MSIntervall in Millisekunden, in dem Anmeldedaten aktualisiert werden sollen (bei Verwendung von apiKeyHelper)
CLAUDE_CODE_CLIENT_CERTPfad zur Client-Zertifikatsdatei für mTLS-Authentifizierung
CLAUDE_CODE_CLIENT_KEY_PASSPHRASEPassphrase für verschlüsselten CLAUDE_CODE_CLIENT_KEY (optional)
CLAUDE_CODE_CLIENT_KEYPfad zur privaten Client-Schlüsseldatei für mTLS-Authentifizierung
CLAUDE_CODE_DISABLE_NONESSENTIAL_TRAFFICEntspricht dem Setzen von DISABLE_AUTOUPDATER, DISABLE_BUG_COMMAND, DISABLE_ERROR_REPORTING und DISABLE_TELEMETRY
CLAUDE_CODE_DISABLE_TERMINAL_TITLEAuf 1 setzen, um automatische Terminal-Titel-Updates basierend auf Gesprächskontext zu deaktivieren
CLAUDE_CODE_IDE_SKIP_AUTO_INSTALLAuto-Installation von IDE-Erweiterungen überspringen
CLAUDE_CODE_MAX_OUTPUT_TOKENSDie maximale Anzahl von Ausgabe-Tokens für die meisten Anfragen festlegen
CLAUDE_CODE_SKIP_BEDROCK_AUTHAWS-Authentifizierung für Bedrock überspringen (z.B. bei Verwendung eines LLM-Gateways)
CLAUDE_CODE_SKIP_VERTEX_AUTHGoogle-Authentifizierung für Vertex überspringen (z.B. bei Verwendung eines LLM-Gateways)
CLAUDE_CODE_SUBAGENT_MODELSiehe Modellkonfiguration
CLAUDE_CODE_USE_BEDROCKBedrock verwenden
CLAUDE_CODE_USE_VERTEXVertex verwenden
DISABLE_AUTOUPDATERAuf 1 setzen, um automatische Updates zu deaktivieren. Dies hat Vorrang vor der autoUpdates-Konfigurationseinstellung.
DISABLE_BUG_COMMANDAuf 1 setzen, um den /bug-Befehl zu deaktivieren
DISABLE_COST_WARNINGSAuf 1 setzen, um Kostenwarnmeldungen zu deaktivieren
DISABLE_ERROR_REPORTINGAuf 1 setzen, um sich von Sentry-Fehlerberichterstattung abzumelden
DISABLE_NON_ESSENTIAL_MODEL_CALLSAuf 1 setzen, um Modellaufrufe für nicht-kritische Pfade wie Flavor-Text zu deaktivieren
DISABLE_TELEMETRYAuf 1 setzen, um sich von Statsig-Telemetrie abzumelden (beachten Sie, dass Statsig-Events keine Benutzerdaten wie Code, Dateipfade oder Bash-Befehle enthalten)
HTTP_PROXYHTTP-Proxy-Server für Netzwerkverbindungen angeben
HTTPS_PROXYHTTPS-Proxy-Server für Netzwerkverbindungen angeben
MAX_MCP_OUTPUT_TOKENSMaximale Anzahl von Tokens, die in MCP-Tool-Antworten erlaubt sind. Claude Code zeigt eine Warnung an, wenn die Ausgabe 10.000 Tokens überschreitet (Standard: 25000)
MAX_THINKING_TOKENSEin Denkbudget für das Modell erzwingen
MCP_TIMEOUTTimeout in Millisekunden für MCP-Server-Start
MCP_TOOL_TIMEOUTTimeout in Millisekunden für MCP-Tool-Ausführung
NO_PROXYListe von Domains und IPs, an die Anfragen direkt gestellt werden, unter Umgehung des Proxys
USE_BUILTIN_RIPGREPAuf 0 setzen, um system-installiertes rg anstelle des mit Claude Code enthaltenen rg zu verwenden
VERTEX_REGION_CLAUDE_3_5_HAIKURegion für Claude 3.5 Haiku bei Verwendung von Vertex AI überschreiben
VERTEX_REGION_CLAUDE_3_5_SONNETRegion für Claude Sonnet 3.5 bei Verwendung von Vertex AI überschreiben
VERTEX_REGION_CLAUDE_3_7_SONNETRegion für Claude 3.7 Sonnet bei Verwendung von Vertex AI überschreiben
VERTEX_REGION_CLAUDE_4_0_OPUSRegion für Claude 4.0 Opus bei Verwendung von Vertex AI überschreiben
VERTEX_REGION_CLAUDE_4_0_SONNETRegion für Claude 4.0 Sonnet bei Verwendung von Vertex AI überschreiben
VERTEX_REGION_CLAUDE_4_1_OPUSRegion für Claude 4.1 Opus bei Verwendung von Vertex AI überschreiben

Konfigurationsoptionen

Um Ihre Konfigurationen zu verwalten, verwenden Sie die folgenden Befehle:

  • Einstellungen auflisten: claude config list
  • Eine Einstellung anzeigen: claude config get <schlüssel>
  • Eine Einstellung ändern: claude config set <schlüssel> <wert>
  • Zu einer Einstellung hinzufügen (für Listen): claude config add <schlüssel> <wert>
  • Aus einer Einstellung entfernen (für Listen): claude config remove <schlüssel> <wert>

Standardmäßig ändert config Ihre Projektkonfiguration. Um Ihre globale Konfiguration zu verwalten, verwenden Sie das Flag --global (oder -g).

Globale Konfiguration

Um eine globale Konfiguration zu setzen, verwenden Sie claude config set -g <schlüssel> <wert>:

SchlüsselBeschreibungBeispiel
autoUpdatesVERALTET. Verwenden Sie stattdessen die Umgebungsvariable DISABLE_AUTOUPDATER.false
preferredNotifChannelWo Sie Benachrichtigungen erhalten möchten (Standard: iterm2)iterm2, iterm2_with_bell, terminal_bell oder notifications_disabled
themeFarbthemadark, light, light-daltonized oder dark-daltonized
verboseOb vollständige Bash- und Befehlsausgaben angezeigt werden sollen (Standard: false)true

Für Claude verfügbare Tools

Claude Code hat Zugriff auf eine Reihe mächtiger Tools, die ihm helfen, Ihre Codebasis zu verstehen und zu modifizieren:

ToolBeschreibungBerechtigung erforderlich
BashFührt Shell-Befehle in Ihrer Umgebung ausJa
EditMacht gezielte Bearbeitungen an bestimmten DateienJa
GlobFindet Dateien basierend auf MusterabgleichNein
GrepSucht nach Mustern in DateiinhaltenNein
MultiEditFührt mehrere Bearbeitungen an einer einzelnen Datei atomisch durchJa
NotebookEditModifiziert Jupyter-Notebook-ZellenJa
NotebookReadLiest und zeigt Jupyter-Notebook-Inhalte anNein
ReadLiest den Inhalt von DateienNein
TaskFührt einen Sub-Agent aus, um komplexe, mehrstufige Aufgaben zu bewältigenNein
TodoWriteErstellt und verwaltet strukturierte AufgabenlistenNein
WebFetchRuft Inhalte von einer angegebenen URL abJa
WebSearchFührt Websuchen mit Domain-Filterung durchJa
WriteErstellt oder überschreibt DateienJa

Berechtigungsregeln können mit /allowed-tools oder in Berechtigungseinstellungen konfiguriert werden. Siehe auch Tool-spezifische Berechtigungsregeln.

Tools mit Hooks erweitern

Sie können benutzerdefinierte Befehle vor oder nach jeder Tool-Ausführung mit Claude Code Hooks ausführen.

Zum Beispiel könnten Sie automatisch einen Python-Formatter ausführen, nachdem Claude Python-Dateien modifiziert hat, oder Modifikationen an Produktionskonfigurationsdateien verhindern, indem Sie Write-Operationen zu bestimmten Pfaden blockieren.

Siehe auch