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

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

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

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

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

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

Запустите /mcp, чтобы увидеть каждый настроенный сервер, его статус подключения и одобрили ли вы его для текущего проекта. Сервер может быть определён правильно, но всё ещё не предоставлять tools по нескольким распространённым причинам:
  • Серверы с областью проекта в .mcp.json требуют одноразового одобрения. Если prompt был отклонён, сервер остаётся отключённым, пока вы не одобрите его из /mcp.
  • Сервер, который не запускается, отображается как failed в /mcp. Относительные пути к файлам в command или args — частая причина, так как они разрешаются относительно каталога, из которого вы запустили Claude Code, а не расположения .mcp.json.
  • Сервер, который показывает как connected, но перечисляет нулевые tools, успешно запустился, но не возвращает список tools. Выберите Reconnect из /mcp. Если количество остаётся нулевым, запустите claude --debug=mcp и прочитайте stderr сервера в журнале отладки по адресу ~/.claude/debug/<session-id>.txt.
Для расположений конфигурации и правил области см. 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. В управляемых параметрах Claude Code удаляет весь ключ hooks из файла, который содержит массив, поэтому ни один из hooks этого файла не применяется. Другие параметры файла всё ещё применяются, и claude doctor перечисляет удалённый ключ.
Когда вы редактируете settings.json, изменение вступает в силу в работающей сессии после краткой задержки стабильности файла, даже если вы создали файл или папку .claude/ проекта после начала сессии. Вам не нужно перезагружаться. До v2.1.257 Claude Code не обнаруживал правки в папке .claude/, созданной после начала сессии. Если /hooks всё ещё показывает старое определение через несколько секунд после сохранения, запустите /hooks снова, чтобы обновить представление. Если /hooks показывает hook, но он всё ещё не срабатывает, следующий шаг — наблюдать оценку hook в реальном времени. Запустите сессию с claude --debug и вызовите 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 Code сохраняет состояние адаптации там.
  • Управляемые параметры по-прежнему применяются, если ваша организация их развёртывает. Claude Code читает MDM профили, политику реестра и managed-settings.json из мест вне каталога конфигурации и повторно получает управляемые параметры сервера для чистой сессии после получения учётных данных
  • Вам будет предложено войти снова
Если проблема исчезает здесь, причина находится где-то в ваших реальных файлах ~/.claude или проекта .claude. Переинтродуцируйте их по одному, скопировав файлы во временный каталог или запустив из вашего проекта, чтобы найти, какой из них. Если это сохраняется в чистой сессии, причина находится вне вашей пользовательской и проектной конфигурации. Запустите /status, чтобы проверить, действуют ли управляемые параметры, ищите переменные окружения, которые влияют на Claude Code, затем см. Troubleshooting.

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

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