Посмотрите, что загрузилось в контекст
Команда/context показывает всё, что занимает контекстное окно для текущей сессии, разбитое по категориям: системный prompt, системные tools, MCP tools, пользовательские subagents с указанием источника, из которого каждый загружен, файлы памяти, skills и сообщения беседы. Запустите её в первую очередь, чтобы подтвердить, присутствуют ли ваши CLAUDE.md, правила или описания skills вообще. Раздел skills в /context также включает bundled skills, которые /skills не перечисляет.
Для деталей по конкретной категории используйте специализированную команду:
Если файл памяти отсутствует в разбивке
/context, сверьте его расположение с разделом как загружаются файлы CLAUDE.md. Файлы CLAUDE.md в подпапках загружаются по требованию, а не при запуске сессии, поэтому они не отображаются в этой разбивке.
Если /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.
Проверьте hooks
Запустите/hooks, чтобы перечислить каждый хук, зарегистрированный для текущей сессии, сгруппированный по событиям. Если хук, который вы определили, не появляется, Claude Code его не загрузил. Проверьте следующие причины:
- Хук определён в отдельном файле. Хуки размещаются под ключом
"hooks"в файле настроек. - Значение
matcher— это массив, а не одна строка. Claude Code отображает эту запись как недопустимую настройку при запуске интерактивной сессии и вclaude doctor. Если массив находится подPreToolUseилиPermissionRequest, ни один из остальных хуков этого файла также не загружается.
- Поле
matcher— это одна строка, которая использует|для соответствия нескольким именам tools, например"Edit|Write". Разделитель,эквивалентен, поэтому"Edit,Write"соответствует тем же tools. До v2.1.191 запятая переходила к оценке regex и matcher никогда не совпадал, поэтому используйте|, если вы ещё не на v2.1.191. - Неправильное имя tool создаёт matcher, который ничему не соответствует, поэтому hook молча не срабатывает.
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- Скиллы, плагины и хуки
- MCP-серверы
- Пользовательские команды и агенты
- Пользовательские стили вывода
- Пользовательские сочетания клавиш
CLAUDE.md и MCP-серверы отключены.
Если проблема сохраняется в безопасном режиме или ваши настройки сами по себе вызывают подозрения, запустите сессию без какой-либо вашей собственной конфигурации и проверьте, сохраняется ли проблема.
1
Создайте пустой каталог и перейдите в него
В оболочке, когда ни одна сессия Claude Code не запущена, создайте каталог и перейдите в него:
- Bash или Zsh
- PowerShell
2
Запустите Claude Code с чистым каталогом конфигурации
В той же оболочке задайте При первом запуске вы снова пройдёте экраны первоначальной настройки — это признак того, что чистый каталог конфигурации действует. Управляемые настройки по-прежнему применяются, а коннекторы по-прежнему загружаются, если вы входите с учётной записью claude.ai.
CLAUDE_CONFIG_DIR на новый каталог вместо ~/.claude и передайте --setting-sources user, чтобы отключить конфигурацию проекта, такую как .claude/settings.json, CLAUDE.md и .mcp.json:- Bash или Zsh
- PowerShell
Переменная применяется только к этому запуску.
3
Воспроизведите проблему
Повторите в чистой сессии то, что вызвало проблему:
- Проблема исчезла: причина находится в вашей пользовательской или проектной конфигурации. Копируйте
~/.claude.jsonи файлы из~/.claudeв~/claude-clean/configпо одному. Если ни один из них не возвращает проблему, перейдите в каталог проекта в той же оболочке и запустите Claude Code без--setting-sources user. В Bash или Zsh выполнитеCLAUDE_CONFIG_DIR=~/claude-clean/config claude. В PowerShell переменная по-прежнему задана, поэтому выполнитеclaude. - Проблема сохраняется: причина находится вне вашей пользовательской и проектной конфигурации. Выполните
/statusв сессии, чтобы проверить наличие управляемых настроек, проверьте переменные окружения в вашей оболочке, затем см. Устранение неполадок.
Проверьте распространённые причины
Большинство сюрпризов конфигурации восходят к небольшому набору правил расположения и синтаксиса. Проверьте их перед тем, как предположить ошибку:Связанные ресурсы
Для полного справочника по каждой поверхности конфигурации см. специализированную страницу:- Справочник каталога
.claude: каждое расположение файла конфигурации и что его читает - Settings: какой файл использовать и какое значение использует Claude Code; справочник параметров содержит полный список ключей
- Справочник Hooks: имена событий, payload и формат вывода
--debug - MCP: конфигурация сервера, одобрение и вывод
/mcp - Troubleshooting установки и входа:
command not found, PATH и проблемы аутентификации - Troubleshooting: производительность, зависания и проблемы поиска