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

Behebung von Claudes Zeit-Halluzinationen in Claude Code mit Hooks
Ein Nutzer entdeckte, dass Claude Code keinen Zugriff auf eine Echtzeituhr hat, was dazu führt, dass es zu unpassenden Zeiten Handlungen wie 'etwas ausruhen' vorschlägt. Die Lösung besteht darin, einen einzeiligen Hook in ~/.claude/settings.json hinzuzufügen, der die aktuelle Zeit bei jeder Nachricht in Claudes Kontext einfügt.

Biss- vs. Knabber-Ansätze für KI-Codierungsagenten
Ein NLP-Forscher erklärt zwei mentale Modelle für die Arbeit mit KI-Codierungsagenten: den 'Biss'-Ansatz mit umfassenden Anleitungsdateien wie claude.md und den 'Knappern'-Ansatz mit schrittweiser Verbesserung durch mehrere Durchgänge.

20 Claude Code-Befehle, die jeder Entwickler kennen sollte
Ein Reddit-Beitrag listet 20 Claude Code-Befehle zum Stoppen von Aufgaben, Verwalten des Kontexts, Verzweigen, Fernsteuerung und Produktivitätskürzel wie /compact, /branch und /simplify.

Gute KI-gestützte Entwicklung findet auf Systemebene statt, nicht auf Aufgabenebene
Ein Reddit-Nutzer erklärt, wie der Wechsel von der Korrektur von KI-Agenten-Ausgaben zur Gestaltung von Einschränkungen – wie einer Linter-Regel, die UI-Navigation erzwingt – ganze Fehlerklassen dauerhaft verhindert.