用 Bash 看文件时规则会加载
Claude Code 2.1.293 修复:模型用 Bash 里的单文件 cat、head、tail、sed -n 或 grep 看文件,而不是用 Read 时,路径范围的规则和嵌套 CLAUDE.md 以前不会加载。修复之后会加载。说明没有写 .claudeignore 或拒绝规则被这些命令绕过。

路径范围的规则和子目录里的 CLAUDE.md,只在 Claude 真正去看那个路径时才该出现。Claude Code 2.1.293 修了一个缺口:模型用 Bash 里的单文件 cat、head、tail、sed -n 或 grep 看文件,而不是用 Read 工具时,这些规则和嵌套 CLAUDE.md 以前不会加载。claude code bash 加载规则 从这一版起,上述命令看单个文件时会带上它们。说明没有写多文件搜索、管道,或其他没点名的命令。
修的是「没加载」,不是给绕过开绿灯
低于 2.1.293 时,模型若改用这几条 Bash 命令看文件,路径规则和嵌套说明可能根本没进上下文。那次查看没有把规则附上,谈不上先读到再违反。升级后,同样的单文件查看会加载。说明没有承诺每条拒绝规则都会拦截 Bash。拒绝规则怎么匹配命令,不在这句里。不要把「现在会加载 CLAUDE.md」读成「grep 因此不能再读任何文件」。
点名的是单文件的 cat、head、tail、sed -n 和 grep。没有写 less、sed 不带 -n,或递归扫目录。那些命令是否加载规则,这句没有说。嵌套 CLAUDE.md 指的是看文件时本应带上的那份,不是仓库根上已经在会话开头读过的那份。根上的 CLAUDE.md 没加载,先查会话启动,不要用这条 Bash 修复解释。会话开头已经读过的根目录说明,也不靠这次修复重新注入。
和「指令文件没加载」的提示分开
2.1.292 修过另一句提示:/cd 或权限变化之后,“instruction file not loaded” 会过期或缺失,并在嵌套文件没加载时加一行记录。那是界面上的提示有没有更新。2.1.293 这条是 Bash 查看路径时规则本身有没有进入上下文。两版都要升到 2.1.293,提示对了但规则仍缺,或规则在 Read 里有、在 cat 里没有,才对得上 2.1.293。只升到 2.1.292,Bash 这条仍是旧行为。