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

Посмотрите, что загрузилось в контекст

Команда /context показывает всё, что занимает контекстное окно для текущей сессии, разбитое по категориям: системный prompt, файлы памяти, skills, пользовательские subagents с указанием источника, из которого каждый загружен, MCP tools и сообщения беседы. Запустите её в первую очередь, чтобы подтвердить, присутствуют ли ваши CLAUDE.md, правила или описания skills вообще. Для деталей по конкретной категории используйте специализированную команду: Если файл памяти отсутствует в /memory, проверьте его расположение в соответствии с как загружаются файлы CLAUDE.md. Файлы CLAUDE.md в подпапках загружаются по требованию, когда Claude читает файл в этой папке с помощью инструмента Read, а не при запуске сессии. Если /memory подтверждает, что файл загрузился, но Claude всё ещё не следует конкретной инструкции, проблема, вероятно, в том, как написана инструкция, а не в том, загрузилась ли она. CLAUDE.md хорошо работает для типов рекомендаций, которые вы дали бы новому коллеге, таких как соглашения проекта, команды сборки и где находятся файлы. Соответствие снижается, когда инструкция достаточно расплывчата, чтобы интерпретировать несколькими способами, когда два файла дают противоречивые указания или когда файл вырос настолько, что отдельные правила получают меньше внимания. Напишите эффективные инструкции охватывает специфичность, размер и структурные паттерны, которые поддерживают высокое соответствие.
CLAUDE.md и permissions решают разные проблемы. CLAUDE.md говорит Claude, как работает ваш проект, чтобы он принимал хорошие решения. Permissions и hooks обеспечивают ограничения независимо от того, что решит Claude. Используйте CLAUDE.md для “мы делаем это так здесь”. Используйте permissions или hooks для границ безопасности и всего, что никогда не должно происходить, когда вам нужна гарантия вместо рекомендации.

Проверьте разрешённые параметры

Параметры объединяются в управляемых, пользовательских, проектных и локальных областях. Управляемые параметры всегда выигрывают, когда присутствуют. Среди остальных, более близкая область переопределяет более широкую в порядке локальная, затем проект, затем пользователь. Некоторые параметры также можно устанавливать флагами командной строки или переменными окружения, которые действуют как ещё один слой переопределения. Когда параметр не кажется применяемым, значение, которое вы установили, обычно переопределяется другой областью или переменной окружения. Запустите /doctor, чтобы проверить вашу конфигурацию и установку. Он сообщает о том, что находит, включая неверные файлы параметров, дублирующиеся установки, неиспользуемые расширения и проверенное содержимое CLAUDE.md, которое Claude может вывести из кодовой базы, затем предлагает исправления, которые применяет только после вашего подтверждения. Проверка обрезки CLAUDE.md требует Claude Code v2.1.206 или позже. До версии 2.1.205 /doctor открывал экран диагностики только для чтения, и нажатие f отправляло отчёт Claude для исправления. Из терминала claude doctor выводит диагностику установки и параметров только для чтения без запуска сеанса. Запустите /status, чтобы увидеть, какие источники параметров активны, включая то, действуют ли управляемые параметры. Чтобы понять, какая область выигрывает для данного ключа, см. Как взаимодействуют области.

Проверьте MCP серверы

Запустите /mcp, чтобы увидеть каждый настроенный сервер, его статус подключения и одобрили ли вы его для текущего проекта. Сервер может быть определён правильно, но всё ещё не предоставлять tools по нескольким распространённым причинам:
  • Серверы с областью проекта в .mcp.json требуют одноразового одобрения. Если prompt был отклонён, сервер остаётся отключённым, пока вы не одобрите его из /mcp.
  • Сервер, который не запускается, отображается как failed в /mcp. Относительные пути к файлам в command или args — частая причина, так как они разрешаются относительно каталога, из которого вы запустили Claude Code, а не расположения .mcp.json.
  • Сервер, который показывает как connected, но перечисляет нулевые tools, успешно запустился, но не возвращает список tools. Выберите Reconnect из /mcp. Если количество остаётся нулевым, запустите claude --debug mcp, чтобы увидеть вывод stderr сервера.
