Benutzerdefiniertes PostToolUse-Hook für On-Demand-Laden von CLAUDE.md außerhalb des Projektbaums

CLAUDE.md-Ladeverhalten in Claude Code
Die Quelle beschreibt, wie Claude Code CLAUDE.md-Dateien unter verschiedenen Bedingungen verarbeitet:
- Hierarchisches Laden: Wenn eine Sitzung in einem Unterverzeichnis gestartet wird, werden sowohl die lokale CLAUDE.md als auch die CLAUDE.md-Dateien des übergeordneten Verzeichnisses geladen. Beispiel: Sitzung in
root/a/lädt sowohlroot/a/CLAUDE.mdals auchroot/CLAUDE.md. - Bei-Bedarf-Laden von Unterverzeichnissen: Unterverzeichnisse des Wurzelverzeichnisses der aktuellen Sitzung laden ihre CLAUDE.md-Dateien, wenn Claude auf Dateien in diesen Verzeichnissen zugreift. Beispiel: Sitzung in
root/lädtroot/CLAUDE.mdinitial, dann lädtroot/a/CLAUDE.md, wenn Claude eine Datei inroot/a/liest. - Zusätzlicher Verzeichniszugriff über Flags: Die Verwendung von
--add-dirmitCLAUDE_CODE_ADDITIONAL_DIRECTORIES_CLAUDE_MD=1ermöglicht den Zugriff auf CLAUDE.md-Dateien in Verzeichnissen außerhalb des Projektbaums, aber diese werden zu Sitzungsbeginn geladen und nicht bei Bedarf.
Das Problem: Externe Verzeichnis-CLAUDE.md-Dateien werden nicht bei Bedarf geladen
Der Autor stellt fest, dass beim Arbeiten in einem Projekt und dem Anweisen von Claude, Dateien aus Verzeichnissen außerhalb des Verzeichnisbaums der Sitzung zu lesen, alle CLAUDE.md-Dateien in diesen externen Verzeichnissen nicht automatisch geladen werden. Dies führt zu Problemen bei der progressiven Offenlegung von Kontext und erfordert jedes Mal manuelles Eingreifen.
Lösung: Benutzerdefinierter PostToolUse-Hook
Die Lösung umfasst die Erstellung eines PostToolUse-Hooks, der:
- Bei jedem Tool-Aufruf prüft, ob Claude außerhalb des Projektbaums arbeitet
- Von diesem Verzeichnis aus nach oben geht und nach CLAUDE.md-Dateien sucht
- Wenn gefunden, mit Code 2 beendet, um Anweisungen an Claude zurückzugeben, die ihm sagen, diese zu lesen
- Verfolgt, welche Dateien bereits in einer sitzungsbezogenen temporären Datei aufgetaucht sind, um wiederholte Anweisungen zu vermeiden
Ein SessionStop-Hook räumt die für die Verfolgung verwendete temporäre Datei auf. Der Autor stellt ein Skript namens check_claude_md.py bereit (Quelle im Originalbeitrag verlinkt), das diese PostToolUse-Hook-Funktionalität implementiert.
Praktische Implementierung
Der Ansatz behebt die spezifische Einschränkung, bei der externe Verzeichnis-CLAUDE.md-Dateien nur zu Sitzungsbeginn geladen werden, wenn das Flag --add-dir mit CLAUDE_CODE_ADDITIONAL_DIRECTORIES_CLAUDE_MD=1 verwendet wird. Durch das Abfangen von Tool-Aufrufen und das Prüfen auf Operationen außerhalb des Projektbaums ermöglicht der Hook ein bei-Bedarf-Laden ähnlich wie bei Unterverzeichnissen innerhalb des Projektbaums.
Diese Art von benutzerdefiniertem Hook ist nützlich für Entwickler, die häufig über mehrere Projekte hinweg arbeiten oder auf gemeinsame Kontextdateien aus externen Verzeichnissen verweisen müssen, ohne Claude jedes Mal manuell anweisen zu müssen, CLAUDE.md-Dateien zu lesen.
📖 Read the full source: r/ClaudeAI
👀 Siehe auch

Diagnose von Leistungseinbußen bei Claude: Ursachen und Lösungen
Eine praktische Aufschlüsselung, warum die Codierergebnisse von Claude mit der Zeit nachlassen, und umsetzbare Lösungen, einschließlich Kontextmanagement und Prompt-Hygiene.

OpenClaw-Absturzschleife-Debugging: Eine 5-Punkte-Checkliste
Ein Reddit-Beitrag aus r/openclaw bietet eine fünfstufige Checkliste zur schnellen Diagnose von Absturzschleifen in OpenClaw-Agenten oder Gateways, die sich auf Fehlerform, Host-Auslastung, Provider-Latenz, Konfigurationsunterschiede und Alarmierung konzentriert.

Claude-Prompt zur Visualisierung der Denkstruktur: Absicht, Realität, Lücke
Ein Reddit-Nutzer teilt einen 100-Wörter-Prompt für Claude, der die KI auffordert, die strukturellen Muster in Gesprächen zu erkennen und zurückzuspiegeln – kategorisiert als Intent (was du WILLST), Reality (was IST) und Gap (was UNGELÖST ist) – anstatt des Inhalts selbst.

CLAUDE.md verwenden, um Projektkonventionen über Claude AI-Sitzungen hinweg beizubehalten
Fügen Sie eine CLAUDE.md-Datei in Ihr Projektstammverzeichnis ein, und Claude liest sie zu Beginn jeder Sitzung. Es merkt sich Ihre TypeScript-Regeln, keine Standard-Exporte, Testkonventionen und Architekturkontext, ohne dass Sie alles neu erklären müssen.