{
  "id": 3794277,
  "title": "Parallel coding agents without the carnage",
  "url": "https://urgent.news/2026/08/27/parallel-coding-agents-without-the-carnage",
  "topic": "tech",
  "section": "Tech",
  "published": "2026-08-27T18:21:26.000Z",
  "source": {
    "name": "Dev.to",
    "slug": "dev-to",
    "url": "https://dev.to/naw103/parallel-coding-agents-without-the-carnage-gf9"
  },
  "original_language": "en",
  "account": "GPTree is a new tool that allows multiple coding agents to work on the same repository simultaneously. The tool was created after the team experienced issues with Git merging conflicting code changes. Instead of having agents editing the same checkout, GPTree uses separate worktrees for each agent, isolating files and preventing context poisoning. However, three failure modes still exist despite file isolation: destructive versus additive changes, duplicate work caused by unspecific ownership, and contract drift when agents work on different versions of an API or schema. To address these issues, Foremerge, an internal coordination protocol, has been developed and open-sourced. Foremerge sits above Git and requires agents to declare their intentions before making changes. This declaration includes a semantic scope, such as a symbol, API, schema, or config, which helps avoid collisions between plans. If two agents declare work on the same scope, Foremerge compares the declarations and raises a finding. This allows for deterministic conflict resolution and suggests resolutions without blocking progress. Foremerge also provides a ChangeSet when an agent finishes its work, which is validated against the intended changes. The tool is local-first, with no cloud dependency, and uses SQLite to store declarations within the repository's git common directory, allowing linked worktrees to share the same awareness. To set up Foremerge, users can run a few commands and follow the provided instructions for their specific agent.",
  "summary": "We build GPTree with several coding agents working the same repository at once: Claude Code, Codex, and Cursor, each in its own git worktree. The failure that finally made us build tooling for it was small and completely silent. One session was told to replace PaymentService with a Stripe-specific implementation. Another was told to add PayPal support to PaymentService . Different worktrees.…",
  "key_points": [],
  "editors_take": null,
  "illustration": null,
  "coverage": {
    "outlets": 1,
    "also_reported_by": []
  },
  "ai_generated": true,
  "disclaimer": "Summaries, key points and the editor’s take are written by software from other outlets’ reporting and may contain errors — always check the linked original."
}