# Cursor's coding agents got stuck waiting for each other

> Adding more agents helped less when each had to wait for permission to claim the next piece of work.

Published 2026-11-08

Canonical: https://machines-on-machines.anth.us/posts/cursor-planners-workers-agent-coordination/

Cursor tried having coding agents coordinate through a shared file. To keep two agents from taking the same job, the company added a lock that let one agent update the file at a time. Agents sometimes held locks too long or forgot to release them. Cursor reports that 20 agents could spend so much time waiting that their throughput fell to that of two or three.

::image{
  src="assets/cursor-planners-workers-agent-coordination/cursor.png"
  layout="inline"
  alt="A pull request titled Migrate to React shows a code migration proposed for the Cursor codebase."
  caption="Cursor shared this pull request as an example of work done by its parallel agents. The company described giving planner and worker agents different jobs to coordinate projects."
  credit="Cursor, Scaling long-running autonomous coding."
}

[Image source](https://cursor.com/blog/scaling-agents)

The team replaced locks with a design that rejected updates when someone else had already changed the underlying state. That reduced one bottleneck, but the agents still gravitated toward small changes. The company then separated roles. Planners explored the project and created tasks. Workers took those tasks and made changes.

Cursor's engineering report describes experiments inside the company. Its account shows how a group of agents can inherit familiar coordination problems, including who owns the hard work and what happens when everybody waits for the same shared resource.

[Read the source](https://cursor.com/blog/scaling-agents).
<!-- papyrus-source-version: 3 -->