Для расположений конфигурации и правил области см. MCP.

Проверьте hooks

Запустите /hooks, чтобы перечислить каждый hook, зарегистрированный для текущей сессии, сгруппированный по событиям. Если hook, который вы определили, не появляется, он не читается: hooks идут под ключом "hooks" в файле параметров, а не в отдельном файле. Если hook появляется, но не срабатывает, обычно причина в matcher. Проверьте его на эти ошибки:
  • Поле matcher — это одна строка, которая использует | для соответствия нескольким именам tools, например "Edit|Write". Разделитель , эквивалентен, поэтому "Edit,Write" соответствует тем же tools. До v2.1.191 запятая переходила к оценке regex и matcher никогда не совпадал, поэтому используйте |, если вы ещё не на v2.1.191.
  • Неправильное имя tool создаёт matcher, который ничему не соответствует, поэтому hook молча не срабатывает.
  • Значение массива — это ошибка схемы: Claude Code показывает уведомление об ошибке параметров и отклоняет весь файл параметров пользователя, проекта или локальных параметров, claude doctor сообщает об ошибке валидации, и ни один hook из этого файла не появляется в /hooks. В управляемых параметрах удаляется только неправильная запись, и другие hooks из этого файла всё ещё применяются.
Правки в settings.json вступают в силу в работающей сессии после краткой задержки стабильности файла. Вам не нужно перезагружаться. Если /hooks всё ещё показывает старое определение через несколько секунд после сохранения, запустите /hooks снова, чтобы обновить представление. Если /hooks показывает hook, но он всё ещё не срабатывает, следующий шаг — наблюдать оценку hook в реальном времени. Запустите сессию с claude --debug hooks и вызовите tool call. Журнал отладки записывает каждое событие, какие matchers были проверены, и код выхода и вывод hook. См. Debug hooks для формата журнала и hooks troubleshooting для распространённых паттернов сбоев.

Протестируйте с чистой конфигурацией

Начните с claude --safe-mode, который запускает сессию со всеми отключёнными настройками, включая CLAUDE.md, skills, plugins, hooks, MCP серверы и пользовательские команды и агенты. Аутентификация, выбор модели, встроенные инструменты и разрешения работают нормально. Если проблема исчезает в безопасном режиме, одна из этих поверхностей является причиной; используйте целевые проверки выше, чтобы найти, какая именно. Безопасный режим по-прежнему применяет управляемые hooks и политику параметров от вашей организации. Управляемые plugins, skills, CLAUDE.md и MCP серверы отключены. Если проблема сохраняется в безопасном режиме или ваши параметры сами по себе вызывают подозрения, сравните с сессией, которая ничего не загружает из вашей обычной установки. Укажите CLAUDE_CONFIG_DIR на пустой каталог, чтобы обойти всё под ~/.claude, и запустите из каталога, который не имеет папки .claude, файла .mcp.json или CLAUDE.md, чтобы конфигурация проекта также была пропущена.
Чистая сессия не имеет пользовательских или проектных параметров, hooks, MCP серверов, plugins или памяти.
  • Управляемые параметры всё ещё применяются, если ваша организация их развёртывает, так как они находятся в системном пути вне ~/.claude
  • На Linux и Windows вам будет предложено войти снова, потому что учётные данные хранятся в каталоге конфигурации
  • На macOS учётные данные находятся в Keychain и переносятся в чистую сессию
Если проблема исчезает здесь, причина находится где-то в ваших реальных файлах ~/.claude или проекта .claude. Переинтродуцируйте их по одному, скопировав файлы во временный каталог или запустив из вашего проекта, чтобы найти, какой из них. Если это сохраняется в чистой сессии, причина находится вне вашей пользовательской и проектной конфигурации. Запустите /status, чтобы проверить, действуют ли управляемые параметры, ищите переменные окружения, которые влияют на Claude Code, затем см. Troubleshooting.

Проверьте распространённые причины

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