世界从未停止变化。RSS
BIG CHANGE.
BIG CHANGE,一触即达
BIG CHANGE,一触即达

纵览全局。

将 BIG CHANGE 添加到主屏幕或桌面。它会在独立窗口中打开,并在您在线时显示最新报道。

iPhone 和 iPad
在 Safari 中打开 bigchange.ai。轻点“共享”,然后轻点“添加到主屏幕”。如果显示“作为网页 App 打开”,请将其开启,然后轻点“添加”。
Android
在 Chrome 中打开 bigchange.ai。打开浏览器菜单,选择“安装应用”或“添加到主屏幕”。
桌面设备
在 Chrome 或 Edge 中,使用地址栏中的安装图标或浏览器的应用菜单。在 Mac 上的 Safari 中,选择“文件”→“添加到程序坞”。

Markdown 版本

AI-translated from English; not yet reviewed by a fluent editor.

# 检查两个客户项目中的 Claude Code 指令作用范围

> 比较两个全新 Claude Code 项目会话加载的指令,再验证获准读取文件后,嵌套指令文件何时加入上下文。

By BIG CHANGE Editorial

Published: 2026-10-20T00:44:54.031Z
Updated: 2026-10-20T00:44:54.031Z
Canonical: https://bigchange.ai/blog/claude-code-client-project-instruction-scope-guide

