Skip to content

Worktree 中 .claude/rules 规则被重复加载

问题

使用 claude --worktree 或将 worktree 创建在 .claude/worktrees/ 目录内时,.claude/rules/ 中的规则文件会被加载两次——一次来自 worktree 自身,一次来自父仓库的目录祖先遍历。

典型症状:每次工具调用多消耗 ~60K tokens(约等于 23 个规则文件 × 2)。

来源:GitHub Issue #46222

解决方案

官方修复版本:v2.1.69(已声明修复,但部分用户在 v2.1.114 仍能复现)

验证方式:

在会话中运行 /status 或通过 debug 日志确认加载的规则文件列表:

bash
claude --debug 2>&1 | grep -i "rules\|CLAUDE.md"

如果看到同一文件路径出现两次,说明问题仍存在。

临时绕过:

将 worktree 创建在 .claude/worktrees/ 之外的目录(例如项目根目录的 ../worktrees/),避开父目录遍历触发条件:

bash
# 不推荐(会触发重复加载)
claude --worktree  # 默认在 .claude/worktrees/ 下创建

# 推荐绕过方式
git worktree add ../my-feature-worktree HEAD
cd ../my-feature-worktree && claude

注意: 如果已更新到最新版本仍复现,可在 GitHub Issue #46222 评论版本号以帮助 Anthropic 重新追踪。