{
  "id": 424028,
  "title": "I Built My AI Team a Blackboard — How to Stop Parallel Claude Sessions From Colliding",
  "url": "https://urgent.news/2026/08/10/i-built-my-ai-team-a-blackboard-how-to-stop-parallel-claude-sessions",
  "topic": "ai",
  "section": "AI",
  "published": "2026-08-10T01:05:50.000Z",
  "source": {
    "name": "Dev.to",
    "slug": "dev-to",
    "url": "https://dev.to/dexterlung/i-built-my-ai-team-a-blackboard-how-to-stop-parallel-claude-sessions-from-colliding-j71"
  },
  "original_language": "en",
  "account": "In the latest Indie Dev Notes (T12), the author recounts the challenges faced when expanding their AI team, which led to conflicts and collisions between parallel Claude Code sessions. The AI sessions, running on separate branches within the same Git repository, began to interfere with one another, causing disruptions in the development process. The author was initially surprised by the problem, as they had assumed each session would be independent and not interfere with the others.\n\nTo tackle this issue, the author developed a crude yet effective solution: a shared \"blackboard\" in the form of a markdown file. This blackboard serves as a central repository for tracking the progress of each session, including the current and completed tasks, as well as an \"area map\" that outlines which files are being worked on by each session. The author implemented rules for claiming and releasing work within the blackboard, such as adding a row to the \"in progress\" section before starting any task and automatically reclaiming rows that have been untouched for seven days. Additionally, the author introduced a mechanism to prevent stale rows from being claimed, ensuring that any conflicts are identified and resolved promptly.\n\nThe author notes that while the blackboard solution addresses the immediate problem of collisions, it also introduces new challenges, such as ensuring that only the owner of a particular row can modify it and that the \"stale\" status is determined by the branch's last commit time, not the blackboard's last edit time. These refinements highlight the ongoing process of optimizing the blackboard system to maintain efficiency and prevent further collisions.\n\nInterestingly, the author discovered that Claude Code, the AI platform they are using, already has a built-in feature called \"Agent Teams\" that functions similarly to their hand-rolled blackboard system. This feature allows multiple agents to share a task list, automatically handle dependencies, and coordinate through shared files. The author found this revelation both surprising and valuable, as it confirms that their independent solution is not only necessary but also aligns with established practices in the industry.\n\nOverall, the author emphasizes the importance of creating a shared context for their AI team members, as this single file serves as the central point of reference for all sessions. By implementing a blackboard system with clear rules and mechanisms for conflict resolution, they have successfully mitigated the issues caused by parallel sessions and improved the overall development workflow.",
  "summary": "Series: Indie Dev Notes · T12 In the last post (T11) , I said I'd turned my AI into a team and promoted myself from employee to CEO. This one is the reality sequel: the moment the team grew, it started crashing into itself. The bigger the team, the more it collides The way I develop now is to keep several Claude Code sessions open at once — one on the home page, one on orders, one sweeping…",
  "key_points": [
    "Author's AI team faced conflicts between parallel Claude Code sessions.",
    "Developed shared blackboard in markdown file to track progress and prevent collisions.",
    "Claude Code's Agent Teams feature offers similar functionality, validating the author's solution."
  ],
  "editors_take": "The author's workaround for AI team collisions reveals that centralized coordination is key to efficient parallel work, and that industry-standard solutions may already exist, waiting to be leveraged.",
  "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."
}