![Conceptual charcoal illustration of two open filing drawers with separate blank folders; a smaller orange-edged folder is nested in the right drawer.](https://bigchange.ai/api/media/file/client-project-instruction-scope-hero-v1.png)
AI-generated conceptual illustration by BIG CHANGE; no actual client files, Claude Code interface or tested result is depicted.

Claude Code 可以同时从多个位置加载项目指令。如果你维护两个客户项目,在各自目录中启动全新会话,就能检查哪些指令文件实际进入了上下文。有用的结果是两份记录下来的文件列表,而不是假定同级文件夹就能隔离客户信息。

## 关键变化

**发生了什么变化:** 本指南把 Claude Code 文档中的指令层级转化为可重复的比较,针对两个现有且获授权的项目目录。先记录启动时加载的文件,再检查获准读取文件后是否出现嵌套指令文件。

**为什么重要:** 共同的上级目录、个人指令、导入、规则或设置都可能影响两个项目。`/context`会显示运行中会话已加载的记忆文件,因此可以在开展客户工作前调查意外路径。

**需要留意:** 加载的指令不会限制 Claude 能访问哪些文件,也不保证它遵守每条指令。向选定服务商发送客户内容前,请审查实际账户、权限、导入、hook 及数据使用条款。

## 所需条件

本流程适合有权检查两个**现有**客户代码仓库及其 Claude Code 配置的开发者。还需另行获得授权,才能把计划使用的具体项目内容发送到所选 Claude 账户或服务商。仅有本地文件编辑权限并不代表获准发送。你需要终端访问、已安装的 Claude Code、符合条件的账户或服务商,以及一个项目子目录中现有且不含敏感信息的文件。请查看 Anthropic 的[安装](https://code.claude.com/docs/en/setup)、[费用](https://code.claude.com/docs/en/costs)和[数据使用](https://code.claude.com/docs/en/data-usage)文档,确认所用接入方式的要求。

下方目录结构表示要确认的路径,并不是要求新建客户项目。请把命令中的每个示意路径替换为真实且获授权的路径。上级目录中的`CLAUDE.md`是可选项,只应包含两个项目都批准使用的指令。嵌套文件和无敏感信息的文档必须已适合所选账户的数据处理路径。

```text
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 target
```

## 1. 解析两个项目路径

请**任选其一**:PowerShell 或 Bash。将变量设为两个实际目录。检查会要求路径已存在、比较解析后的路径字符串,并确认 B 的读取目标存在。PowerShell 的`Resolve-Path`可能保留符号链接或目录联接的别名;字符串不同本身不足以证明是两个实际不同的项目。检查两个启动路径及其所有上级目录中的链接和联接,追踪目标,确认 A、B 确实不同后再继续。将路径、目标检查和后续上下文列表保存在私人工作记录中。

```powershell
$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
$target
```

```bash
a=$(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/`文件。[记忆手册](https://code.claude.com/docs/en/memory)说明,发现的`CLAUDE.md`文件内容会拼接,较近的文件不会清除上级目录的文本。嵌套的`CLAUDE.md`通常在 Claude 读取、写入或编辑同目录中的其他文件后加载。限定路径的规则可在访问匹配文件时加载。

这些命令只列出路径,提供上级目录清单,不显示文件内容。检查结果文件时须有对应所有者的授权。两个变量都要检查;Bash 循环会自动涵盖两者。

```powershell
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
  }
}
```

```bash
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 可能运行的命令。工作目录以外的导入可能要求批准;拒绝的导入不会如预期出现。[设置手册](https://code.claude.com/docs/en/settings)解释每项设置来自哪一层,以及哪些项目设置需要等待信任。

检查**Project instructions**在`/config`中的选择,或其用户/托管插件设置。当前 Claude Code 文档将`AGENTS.md`描述为有条件的后备方案:当项目或上级目录没有符合条件的`CLAUDE.md`或`CLAUDE.local.md`时使用;`claude-md-and-agents-md`会同时加载两者。直接支持`AGENTS.md`取决于版本和启用的插件。旧版本和某些设置可能忽略它,BIG CHANGE 的[AGENTS.md 功能开关报道](https://bigchange.ai/blog/claude-code-agents-md-telemetry-feature-flags)就涉及特定版本的问题。请使用实际版本、设置及`/context`结果,不要假定它始终加载。

分别记录`--add-dir`参数和`CLAUDE_CODE_ADDITIONAL_DIRECTORIES_CLAUDE_MD`。`--add-dir`会扩大文件访问范围,但默认不加载额外目录的`CLAUDE.md`。环境开关会启用新增目录的指令加载。通过`/memory`把自动记忆作为独立渠道检查:同一仓库的工作树和子目录可能共享它,其存储位置也可被覆盖。解释比较结果前,检查真实位置和内容。切勿把凭证或未公开的客户事实放进示例指令或公共记录。

启动前,在将要使用的同一 shell 中检查这些环境值。Bash 值为空表示未设置或空值;PowerShell 只列出现有变量。shell 值不能排除设置文件中的值,因此每个会话中还要确认生效设置。

```powershell
Get-Item Env:CLAUDE_CONFIG_DIR,Env:CLAUDE_CODE_ADDITIONAL_DIRECTORIES_CLAUDE_MD -ErrorAction SilentlyContinue | Select-Object Name,Value
```

```bash
printf '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` **后再**要求 Claude 打开 B 或任何嵌套文件。记录记忆文件和规则下的确切路径;列表用于核对包含哪些文件,不能推断注入顺序。使用`/memory`检查显示的个人、项目及自动记忆条目与存储位置,然后退出会话。

```powershell
claude --version
Set-Location -LiteralPath $a -ErrorAction Stop
claude
```

```bash
claude --version
cd -- "$a" && claude
```

在 Claude Code 中,`/status`标识生效的设置来源,`/permissions`显示当前工具规则及其来源。将这些信息与指令列表一并记录:

```text
/context
/memory
/status
/permissions
/exit
```

根据已审查的设置与排除项,应该出现适用于 A 及共同上级目录的指令。B 专属文件不应属于 A 的启动层级。如果通过导入、链接、新增目录或其他渠道出现,请记录机制。没有出现并不证明无法访问 B 的文件。

## 4. 在 B 启动独立会话,再读取一个嵌套文件

在 B 使用**全新**Claude Code 进程,保持相同安装版本和账户/服务商接入方式。任何嵌套读取前先记录`/context`和`/memory`。只让 Claude 读取获批准且不含敏感信息的确切文件。在会话中确认真正发生读取,然后再次运行`/context`,比较路径成员。[手册的加载规则](https://code.claude.com/docs/en/memory)预计 B 的`subdir/CLAUDE.md`会在 Claude 访问同目录中的另一个文件后加入上下文,除非设置、排除项或特定版本行为改变结果。

```powershell
Set-Location -LiteralPath $b -ErrorAction Stop
claude
```

```bash
cd -- "$b" && claude
```

在 Claude Code 中,只有当获授权目标具有不同相对路径时,才替换读取请求:

```text
/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
/exit
```

Claude Code 可能请求工具权限或建议其他操作。只批准明确授权的读取,并确认工具确实打开了该文件。仅凭回复声称读过并不足以证明。

## 5. 比较列表并解释差异

建立私人表格,记录解析后的 A、B 路径、仓库根目录、Claude Code 版本、账户/服务商路径、启动命令、信任状态、设置来源、额外目录、指令和规则路径、导入、自动记忆位置,以及三份实际观察到的`/context`列表:A 启动时、B 读取前、B 读取后。将每个预期文件标为存在、缺失或尚未解释。不要把客户指令文本复制进公开报告。

如果预期文件缺失,先确认启动目录和真实文件路径。然后检查 Project instructions 设置、插件/版本、`claudeMdExcludes`、`--setting-sources`、导入及外部导入批准、规则路径模式、符号链接和已确认的嵌套读取。意外文件出现时,沿上级目录、用户或托管指令、导入、规则、hook、额外目录记忆加载和自动记忆追踪。共享的上级目录或个人指令可能是有意安排;是否应影响两个项目取决于其来源和内容。

只有获得相关客户授权才能修改指令或设置。检查拟议差异,保留既有限制,修改后重复两个全新会话的观察。如果无法解释某路径,或无权检查某个来源渠道,请暂停客户工作,让所有者或管理员解决该具体疑问。

具备两份启动列表、B 经确认的嵌套读取前后列表,并解释所有重要意外路径后,练习才算完成。它确认的是这些会话中实际观察到的指令成员,不是保密边界、文件访问隔离、必然服从,或模型使用指令的确切顺序。要检查并继续已有对话,请参阅我们另行提供的[Claude Code 会话上下文指南](https://bigchange.ai/blog/claude-code-session-context-continue-guide)。

账户费用与使用限制取决于套餐、认证方式和服务商。Anthropic 的[费用指南](https://code.claude.com/docs/en/costs)提供当前条款。本文依据文档编写:BIG CHANGE 没有检查客户文件、运行 A/B Claude 会话、测试模型结果,也没有测量时间或费用。

## 来源与延伸阅读

- [Anthropic:《Claude 如何记住你的项目》](https://code.claude.com/docs/en/memory):指令作用范围、导入、嵌套加载、`AGENTS.md`、规则、排除项、新增目录、自动记忆和`/memory`。具体选项可能随 Claude Code 版本变化。
- [Anthropic:《设置文件及优先级》](https://code.claude.com/docs/en/settings):用户、项目、本地和托管配置,包括`/status`、信任及 hook 设置。
- [Anthropic:《配置权限》](https://code.claude.com/docs/en/permissions):`/permissions`显示生效工具规则及其来源;指令文本本身不会强制执行工具访问限制。
- [Anthropic:《探索上下文窗口》](https://code.claude.com/docs/en/context-window):`/context`显示实时会话加载的记忆文件;显示的成员关系不能证明注入顺序。
- [Anthropic:安装、费用与数据使用](https://code.claude.com/docs/en/setup):确认安装和账户条件;另行阅读所用接入方式的[费用](https://code.claude.com/docs/en/costs)和[数据使用](https://code.claude.com/docs/en/data-usage)条款。

## Sources

- [Anthropic:Claude 如何记住你的项目](https://code.claude.com/docs/en/memory) — 托管、用户、项目和本地指令的主要手册,涵盖上级和嵌套加载、文件叠加、导入、规则、AGENTS.md 后备机制及版本/设置限制、排除项、额外目录文件访问与记忆加载的区别,以及自动记忆。它描述文档规定的行为,不是两个客户会话的实际观察结果。
- [Anthropic:设置文件及优先级](https://code.claude.com/docs/en/settings) — 配置层级、CLAUDE_CONFIG_DIR、通过 /status 查看设置来源、本地设置、信任和 hook 的主要手册。读者必须检查实际设置及既有 hook;本文未检查客户配置。
- [Anthropic:配置权限](https://code.claude.com/docs/en/permissions) — 说明 /permissions 可查看生效工具规则及其设置文件来源。指令文件本身不会强制执行工具访问控制;读者只应批准获授权的嵌套文件读取。
- [Anthropic:探索上下文窗口](https://code.claude.com/docs/en/context-window) — 说明用 /context 实时检查已加载的记忆文件,用 /memory 检查记忆。文件列表成员是本文建议的观察内容;显示顺序不被视为模型注入顺序。
- [Anthropic:高级安装配置](https://code.claude.com/docs/en/setup) — 供读者自行操作 Claude Code 会话时参考的安装与账户/服务商前提。BIG CHANGE 未执行安装或会话。
- [Anthropic:有效管理费用](https://code.claude.com/docs/en/costs) — 计费和限制随套餐、认证方式、服务商而变。指南不声称练习有固定价格、配额、节时收益或实测用量。
- [Anthropic:数据使用](https://code.claude.com/docs/en/data-usage) — 消费、商业和服务商接入方式的数据处理不同。向模型提交具体项目内容前必须获得客户授权;本文没有声称通用隐私保证。
- [BIG CHANGE:如何检查上下文并继续 Claude Code 会话](https://bigchange.ai/blog/claude-code-session-context-continue-guide) — 关于继续现有会话的相关报道。其任务不同于本次两个项目的全新会话指令比较,也不是新增步骤的依据。
- [BIG CHANGE:关闭遥测时 Claude Code 可能跳过 AGENTS.md](https://bigchange.ai/blog/claude-code-agents-md-telemetry-feature-flags) — 关于特定版本功能开关的相关报道。本文采用当前官方手册和读者实际版本、设置及查看结果,绝不无条件声称 AGENTS.md 一定加载。