官方文档 v2.1.x · 2026-10-20

Claude Code Worktree — Git 隔离让并行 Agent 互不打扰

截至 2026-10-20,Claude Code 用 git worktree 隔离并行会话:claude --worktree feature-auth 在 .claude/worktrees/ 下建独立工作树(分支 worktree-feature-auth),子代理可设 isolation: worktree;退出交互式会话时,无改动的未命名会话自动清理,命名会话或有改动则先询问保留或删除。

Worktree 是什么、为什么重要

git worktree 是同一仓库下挂出的额外工作目录,拥有独立 working tree 与 branch,但共享 .git 历史与 remote。Claude Code 把并行会话放到独立 worktree:claude --worktree feature-auth(或 -w)默认在仓库根的 .claude/worktrees/feature-auth/ 建目录,分支名为 worktree-feature-auth。A 会话写功能 X、B 会话修 bug Y,文件读写互不覆盖。

EnterWorktree 工具与 isolation 配置

在会话里也可以让 Claude 进入 worktree,它会用 EnterWorktree 工具创建;进入仓库 .claude/worktrees/ 目录之外的路径前,Claude Code 会先征求你的批准(v2.1.206 之前可以不经询问进入任意已有 worktree 路径)。自定义子代理在 frontmatter 写 isolation: worktree,就能让每次派发都拿到临时 worktree。把 .claude/worktrees/ 加进 .gitignore,并用 .worktreeinclude 把 .env 等被忽略文件带进新 worktree。

子代理 worktree 与并行 agent

子代理也能各自在 worktree 里跑:对 Claude 说「use worktrees for your agents」,或给自定义子代理加 isolation: worktree。每个子代理拿到临时 worktree,完成且无改动时自动删除;有改动就留在磁盘,等定期清理确认不丢工作再删。例:3 个 agent 同时 a) 重写 auth 模块、b) 加单元测试、c) 写迁移脚本——文件层互不打扰,最后人工 merge。退出交互式 worktree 时,Claude 会检查改动:无改动的未命名会话自动删除,有改动会询问保留或删除;-p 不会自动清理。

自动清理、常见坑与与团队规范的配合

退出交互式 worktree 会话时,Claude 会检查改动、未跟踪文件和新提交:无改动的未命名会话自动删除,命名会话先询问是否保留,有改动则询问保留或删除;-p 运行不会自动清理。常见坑:1) 多个 agent 的 branch 名冲突;2) 有改动的子代理 worktree 会留在磁盘,直到定期清理;3) 忘记把 .claude/worktrees/ 加进 .gitignore。建议团队约定固定 branch 前缀(如 wt/agent-<name>-<timestamp>)避免冲突。

FAQ

Worktree 跟普通 git branch 有什么本质区别?

branch 是 commit 的指针,切换工作树要 checkout 并覆盖文件;worktree 是独立的工作目录,多个 branch 可以同时存在于不同物理路径。多 agent 并行靠的就是这一点。

Subagent worktree 会污染主 repo 吗?

不会。每个子代理拿临时 worktree,git 在 .git/worktrees/<id> 下管理;无改动的子代理 worktree 会自动删除,有改动则留到定期清理确认不丢工作再删,主 repo 保持干净。

国内用 Claude Code 能用 worktree 吗?

能。worktree 是本地 git 与 Claude Code 客户端能力,模型推理走你配置的 QCode 接入端点。worktree 需要 git 仓库;其他版本控制系统要用 WorktreeCreate / WorktreeRemove hooks 替换 git 逻辑。

在 QCode 通路上跑 Claude Code 并行 Agent

模型推理走 QCode 的接入端点,worktree 在本地运行;并行会话按上面的命令开即可。

开通 QCode 套餐

不确定从哪开始?

先试一周

小包 ¥26($30 额度,7 天)

每天都用

体验版 ¥63/月,每天 $5 额度;每 $1 额度只要 ¥0.42,中包约 ¥0.79