用工作树隔离多个 Claude Code 会话
文章将多会话并行开发的问题归纳为文件冲突、等待反馈被忽略和终端会话中断。通过为每个任务分配独立 Git worktree 和分支,并配合 tmux 管理会话,组织并行开发。
原文暂未完整获取,基于公开信息的快读
多个 Claude Code 会话同时开工,先要解决的是工作目录和会话管理。dev.to 的这篇文章提出:每个任务使用独立的 Git worktree 和分支,再用 tmux 管理终端,配合通知机制处理等待。现有节选已给出操作命令,但这套方案的隔离范围需要分清。
目前能确认什么
作者把并行开发的麻烦归为三类:多个会话修改同一目录,未完成的改动干扰彼此测试;会话等待回答却没人发现;终端关闭导致工作中断。
Git worktree 可以为同一个仓库创建多个工作目录,各自使用独立分支。例如,在主目录执行:
git worktree add -b fix-login ../myapp-fix-login
cd ../myapp-fix-login && claude
每个任务照此分配目录,完成后审查分支、合并,再清理 worktree。
不过,新目录不会自动带上未跟踪的 .env,依赖也需要安装。开发服务要分配不同端口;使用 Docker Compose 时,还要区分 COMPOSE_PROJECT_NAME。
tmux 为每个任务提供命名窗口,分离终端后可继续运行会话。Claude Code 的 Notification hook 则可用于触发通知,提醒用户处理输入请求。
我的判断
worktree 能隔离文件修改,不能包办运行环境隔离。
对前端项目,端口之外还要检查各任务是否共用数据库、缓存等外部资源,否则目录分开了,测试仍可能互相影响。
tmux 也有边界:关闭终端后可以继续运行,机器重启后进程仍会停止,不能把它当成断电恢复方案。
节选没有给出 Notification hook 的完整配置,也没展开权限模式的具体设置。要把流程复制到自己的项目,这两处仍需查官方文档确认。另外,并行会话共享套餐用量限制,开更多窗口前,应先观察等待处理和额度消耗是否已经成为瓶颈。