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

Workflow-Speicher statt Tooling: Warum Kontext laden besser ist als gigantische Prompts
Statt Anweisungen in Prompts zu stapeln, lade workflow-spezifische Checklisten bei Bedarf – Release-Checkliste, Hotfix-Regeln, Migrationsschritte – und entferne sie nach Abschluss.

MiniMax M2.7 Q8_0 128K auf 2x3090 mit CPU-Offloading – Benchmarks und Konfiguration aus der Praxis
Ein Benutzer führt erfolgreich MiniMax M2.7 mit Q8_0 und 128K Kontext auf zwei RTX 3090 plus DDR4 RAM aus, erreicht ~50 tps Prompt-Verarbeitung und ~10 tps Token-Generierung und teilt seine llama-Server-Flags.

Die Schwiegermutter-Methode: Claudias Freundlichkeit für gnadenlose Code-Reviews nutzen
Ein Reddit-Nutzer bringt Claude dazu, Code hart zu reviewen, indem er den Code als von einer verhassten Schwiegermutter geschrieben darstellt. Das Ergebnis: 27 gefundene Probleme von 4 feindseligen Reviewer-Agenten nach 31 Minuten tiefer Analyse.

OpenClaw in Ollamas Docker-Container ausführen für einfachere Netzwerke
Ein Reddit-Nutzer zeigt, wie man OpenClaw im offiziellen ollama/ollama Docker-Container installiert, sodass OpenClaw über localhost mit Ollama kommuniziert, ohne host.docker.internal oder zusätzliche Netzwerkkonfiguration. Nachteil: höherer RAM-Verbrauch.