Пользовательский хук PostToolUse для загрузки CLAUDE.md по требованию вне дерева проекта

✍️ OpenClawRadar📅 Опубликовано: 18 апреля 2026 г.🔗 Source
Пользовательский хук PostToolUse для загрузки CLAUDE.md по требованию вне дерева проекта
Ad

Поведение загрузки CLAUDE.md в Claude Code

В источнике подробно описано, как Claude Code обрабатывает файлы CLAUDE.md в различных условиях:

  • Иерархическая загрузка: При запуске сессии в подкаталоге загружаются как локальный файл CLAUDE.md, так и файлы CLAUDE.md из родительских каталогов. Пример: сессия в root/a/ загружает и root/a/CLAUDE.md, и root/CLAUDE.md.
  • Загрузка по требованию для дочерних каталогов: Дочерние каталоги корневого каталога текущей сессии загружают свои файлы CLAUDE.md, когда Claude обращается к файлам в этих каталогах. Пример: сессия в root/ загружает root/CLAUDE.md изначально, затем загружает root/a/CLAUDE.md, когда Claude читает файл в root/a/.
  • Доступ к дополнительным каталогам через флаги: Использование --add-dir с CLAUDE_CODE_ADDITIONAL_DIRECTORIES_CLAUDE_MD=1 позволяет получить доступ к файлам CLAUDE.md в каталогах за пределами дерева проекта, но они загружаются при запуске сессии, а не по требованию.

Проблема: файлы CLAUDE.md из внешних каталогов не загружаются по требованию

Автор отмечает, что при работе в одном проекте и указании Claude читать файлы из каталогов за пределами дерева каталогов сессии, любые файлы CLAUDE.md в этих внешних каталогах не загружаются автоматически. Это создает проблемы для постепенного раскрытия контекста и требует ручного вмешательства каждый раз.

Ad

Решение: пользовательский хук PostToolUse

Решение включает создание хука PostToolUse, который:

  • Проверяет, работает ли Claude за пределами дерева проекта при каждом вызове инструмента
  • Поднимается вверх от этого каталога в поисках файлов CLAUDE.md
  • Если найден, завершается с кодом 2, чтобы передать инструкции Claude, указывая ему прочитать их
  • Отслеживает, какие файлы уже были представлены в сеансе, во временном файле с областью действия сессии, чтобы избежать повторных инструкций

Хук SessionStop очищает временный файл, используемый для отслеживания. Автор предоставляет скрипт под названием check_claude_md.py (исходный код указан в оригинальном посте), который реализует эту функциональность хука PostToolUse.

Практическая реализация

Данный подход решает конкретное ограничение, когда файлы CLAUDE.md из внешних каталогов загружаются только при запуске сессии при использовании флага --add-dir с CLAUDE_CODE_ADDITIONAL_DIRECTORIES_CLAUDE_MD=1. Перехватывая вызовы инструментов и проверяя операции за пределами дерева проекта, хук обеспечивает загрузку по требованию, аналогично тому, как работают дочерние каталоги внутри дерева проекта.

Такой пользовательский хук полезен для разработчиков, которые часто работают с несколькими проектами или нуждаются в ссылках на общие файлы контекста из внешних каталогов без необходимости каждый раз вручную указывать Claude читать файлы CLAUDE.md.

📖 Прочитать полный источник: r/ClaudeAI

Ad

👀 Смотрите также

Как сократить расходы на OpenClaw Agent на 80% с помощью смены модели
Советы

Как сократить расходы на OpenClaw Agent на 80% с помощью смены модели

Пользователь отслеживал использование токенов в течение 14 дней и обнаружил, что 67% расходов приходилось на задачи, где дешевые модели Flash соответствовали качеству Opus. Переход на Flash по умолчанию и использование /model во время сессии сократили расходы с ~$170 до ~$35 в месяц.

OpenClawRadar
Запуск OpenClaw на Raspberry Pi Model B с использованием бесплатных API
Советы

Запуск OpenClaw на Raspberry Pi Model B с использованием бесплатных API

OpenClaw стабильно работает на Raspberry Pi Model B с бесплатными API, включая Google Gemma 4 31B IT (~20 RPM, безлимитный контекст) и Gemini Flash, при этом Firefox headless превосходит Chromium для автоматизации браузера.

OpenClawRadar
Практические инсайты по использованию OpenClaw из личного опыта
Советы

Практические инсайты по использованию OpenClaw из личного опыта

Пользователь Reddit делится семью конкретными уроками, полученными при использовании OpenClaw, охватывающими проблемы настройки, развертывание виртуальных машин, интеграцию Skills vs. MCP, организацию контекста, безопасность учетных данных, использование нескольких агентов и стратегии выбора моделей.

OpenClawRadar
Дизайн Клода: 7 советов, как не выходить за рамки своих возможностей
Советы

Дизайн Клода: 7 советов, как не выходить за рамки своих возможностей

Сначала зафиксируйте бриф в обычном чате Claude, настройте дизайн-систему до первого промпта, прикрепляйте референсы в виде скриншотов, ссылайтесь на поддиректории, а не на целые репозитории, используйте слайдеры для небольших правок, вставляйте инлайн-комментарии в чат как резервную копию, выбирайте формат экспорта под конечную платформу.

OpenClawRadar