Copilot Cowork reached global launch in 4.5 months, with agents writing most of its code
Microsoft says nine engineers merged 1,211 pull requests in one day, then moved the live product from Python to Rust.
In brief
1,211 code changes merged in one day
Nine Microsoft engineers shipped Copilot Cowork in 4.5 months. Agents wrote most of the code. Humans still review critical changes and set the rules.

Microsoft has described how a small team built Copilot Cowork, a tool that carries out multi-step work tasks for users in Microsoft 365. The account comes from Microsoft itself, and agents wrote most of the code.
The first commit landed on January 13. The first enterprise customers in the Frontier program got it on March 30. Worldwide general availability came on June 16, with several models and 16 plugins.
On October 21, nine engineers merged 1,211 pull requests (proposed code changes) into the backend. Merged pull requests per month rose from 257 in January to 2,754 in May.
The rules that held it together
- Spec first. No code without a written markdown spec: what the change does, how to know it works, and what it must not break.
- Narrow agents. Each agent gets one task in its own copy of the repo. The team picked a model per task, weighing quality against cost.
- A trusted host. The model runs in a container with no user credentials. A host outside it handles identity, policy, approvals and tools. The model can ask for anything; the host decides.
- Rules in the repo. Agents forget between sessions, so lessons went into about 30 rule files they read at the start.
Checks that checked nothing
Review bots competed with each other and improved from their misses. The median first review arrived in about four and a half minutes. Yet a group of them found no problem in a sensitive change, and people then found four blocking issues. So critical changes still get a human check.
One size-limit check stayed green while the limit was broken, because a shell pipeline returned the success code of its last command. Now every check reports how many files it examined, and every new check ships with a test that makes it fail on purpose.
Tidying for parallel work
Agents had piled code into huge Rust modules. In August the workspace had 86 crates (Rust code packages). A 401-item cleanup, run mostly by agents, brought it to about 176 crates and cut implementation-to-implementation dependencies from 216 to zero by October 7. The host design also let the team swap the whole host for a Rust one without changing the agent.
The limits: the excerpt cuts off before the Python-to-Rust migration results. Build-time gains were smaller than predicted. The numbers are Microsoft's own, and the source gives no independent check.
Source: Microsoft Source