Claude Code может одновременно загружать инструкции из нескольких мест. Если вы поддерживаете два клиентских проекта, новый сеанс в каждом каталоге позволяет проверить, какие файлы действительно попали в соответствующий контекст. Полезный результат — две записанные последовательности файлов, а не предположение, что соседние папки разделяют клиентские данные.
Главная перемена
Что изменилось: Это руководство превращает документированную иерархию инструкций Claude Code в воспроизводимое сравнение двух существующих разрешённых каталогов. Вы записываете загруженные при запуске файлы, затем проверяете появление вложенного файла инструкций после разрешённого чтения.
Почему это важно: Общий родительский каталог, личная инструкция, импорт, правило или настройка могут влиять на оба проекта. /context показывает загруженные файлы памяти работающего сеанса, позволяя исследовать неожиданный путь до начала клиентской работы.
На что обратить внимание: Загруженные инструкции не ограничивают доступ Claude к файлам и не гарантируют соблюдение всех указаний. Перед передачей клиентского содержимого выбранному провайдеру изучите реальный аккаунт, разрешения, импорты, hook и условия использования данных.
Что потребуется
Процедура предназначена для разработчика, которому разрешено изучать два существующих клиентских репозитория и их настройку Claude Code. Отдельно получите разрешение отправлять конкретное содержимое выбранному аккаунту Claude или провайдеру. Право изменять локальные файлы само по себе этого не решает. Нужны терминал, установленный Claude Code, подходящий аккаунт или провайдер и существующий файл без чувствительных данных во вложенном каталоге одного проекта. Проверьте документацию Anthropic по установке, расходам и использованию данных для своего способа доступа.
Схема ниже показывает пути для проверки, а не предлагает создавать клиентские проекты. Каждый условный путь в командах замените реальным разрешённым. Родительский CLAUDE.md необязателен и должен содержать только инструкции, одобренные для обоих проектов. Вложенный файл и безопасный документ уже должны соответствовать пути обработки данных выбранного аккаунта.
AUTHORIZED_PARENT/
CLAUDE.md optional shared instructions
project-A/
CLAUDE.md A's project instructions
project-B/
CLAUDE.md B's project instructions
subdir/
CLAUDE.md B's nested instructions
README.md authorized, nonsensitive read target1. Определите два пути проектов
Используйте один из вариантов: PowerShell или Bash. Установите переменные в реальные каталоги. Проверки требуют существующих путей, сравнивают полученные строки и подтверждают наличие цели чтения B. Команда PowerShell Resolve-Path может сохранять псевдоним символической ссылки или точки соединения; разные строки ещё не доказывают физически разные проекты. Изучите ссылки и соединения обоих стартовых путей и их предков, проследите цели и убедитесь, что A и B действительно различны. Пути, проверки целей и последующие списки контекста храните в закрытой рабочей записи.
$a = (Resolve-Path -LiteralPath 'C:\actual\authorized\project-A' -ErrorAction Stop).Path
$b = (Resolve-Path -LiteralPath 'C:\actual\authorized\project-B' -ErrorAction Stop).Path
if (-not (Test-Path -LiteralPath $a -PathType Container)) { throw 'A must be an existing directory' }
if (-not (Test-Path -LiteralPath $b -PathType Container)) { throw 'B must be an existing directory' }
if ($a -eq $b) { throw 'A and B must be different directories' }
$target = Join-Path $b 'subdir/README.md'
if (-not (Test-Path -LiteralPath $target -PathType Leaf)) { throw 'Choose an existing authorized nonsensitive file in B/subdir' }
$a
$b
$targeta=$(realpath -- /actual/authorized/project-A) || exit 1
b=$(realpath -- /actual/authorized/project-B) || exit 1
test -d "$a" || { printf '%s\n' 'A must be an existing directory' >&2; exit 1; }
test -d "$b" || { printf '%s\n' 'B must be an existing directory' >&2; exit 1; }
test "$a" != "$b" || { printf '%s\n' 'A and B must be different directories' >&2; exit 1; }
target="$b/subdir/README.md"
test -f "$target" || { printf '%s\n' 'Choose an existing authorized nonsensitive file in B/subdir' >&2; exit 1; }
printf '%s\n' "$a" "$b" "$target"Если проекты не соседние, запишите их настоящие цепочки предков отдельно. Не выводите общего родителя из рисунка.
2. Проверьте возможные источники до открытия проектов
Для каждого определённого стартового каталога изучите CLAUDE.md, .claude/CLAUDE.md, CLAUDE.local.md, AGENTS.md и .claude/AGENTS.md в нём и во всех предках до корня файловой системы. Также проверьте управляемые инструкции ОС, ~/.claude/CLAUDE.md, пользовательские правила и проектные файлы .claude/rules/ . Руководство по памяти говорит, что найденные файлы CLAUDE.md объединяются; более близкий файл не удаляет текст предка. Вложенный CLAUDE.md обычно загружается после чтения, записи или изменения другого файла этого каталога. Правила с областью пути могут загружаться при доступе к подходящему файлу.
Эти команды выводят только пути и дают перечень предков без содержимого файлов. Изучайте найденные файлы с разрешения их владельца. Повторите для обеих переменных; цикл Bash охватывает обе автоматически.
foreach ($start in @($a, $b)) {
$dir = [System.IO.DirectoryInfo]::new($start)
while ($null -ne $dir) {
Get-Item -LiteralPath $dir.FullName -Force | Select-Object FullName,LinkType,Target
foreach ($name in @('CLAUDE.md', 'CLAUDE.local.md', 'AGENTS.md', '.claude/CLAUDE.md', '.claude/AGENTS.md')) {
$candidate = Join-Path $dir.FullName $name
if (Test-Path -LiteralPath $candidate -PathType Leaf) { $candidate }
}
$dir = $dir.Parent
}
}for start in "$a" "$b"; do
dir=$start
while :; do
for name in CLAUDE.md CLAUDE.local.md AGENTS.md .claude/CLAUDE.md .claude/AGENTS.md; do
test -f "$dir/$name" && printf '%s\n' "$dir/$name"
done
test "$dir" = / && break
dir=$(dirname -- "$dir")
done
doneПрочитайте настоящие файлы инструкций и их импорты @path ; относительные импорты определяются от содержащего их файла. Проследите символические ссылки и соединения каждого стартового пути PowerShell и предков, затем проверьте как именованные, так и целевые иерархии, влияющие на сеанс. Проверьте цели ссылок файлов инструкций и шаблоны claudeMdExcludes . Изучите .claude/settings.json, .claude/settings.local.json, пользовательские и управляемые настройки, параметры запуска --settings или --setting-sources , настроенные hook и состояние доверия каждого проекта. CLAUDE_CONFIG_DIR может переместить каталог пользовательской конфигурации, поэтому проверьте его, прежде чем предполагать ~/.claude. До принятия доверия рабочему пространству изучите возможные команды hook. Импорт вне рабочего каталога может запросить подтверждение; отклонённый импорт не появится ожидаемым образом. Руководство по настройкам объясняет, какой уровень даёт каждую настройку и какие настройки проекта ждут доверия.
Проверьте выбор Project instructions в /config либо соответствующей пользовательской/управляемой настройке плагина. Текущая документация описывает AGENTS.md как условный запасной вариант, когда ни один проектный или родительский CLAUDE.md либо CLAUDE.local.md не подходит; claude-md-and-agents-md загружает оба. Прямая поддержка AGENTS.md зависит от версии и включённого плагина. Старые версии и отдельные настройки могли его пропускать, включая проблему версии из материала BIG CHANGE о флаге функции AGENTS.md. Используйте настоящую версию, настройку и результат /context , а не предположение о постоянной загрузке.
Запишите аргументы --add-dir и CLAUDE_CODE_ADDITIONAL_DIRECTORIES_CLAUDE_MD отдельно. --add-dir расширяет доступ к файлам, но по умолчанию не загружает CLAUDE.md дополнительного каталога. Переменная окружения включает такую загрузку. Проверьте автоматическую память через /memory как отдельный канал: она может делиться между worktree и подкаталогами одного репозитория, а её расположение можно переопределить. До интерпретации сравнения изучите настоящий путь и содержимое. Никогда не помещайте учётные данные или неопубликованные сведения клиента в примеры инструкций и публичные записи.
Перед запуском проверьте эти переменные в той же оболочке. Пустое значение Bash означает отсутствие или пустоту; PowerShell показывает только существующие переменные. Это не исключает значений в файлах настроек, поэтому подтвердите активные настройки внутри каждого сеанса.
Get-Item Env:CLAUDE_CONFIG_DIR,Env:CLAUDE_CODE_ADDITIONAL_DIRECTORIES_CLAUDE_MD -ErrorAction SilentlyContinue | Select-Object Name,Valueprintf 'CLAUDE_CONFIG_DIR=%s\n' "${CLAUDE_CONFIG_DIR-}"
printf 'CLAUDE_CODE_ADDITIONAL_DIRECTORIES_CLAUDE_MD=%s\n' "${CLAUDE_CODE_ADDITIONAL_DIRECTORIES_CLAUDE_MD-}"3. Начните новый сеанс в проекте A
Запишите claude --version и точную команду запуска. Запустите новый процесс из A без --resume или --continue. Принимайте доверие только после проверки настроек и hook. Выполните /context до просьбы открыть B или вложенный файл. Запишите точные пути файлов памяти и правил; список нужен для проверки состава, а не порядка внедрения. Используйте /memory для просмотра отображаемых личных, проектных и автоматических записей памяти и их размещения. Затем завершите сеанс.
claude --version
Set-Location -LiteralPath $a -ErrorAction Stop
claudeclaude --version
cd -- "$a" && claudeВ Claude Code /status определяет активные источники настроек, а /permissions показывает текущие правила инструментов и их источники. Запишите это рядом со списком инструкций:
/context
/memory
/status
/permissions
/exitДолжны появиться применимые инструкции A и общих предков с учётом проверенных настроек и исключений. Файл только для B не должен входить в стартовую иерархию A. Если он появляется через импорт, ссылку, дополнительный каталог или другой канал, запишите механизм. Отсутствие не доказывает недоступность файлов B.
4. Начните отдельный сеанс B и прочитайте вложенный файл
Используйте новый процесс Claude Code в B с той же установленной версией и аккаунтом/провайдером. Запишите /context и /memory до любого вложенного чтения. Попросите Claude прочитать только точный разрешённый файл без чувствительных данных. Подтвердите фактическое чтение, затем повторите /context и сравните наличие путей. Правило загрузки руководства предполагает, что файл B subdir/CLAUDE.md войдёт в контекст после доступа Claude к другому файлу того же каталога, если настройка, исключение или версия не меняют результат.
Set-Location -LiteralPath $b -ErrorAction Stop
claudecd -- "$b" && claudeВ Claude Code меняйте запрос чтения только при другом относительном пути разрешённой цели:
/context
/memory
/status
/permissions
Read only subdir/README.md. Tell me whether that exact file was read; do not open other files or display its contents.
/context
/exitClaude Code может запросить разрешение инструмента или предложить другое действие. Одобряйте только разрешённое чтение и убедитесь, что инструмент действительно открыл файл. Одной фразы о прочтении недостаточно.
5. Сравните списки и объясните различия
Храните закрытую таблицу с определёнными путями A и B, корнями репозиториев, версией Claude Code, аккаунтом/провайдером, командами запуска, доверием, источниками настроек, дополнительными каталогами, путями инструкций и правил, импортами, местами автоматической памяти и тремя наблюдаемыми списками /context : A при запуске, B до и после чтения. Отмечайте ожидаемый файл как присутствующий, отсутствующий или необъяснённый. Не копируйте клиентские инструкции в публичный отчёт.
Если ожидаемый файл отсутствует, сначала проверьте стартовый каталог и настоящий путь. Затем проверьте Project instructions, плагин/версию, claudeMdExcludes, --setting-sources, импорты и внешнее одобрение, шаблоны правил, символические ссылки и подтверждённое вложенное чтение. Неожиданный файл проследите через предков, пользовательские или управляемые инструкции, импорты, правила, hook, память дополнительных каталогов и автоматическую память. Общий предок или личная инструкция могут быть намеренными; происхождение и содержимое определяют их уместность в обоих проектах.
Меняйте инструкции и настройки только с разрешения соответствующего клиента. Изучите предложенный diff, сохраните ограничения и повторите оба наблюдения в новых сеансах после изменения. Если путь необъясним или нет права проверить канал, приостановите клиентскую работу и попросите владельца или администратора разрешить конкретную неопределённость.
Упражнение завершено, когда есть два стартовых списка, проверенный список B до/после вложенного чтения и объяснение каждого существенного неожиданного пути. Это устанавливает наблюдаемый состав инструкций этих сеансов, но не границу конфиденциальности, изоляцию доступа, гарантированное послушание или точный порядок использования инструкций моделью. Для просмотра и продолжения существующего разговора смотрите отдельное руководство по контексту сеанса Claude Code.
Расходы и лимиты зависят от плана, аутентификации и провайдера. Руководство Anthropic по расходам содержит текущие условия. Статья подготовлена по документации: BIG CHANGE не изучал клиентские файлы, не запускал сеансы A/B, не тестировал модель и не измерял время или расходы.
Источники и дополнительное чтение
- Anthropic, «Как Claude запоминает ваш проект»: область инструкций, импорты, вложенная загрузка,
AGENTS.md, правила, исключения, дополнительные каталоги, автоматическая память и/memory. Точные параметры меняются с версиями Claude Code. - Anthropic, «Файлы настроек и приоритет»: пользовательская, проектная, локальная и управляемая конфигурация, включая
/status, доверие и hook. - Anthropic, «Настройка разрешений»:
/permissionsпоказывает активные правила инструментов и источники; инструкции сами не обеспечивают ограничение доступа. - Anthropic, «Обзор окна контекста»:
/contextпоказывает загруженные файлы памяти работающего сеанса; отображаемый состав не доказывает порядок внедрения. - Anthropic, установка, расходы и использование данных: подтвердите требования установки и аккаунта; также прочитайте отдельные условия расходов и использования данных для своего пути доступа.



