Пользовательский хук 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

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

Основные пользовательские инструкции для Claude, чтобы предотвратить типичные раздражающие моменты
Советы

Основные пользовательские инструкции для Claude, чтобы предотвратить типичные раздражающие моменты

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

OpenClawRadar
10 практических советов по использованию Claude Code от пользователя Reddit
Советы

10 практических советов по использованию Claude Code от пользователя Reddit

Пользователь Reddit делится конкретными техниками для Claude Code, включая использование /effort high с 'ultrathink' для расширенного мышления, создание изолированных ветвей диалога с помощью /fork и настройку пользовательских хуков в .claude/settings.json.

OpenClawRadar
在Claude Code之上构建处理上下文与协调的流程层
Советы

在Claude Code之上构建处理上下文与协调的流程层

Команда рассказывает, как они построили процессный слой поверх Claude Code, который объявляет входы/выходы для каждого этапа разработки, уменьшая потерю контекста при передаче задач и обеспечивая совокупный рост продуктивности без опоры на индивидуальную дисциплину.

OpenClawRadar
Задачи Cron с резервным ИИ могут привести к неожиданным расходам на API при зависании инструментов.
Советы

Задачи Cron с резервным ИИ могут привести к неожиданным расходам на API при зависании инструментов.

Пользователь сообщил, что cron-задача в OpenClaw, проверяющая почтовый ящик каждые 10 минут с помощью himalaya, сожгла около $60 кредитов API, когда соединение IMAP начало зависать, запуская агентов Claude при каждом таймауте, несмотря на инструкции задействовать ИИ только для входящих писем.

OpenClawRadar