Worktrees do not remove the collision between two coding agents. They move it to merge time, where it is more expensive and sometimes silent.
Reproducible demo, plus what Git does and does not catch:
https://foremerge.com/blog/worktrees-move-the-collision-to-merge-time/

foremerge.comGit worktrees with multiple agents: merge-time collisionsGit worktrees keep parallel coding agents out of each other's files, but conflicting plans surface at merge. A reproducible example and what Git catches.