Sehen Sie, was in den Kontext geladen wurde
Der Befehl/context zeigt alles, was das Kontextfenster für die aktuelle Sitzung belegt, aufgeschlüsselt nach Kategorie: Systemaufforderung, Systemtools, MCP-Tools, benutzerdefinierte Subagenten mit der Quelle, aus der jeder geladen wurde, Speicherdateien, Skills und Konversationsnachrichten. Führen Sie ihn zuerst aus, um zu bestätigen, ob Ihre CLAUDE.md, Regeln oder Skill-Beschreibungen überhaupt vorhanden sind. Der Skills-Bereich in /context enthält auch gebündelte Skills, die /skills nicht auflistet.
Für Details zu einer bestimmten Kategorie folgen Sie mit dem dedizierten Befehl:
Wenn eine Memory-Datei in der
/context-Aufschlüsselung fehlt, überprüfen Sie ihren Speicherort anhand von wie CLAUDE.md-Dateien geladen werden. CLAUDE.md-Dateien in Unterverzeichnissen werden bei Bedarf geladen statt beim Sitzungsstart, daher erscheinen sie nicht in dieser Aufschlüsselung.
Wenn /context bestätigt, dass die Datei geladen wurde, Claude aber immer noch einer bestimmten Anweisung nicht folgt, liegt das Problem wahrscheinlich darin, wie die Anweisung geschrieben ist, nicht darin, ob sie geladen wurde. CLAUDE.md funktioniert gut für die Art von Anleitung, die Sie einem neuen Teamkollegen geben würden, wie z. B. Projektkonventionen, Build-Befehle und wo Dateien hingehören.
Die Einhaltung sinkt, wenn eine Anweisung mehrdeutig genug ist, um mehrere Interpretationen zuzulassen, wenn zwei Dateien widersprüchliche Anweisungen geben, oder wenn die Datei so lang geworden ist, dass einzelne Regeln weniger Aufmerksamkeit erhalten. Schreiben Sie effektive Anweisungen behandelt die Spezifität, Größe und Strukturmuster, die die Einhaltung hoch halten.
CLAUDE.md und Berechtigungen lösen unterschiedliche Probleme. CLAUDE.md teilt Claude mit, wie Ihr Projekt funktioniert, damit es gute Entscheidungen trifft. Berechtigungen und Hooks erzwingen Grenzen unabhängig davon, was Claude entscheidet. Verwenden Sie CLAUDE.md für „wir machen es hier so“. Verwenden Sie Berechtigungen oder Hooks für Sicherheitsgrenzen und alles, das niemals passieren darf, wenn Sie eine Garantie statt einer Anleitung benötigen.
Überprüfen Sie aufgelöste Einstellungen
Einstellungen werden über verwaltete, Benutzer-, Projekt- und lokale Bereiche zusammengeführt. Verwaltete Einstellungen gelten zuerst, wenn sie vorhanden sind. Bei den übrigen überschreibt der nähere Bereich den breiteren in der Reihenfolge lokal, dann Projekt, dann Benutzer. Einige Einstellungen können auch durch Befehlszeilenflaggen oder Umgebungsvariablen festgelegt werden, die als eine weitere Überschreibungsebene fungieren. Wenn eine Einstellung nicht angewendet zu werden scheint, wird der von Ihnen festgelegte Wert normalerweise durch einen anderen Bereich oder eine Umgebungsvariable überschrieben. Um ungültige Einstellungsdateien zu finden, führen Sieclaude doctor von Ihrem Terminal aus. Es gibt schreibgeschützte Installations- und Einstellungsdiagnosen aus, ohne eine Sitzung zu starten. Für eine vollständige Überprüfung, die auch Fixes vorschlägt und vor deren Anwendung fragt, führen Sie /doctor innerhalb einer Sitzung aus.
Führen Sie /status aus, um zu sehen, welche Einstellungsquellen aktiv sind, einschließlich ob verwaltete Einstellungen wirksam sind. Um zu verstehen, welcher Bereich Claude Code für einen bestimmten Schlüssel verwendet, siehe Einstellungspriorität.
Überprüfen Sie MCP-Server
Führen Sie/mcp aus, um jeden konfigurierten Server, seinen Verbindungsstatus und ob Sie ihn für das aktuelle Projekt genehmigt haben, zu sehen. Ein Server kann korrekt definiert sein, aber aus einigen häufigen Gründen immer noch keine Tools bereitstellen:
- Projektbezogene Server in
.mcp.jsonerfordern eine einmalige Genehmigung. Wenn die Aufforderung verworfen wurde, bleibt der Server deaktiviert, bis Sie ihn von/mcpaus genehmigen. - Ein Server, der nicht startet, wird in
/mcpals fehlgeschlagen angezeigt. Relative Dateipfade incommandoderargssind eine häufige Ursache, da sie gegen das Verzeichnis aufgelöst werden, von dem aus Sie Claude Code gestartet haben, nicht gegen den Speicherort von.mcp.json. - Ein Server, der als verbunden angezeigt wird, aber null Tools auflistet, hat erfolgreich gestartet, gibt aber keine Toolliste zurück. Wählen Sie Reconnect von
/mcp. Wenn die Anzahl bei null bleibt, führen Sieclaude --debug=mcpaus und lesen Sie die Stderr-Ausgabe des Servers im Debug-Protokoll unter~/.claude/debug/<session-id>.txt.
Überprüfen Sie Hooks
Führen Sie/hooks aus, um jeden Hook aufzulisten, der für die aktuelle Sitzung registriert ist, gruppiert nach Ereignis. Wenn ein von Ihnen definierter Hook nicht angezeigt wird, hat Claude Code ihn nicht geladen. Prüfen Sie, ob eine dieser Ursachen vorliegt:
- Der Hook ist in einer eigenständigen Datei definiert. Hooks gehören unter den Schlüssel
"hooks"in einer Einstellungsdatei. - Der Wert von
matcherist ein Array statt einer einzelnen Zeichenkette. Claude Code listet den Eintrag als ungültige Einstellung auf, wenn Sie eine interaktive Sitzung starten, sowie inclaude doctor. Wenn sich das Array unterPreToolUseoderPermissionRequestbefindet, wird auch keiner der anderen Hooks dieser Datei geladen.
- Das Feld
matcherist eine einzelne Zeichenkette, die|verwendet, um mehrere Tool-Namen zu entsprechen, z. B."Edit|Write". Ein,-Trennzeichen ist gleichwertig, sodass"Edit,Write"dieselben Tools entspricht. Vor v2.1.191 wurde ein Komma zur Regex-Auswertung durchgeleitet und der Matcher stimmte nie überein, daher verwenden Sie|, wenn Sie nicht auf v2.1.191 sind. - Ein falsch geschriebener Tool-Name erzeugt einen Matcher, der nichts entspricht, sodass der Hook stillschweigend fehlschlägt.
settings.json bearbeiten, wird die Änderung in der laufenden Sitzung nach einer kurzen Dateistabilitätsverzögerung wirksam, auch wenn Sie die Datei oder den .claude/-Ordner des Projekts selbst nach dem Start der Sitzung erstellen. Sie müssen nicht neu starten. Vor v2.1.257 erkannte Claude Code Bearbeitungen in einem .claude/-Ordner, der nach dem Start der Sitzung erstellt wurde, nicht.
Wenn /hooks einige Sekunden nach dem Speichern immer noch die alte Definition anzeigt, führen Sie /hooks erneut aus, um die Ansicht zu aktualisieren.
Wenn /hooks den Hook anzeigt, aber er wird immer noch nicht ausgelöst, besteht der nächste Schritt darin, die Hook-Auswertung live zu beobachten. Starten Sie eine Sitzung mit claude --debug und lösen Sie den Tool-Aufruf aus. Das Debug-Protokoll zeichnet jedes Ereignis, welche Matcher überprüft wurden, und den Exit-Code und die Ausgabe des Hooks auf. Siehe Debug Hooks für das Protokollformat und Hooks Troubleshooting für häufige Fehlermuster.
Testen Sie gegen eine saubere Konfiguration
Beginnen Sie mitclaude --safe-mode, das eine Sitzung mit deaktivierten Anpassungen startet, darunter:
CLAUDE.md- Skills, Plugins und Hooks
- MCP-Server
- Benutzerdefinierte Befehle und Agenten
- Benutzerdefinierte Ausgabestile
- Benutzerdefinierte Tastenkombinationen
CLAUDE.md und MCP-Server sind ausgeschaltet.
Wenn das Problem im abgesicherten Modus bestehen bleibt oder Ihre Einstellungen selbst verdächtig sind, starten Sie eine Sitzung ohne Ihre eigene Konfiguration und prüfen Sie, ob das Problem weiterhin auftritt.
1
Erstellen Sie ein leeres Verzeichnis und wechseln Sie hinein
Erstellen Sie in Ihrer Shell, während keine Claude Code-Sitzung läuft, das Verzeichnis und wechseln Sie hinein:
- Bash oder Zsh
- PowerShell
2
Starten Sie Claude Code mit einem sauberen Konfigurationsverzeichnis
Setzen Sie in derselben Shell Beim ersten Start durchlaufen Sie erneut die Bildschirme der Ersteinrichtung – ein Zeichen dafür, dass das saubere Konfigurationsverzeichnis wirksam ist. Verwaltete Einstellungen gelten weiterhin, und Konnektoren werden weiterhin geladen, wenn Sie sich mit einem claude.ai-Konto anmelden.
CLAUDE_CONFIG_DIR anstelle von ~/.claude auf ein neues Verzeichnis und übergeben Sie --setting-sources user, um die Projektkonfiguration wie .claude/settings.json, CLAUDE.md und .mcp.json auszuschalten:- Bash oder Zsh
- PowerShell
Die Variable gilt nur für diesen einen Start.
3
Reproduzieren Sie das Problem
Wiederholen Sie in der sauberen Sitzung, was das Problem ausgelöst hat:
- Problem verschwunden: Die Ursache liegt in Ihrer Benutzer- oder Projektkonfiguration. Kopieren Sie
~/.claude.jsonund die Dateien in~/.claudeeinzeln nach~/claude-clean/config. Wenn keine davon das Problem zurückbringt, wechseln Sie in derselben Shell in Ihr Projektverzeichnis und starten Sie Claude Code ohne--setting-sources user. Führen Sie in Bash oder ZshCLAUDE_CONFIG_DIR=~/claude-clean/config claudeaus. In PowerShell ist die Variable noch gesetzt, führen Sie alsoclaudeaus. - Problem bleibt bestehen: Die Ursache liegt außerhalb Ihrer Benutzer- und Projektkonfiguration. Führen Sie
/statusin der Sitzung aus, um nach verwalteten Einstellungen zu suchen, überprüfen Sie Ihre Shell auf Umgebungsvariablen und lesen Sie dann Fehlerbehebung.
Überprüfen Sie häufige Ursachen
Die meisten Konfigurationsüberraschungen lassen sich auf eine kleine Anzahl von Speicherort- und Syntaxregeln zurückführen. Überprüfen Sie diese, bevor Sie einen Fehler annehmen:Verwandte Ressourcen
Für vollständige Referenzen zu jeder Konfigurationsoberfläche siehe die dedizierte Seite:.claude-Verzeichnisreferenz: jeder Konfigurationsdateispeicherort und wer ihn liest- Einstellungen: welche Datei zu verwenden ist und welchen Wert Claude Code verwendet; die Einstellungsreferenz enthält die vollständige Schlüsselliste
- Hooks-Referenz: Ereignisnamen, Payloads und
--debug-Ausgabeformat - MCP: Server-Konfiguration, Genehmigung und
/mcp-Ausgabe - Troubleshooting bei Installation und Anmeldung:
command not found, PATH und Authentifizierungsprobleme - Troubleshooting: Leistung, Hängen und Suchprobleme