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

Einstellungsdateien

Die settings.json-Datei 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 Authentifizierungswert 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-Zeile in Git-Commits und Pull-Requests eingefügt 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...'"}}
modelÜberschreiben Sie das Standardmodell für Claude Code"claude-3-5-sonnet-20241022"
statusLineKonfigurieren Sie eine benutzerdefinierte Statuszeile zur Anzeige des Kontexts. Siehe statusLine-Dokumentation{"type": "command", "command": "~/.claude/statusline.sh"}
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
enableAllProjectMcpServersAutomatisch alle MCP-Server genehmigen, die in Projekt-.mcp.json-Dateien definiert sindtrue
enabledMcpjsonServersListe spezifischer MCP-Server aus .mcp.json-Dateien zur Genehmigung["memory", "github"]
disabledMcpjsonServersListe spezifischer MCP-Server aus .mcp.json-Dateien zur Ablehnung["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 zur Erlaubnis der Tool-Nutzung[ "Bash(git diff:*)" ]
askArray von Berechtigungsregeln zur Bestätigung bei Tool-Nutzung.[ "Bash(git push:*)" ]
denyArray von Berechtigungsregeln zur Verweigerung der Tool-Nutzung. Verwenden Sie dies auch, um sensible Dateien vom Claude Code-Zugriff auszuschließen.[ "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"

Einstellungsrangfolge

Einstellungen werden in der Reihenfolge der Rangfolge 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
  • Rangfolge: Konfigurationen höherer Ebene (Unternehmen) überschreiben die niedrigerer Ebenen (Benutzer/Projekt)
  • Vererbung: Einstellungen werden zusammengeführt, wobei spezifischere Einstellungen zu breiteren hinzufügen oder diese überschreiben

Verfügbarkeit des Systemprompts

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

Ausschluss sensibler Dateien

Um zu verhindern, dass Claude Code auf Dateien mit sensiblen Informationen zugreift (z.B. API-Schlüssel, Geheimnisse, Umgebungsdateien), verwenden Sie die permissions.deny-Einstellung 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, werden für Claude Code völlig unsichtbar sein 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 automatisch für jede Sitzung zu setzen oder einen Satz 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 Name: Wert-Format)
ANTHROPIC_MODELName des benutzerdefinierten Modells (siehe Modellkonfiguration)
ANTHROPIC_SMALL_FAST_MODELName des Haiku-Klasse-Modells für Hintergrundaufgaben
ANTHROPIC_SMALL_FAST_MODEL_AWS_REGIONAWS-Region für das kleine/schnelle 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_TIMEOUT_MSMaximaler Timeout, den das Modell für lang laufende Bash-Befehle setzen kann
BASH_MAX_OUTPUT_LENGTHMaximale Anzahl von Zeichen in Bash-Ausgaben, bevor sie in der Mitte gekürzt werden
CLAUDE_BASH_MAINTAIN_PROJECT_WORKING_DIRZum ursprünglichen Arbeitsverzeichnis nach jedem Bash-Befehl zurückkehren
CLAUDE_CODE_API_KEY_HELPER_TTL_MSIntervall in Millisekunden, in dem Anmeldedaten aktualisiert werden sollen (bei Verwendung von apiKeyHelper)
CLAUDE_CODE_IDE_SKIP_AUTO_INSTALLAutomatische Installation von IDE-Erweiterungen überspringen
CLAUDE_CODE_MAX_OUTPUT_TOKENSMaximale Anzahl von Ausgabe-Token für die meisten Anfragen festlegen
CLAUDE_CODE_USE_BEDROCKBedrock verwenden
CLAUDE_CODE_USE_VERTEXVertex verwenden
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_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
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 Geschmackstext zu deaktivieren
DISABLE_TELEMETRYAuf 1 setzen, um sich von Statsig-Telemetrie abzumelden (beachten Sie, dass Statsig-Ereignisse 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_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
MAX_MCP_OUTPUT_TOKENSMaximale Anzahl von Token, die in MCP-Tool-Antworten erlaubt sind (Standard: 25000)
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 --global (oder -g) Flag.

Globale Konfiguration

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

SchlüsselBeschreibungBeispiel
autoUpdatesOb automatische Updates aktiviert werden sollen (Standard: true). Wenn aktiviert, lädt und installiert Claude Code automatisch Updates im Hintergrund herunter. Updates werden angewendet, wenn Sie Claude Code neu starten.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
LSListet Dateien und Verzeichnisse aufNein
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 Subagenten 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.

Erweitern von Tools mit Hooks

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 auf bestimmte Pfade blockieren.

Siehe auch