Claude Code Einstellungen
Lernen Sie, wie Sie Claude Code mit globalen und projektspezifischen Einstellungen, Themes und Umgebungsvariablen konfigurieren.
Claude Code bietet verschiedene Einstellungsmöglichkeiten, um sein Verhalten an Ihre Bedürfnisse anzupassen. Sie können Claude Code konfigurieren, indem Sie claude config
in Ihrem Terminal ausführen oder den Befehl /config
bei Verwendung des interaktiven REPL nutzen.
Konfigurationshierarchie
Die neue 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 unter .claude/settings.json
für gemeinsame Einstellungen und .claude/settings.local.json
für lokale Projekteinstellungen gespeichert. Claude Code wird git so konfigurieren, dass .claude/settings.local.json
ignoriert wird, wenn sie erstellt wird.
Für Unternehmensinstallationen von Claude Code unterstützen wir auch unternehmensweite Richtlinieneinstellungen. Diese haben Vorrang vor Benutzer- und Projekteinstellungen. Systemadministratoren können Richtlinien unter /Library/Application Support/ClaudeCode/policies.json
auf macOS und /etc/claude-code/policies.json
auf Linux und Windows via WSL bereitstellen.
Einstellungspriorität
Einstellungen werden in der Reihenfolge ihrer Priorität angewendet, wobei spätere Quellen frühere Quellen überschreiben:
- Benutzereinstellungen
- Gemeinsame Projekteinstellungen
- Lokale Projekteinstellungen
- Kommandozeilenargumente
- Unternehmensrichtlinien
Konfigurationsoptionen
Claude Code unterstützt globale und projektspezifische Konfigurationen.
Verwenden Sie die folgenden Befehle zur Verwaltung Ihrer Konfigurationen:
- Einstellungen auflisten:
claude config list
- Eine Einstellung anzeigen:
claude config get <key>
- Eine Einstellung ändern:
claude config set <key> <value>
- Zu einer Einstellung hinzufügen (für Listen):
claude config add <key> <value>
- Von einer Einstellung entfernen (für Listen):
claude config remove <key> <value>
Standardmäßig ändert config
Ihre Projektkonfiguration. Um Ihre globale Konfiguration zu verwalten, verwenden Sie die Option --global
(oder -g
).
Globale Konfiguration
Um eine globale Konfiguration festzulegen, verwenden Sie claude config set -g <key> <value>
:
Key | Value | Description |
---|---|---|
autoUpdaterStatus | disabled oder enabled | Auto-Updater aktivieren oder deaktivieren (Standard: enabled ) |
env | JSON (z.B. '{"FOO": "bar"}' ) | Umgebungsvariablen, die auf jede Sitzung angewendet werden |
preferredNotifChannel | iterm2 , iterm2_with_bell , terminal_bell , oder notifications_disabled | Wo Sie Benachrichtigungen erhalten möchten (Standard: iterm2 ) |
theme | dark , light , light-daltonized , oder dark-daltonized | Farbthema |
verbose | true oder false | Ob vollständige Bash- und Befehlsausgaben angezeigt werden sollen (Standard: false ) |
Projektkonfiguration
Verwalten Sie die Projektkonfiguration mit claude config set <key> <value>
(ohne die -g
Option):
Key | Value | Description |
---|---|---|
allowedTools | Array von Tools | Welche Tools ohne manuelle Genehmigung ausgeführt werden können |
ignorePatterns | Array von Glob-Strings | Welche Dateien/Verzeichnisse bei der Verwendung von Tools ignoriert werden |
Zum Beispiel:
Berechtigungen
Sie können die Tool-Berechtigungen von Claude Code mit /allowed-tools
verwalten. Diese Benutzeroberfläche listet alle Berechtigungsregeln und die settings.json-Datei auf, aus der sie stammen.
- Allow-Regeln erlauben Claude Code die Verwendung des angegebenen Tools ohne weitere manuelle Genehmigung.
- Deny-Regeln verhindern die Verwendung des angegebenen Tools durch Claude Code. Deny-Regeln haben Vorrang vor Allow-Regeln.
Berechtigungsregeln verwenden das Format: Tool(optionaler-Spezifizierer)
.
Zum Beispiel würde das Hinzufügen von WebFetch
zur Liste der Allow-Regeln die Verwendung des Web-Fetch-Tools ohne Benutzer-Genehmigung erlauben. Siehe die Liste der für Claude verfügbaren Tools (verwenden Sie den Namen in Klammern, wenn angegeben.)
Einige Tools verwenden den optionalen Spezifizierer für eine feinere Berechtigungskontrolle. Zum Beispiel würde eine Allow-Regel mit WebFetch(domain:example.com)
Abrufe von example.com erlauben, aber nicht von anderen URLs.
Bash-Regeln können exakte Übereinstimmungen wie Bash(npm run build)
sein oder Präfix-Übereinstimmungen, wenn sie mit :*
enden, wie Bash(npm run test:*)
Read()
und Edit()
-Regeln folgen der gitignore-Spezifikation. Muster werden relativ zum Verzeichnis aufgelöst, das .claude/settings.json
enthält. Um einen absoluten Pfad zu referenzieren, verwenden Sie //
. Für einen Pfad relativ zu Ihrem Home-Verzeichnis verwenden Sie ~/
. Zum Beispiel Read(//tmp/build_cache)
oder Edit(~/.zshrc)
. Claude wird auch bestmöglich versuchen, Read- und Edit-Regeln auf andere dateibezogene Tools wie Grep, Glob und LS anzuwenden.
MCP-Tool-Namen folgen dem Format: mcp__server_name__tool_name
wobei:
server_name
der Name des MCP-Servers ist, wie er in Claude Code konfiguriert wurdetool_name
das spezifische Tool ist, das von diesem Server bereitgestellt wird
Weitere Beispiele:
Regel | Beschreibung |
---|---|
Bash(npm run build) | Entspricht dem exakten Bash-Befehl npm run build . |
Bash(npm run test:*) | Entspricht Bash-Befehlen, die mit npm run test beginnen. Siehe Hinweis unten zur Behandlung von Befehlstrennzeichen. |
Edit(~/.zshrc) | Entspricht der Datei ~/.zshrc . |
Read(node_modules/**) | Entspricht jedem node_modules -Verzeichnis. |
mcp__puppeteer__puppeteer_navigate | Entspricht dem puppeteer_navigate -Tool vom puppeteer MCP-Server. |
WebFetch(domain:example.com) | Entspricht Fetch-Anfragen an example.com |
Claude Code erkennt Befehlstrennzeichen (wie &&
), sodass eine Präfix-Übereinstimmungsregel
wie Bash(safe-cmd:*)
keine Berechtigung gibt, den Befehl safe-cmd && other-cmd
auszuführen
Auto-Updater Berechtigungsoptionen
Wenn Claude Code erkennt, dass es nicht über ausreichende Berechtigungen zum Schreiben in Ihr globales npm-Präfix-Verzeichnis verfügt (erforderlich für automatische Updates), sehen Sie eine Warnung, die auf diese Dokumentationsseite verweist. Detaillierte Lösungen für Auto-Updater-Probleme finden Sie im Fehlerbehebungsleitfaden.
Empfohlen: Erstellen Sie ein neues beschreibbares npm-Präfix
Warum wir diese Option empfehlen:
- Vermeidet Änderungen an Systemverzeichnisberechtigungen
- Erstellt einen sauberen, dedizierten Speicherort für Ihre globalen npm-Pakete
- Folgt den Best Practices für Sicherheit
Da Claude Code sich aktiv weiterentwickelt, empfehlen wir die Einrichtung automatischer Updates mit der oben empfohlenen Option.
Deaktivieren des Auto-Updaters
Wenn Sie den Auto-Updater lieber deaktivieren möchten, anstatt Berechtigungen zu korrigieren, können Sie Folgendes verwenden:
Optimieren Sie Ihre Terminal-Einrichtung
Claude Code funktioniert am besten, wenn Ihr Terminal richtig konfiguriert ist. Befolgen Sie diese Richtlinien, um Ihre Erfahrung zu optimieren.
Unterstützte Shells:
- Bash
- Zsh
- Fish
Themes und Erscheinungsbild
Claude kann das Theme Ihres Terminals nicht steuern. Das wird von Ihrer Terminal-Anwendung gehandhabt. Sie können Claude Codes Theme während des Onboardings oder jederzeit über den /config
-Befehl an Ihr Terminal anpassen
Zeilenumbrüche
Sie haben mehrere Möglichkeiten, Zeilenumbrüche in Claude Code einzufügen:
- Schnelles Escape: Tippen Sie
\
gefolgt von Enter für einen Zeilenumbruch - Tastenkombination: Drücken Sie Option+Enter (Meta+Enter) mit entsprechender Konfiguration
So richten Sie Option+Enter in Ihrem Terminal ein:
Für Mac Terminal.app:
- Öffnen Sie Einstellungen → Profile → Tastatur
- Aktivieren Sie “Option als Meta-Taste verwenden”
Für iTerm2 und VSCode Terminal:
- Öffnen Sie Einstellungen → Profile → Tasten
- Setzen Sie unter Allgemein die linke/rechte Option-Taste auf “Esc+”
Tipp für iTerm2 und VSCode Benutzer: Führen Sie /terminal-setup
in Claude Code aus, um Shift+Enter automatisch als intuitivere Alternative zu konfigurieren.
Benachrichtigungseinrichtung
Verpassen Sie nie, wenn Claude eine Aufgabe abschließt, mit der richtigen Benachrichtigungskonfiguration:
Terminal-Klingel-Benachrichtigungen
Aktivieren Sie Tonbenachrichtigungen, wenn Aufgaben abgeschlossen sind:
Für macOS-Benutzer: Vergessen Sie nicht, die Benachrichtigungsberechtigungen in Systemeinstellungen → Benachrichtigungen → [Ihre Terminal-App] zu aktivieren.
iTerm 2 Systembenachrichtigungen
Für iTerm 2 Benachrichtigungen bei Aufgabenabschluss:
- Öffnen Sie iTerm 2 Einstellungen
- Navigieren Sie zu Profile → Terminal
- Aktivieren Sie “Klingel stumm schalten” und “Benachrichtigung senden, wenn inaktiv”
- Stellen Sie Ihre bevorzugte Benachrichtigungsverzögerung ein
Beachten Sie, dass diese Benachrichtigungen spezifisch für iTerm 2 sind und nicht im Standard macOS Terminal verfügbar sind.
Umgang mit großen Eingaben
Beim Arbeiten mit umfangreichem Code oder langen Anweisungen:
- Vermeiden Sie direktes Einfügen: Claude Code könnte Probleme mit sehr langen eingefügten Inhalten haben
- Verwenden Sie dateibasierte Workflows: Schreiben Sie Inhalte in eine Datei und lassen Sie Claude sie lesen
- Beachten Sie VS Code-Einschränkungen: Das VS Code-Terminal neigt besonders dazu, lange Einfügungen abzuschneiden
Vim-Modus
Claude Code unterstützt eine Teilmenge von Vim-Tastenbindungen, die mit /vim
aktiviert oder über /config
konfiguriert werden können.
Die unterstützte Teilmenge umfasst:
- Moduswechsel:
Esc
(zu NORMAL),i
/I
,a
/A
,o
/O
(zu INSERT) - Navigation:
h
/j
/k
/l
,w
/e
/b
,0
/$
/^
,gg
/G
- Bearbeitung:
x
,dw
/de
/db
/dd
/D
,cw
/ce
/cb
/cc
/C
,.
(wiederholen)
Umgebungsvariablen
Claude Code unterstützt die folgenden Umgebungsvariablen zur Steuerung seines Verhaltens:
Variable | Zweck |
---|---|
DISABLE_AUTOUPDATER | Auf 1 setzen, um den automatischen Updater zu deaktivieren |
DISABLE_BUG_COMMAND | Auf 1 setzen, um den /bug -Befehl zu deaktivieren |
DISABLE_COST_WARNINGS | Auf 1 setzen, um Kostenwarnungsmeldungen zu deaktivieren |
DISABLE_ERROR_REPORTING | Auf 1 setzen, um die Sentry-Fehlerberichterstattung zu deaktivieren |
DISABLE_TELEMETRY | Auf 1 setzen, um Statsig-Telemetrie zu deaktivieren (beachten Sie, dass Statsig-Events keine Benutzerdaten wie Code, Dateipfade oder Bash-Befehle enthalten) |
HTTP_PROXY | HTTP-Proxy-Server für Netzwerkverbindungen angeben |
HTTPS_PROXY | HTTPS-Proxy-Server für Netzwerkverbindungen angeben |
MCP_TIMEOUT | Timeout in Millisekunden für MCP-Server-Start |
MCP_TOOL_TIMEOUT | Timeout in Millisekunden für MCP-Tool-Ausführung |
Was this page helpful?