On 13 October Anthropic published a write-up on Scion, the in-house version control system that replaced Git in its monorepo within five months. The reason: daily merges grew from around 2,500 in May to over 30,000 in September, and Git could no longer keep up.
Key takeaways
- Merges per day: around 2,500 in May 2026, over 30,000 in September
- Main branch history: almost 100 GB, a compressed working copy over 25 GB
- 25 million code checkouts a day for CI — fetched naively that would be over 600 PB of git traffic
- A team of seven built Scion and the Antique code review tool, migrating in five months
- Infrastructure 200 times smaller than the previous git mirrors, CI reclaimed 25% of CPU capacity
Git as a distributed system in a world of online agents
Git was designed for offline work — every clone is a complete repository. At Anthropic almost all clients are agents and jobs that are online by definition. At its peak the company ran several hundred internal git mirrors, but snapshots drifted further from the tip of main.
Scion inverts the assumptions: the server creates commits, computes diffs and answers blame and history queries, while the client keeps only a bounded local cache. The prior art was Piper at Google and Sapling at Meta.
| Metric | May 2026 | September 2026 |
|---|---|---|
| Merges per day | ~2,500 | 30,000+ |
| History of the main branch | — | ~100 GB |
| Compressed working copy | — | 25+ GB |
| Code checkouts per day (CI) | — | 25 million |
Changesets, derived data and three cache tiers
The unit of work is a changeset?changeset: A single recorded change in Scion: the list of changed files plus pointers to their contents. The equivalent of a commit, but created server-side. — an entry in a write-ahead log holding the list of changed files and content-addressed pointers to compressed contents in blob storage. Blame and path-history queries are served by separate derived data?derived data: Secondary data computed from change history — blame, or the history of a single path. Computed recursively from a changeset's parents and cached. structures, computed recursively from a changeset's parents.
Checkouts pass through three tiers: scion-daemon on the node, a regional scion-cache and the authoritative scion-server over Spanner. Each tier hits its cache in over 99% of requests, and the whole footprint is 200 times smaller than the previous git mirrors.
The tier names, the query order, the above-99% cache hit rate and the 200-fold infrastructure reduction are facts. The simplification is leaving out the write path — commits and merges are created server-side, outside this flow. The diagram does not show how many instances each tier runs.
Claude on both sides of the problem
Scion was built at the same time Claude Mythos Preview became available internally. A hand-written prototype of the git ingestion pipeline was rewritten by Claude with no further instructions — the new version used 20 times less memory and ran 4 times faster.
For monitoring, the team set up "superfans" on Slack: separate model instances each watching a single component. Anthropic also notes that the engineers' role was often to tell the model "no" — adversarial review can be myopic and leads to over-engineering.
Why it matters
Anthropic is not describing a product but the first documented case of developer infrastructure buckling under the weight of model-written code. The question of what CI even means when a thousand changes merge while tests run stops being hypothetical. Anthropic's scale is unusual, but the direction is clear.
What's next
- Scion will not be released externally — it needs its own code review, code search and a migration of the whole development lifecycle
- The company dropped the global merge-queue lock and moved testing to post-merge and pre-deploy stages
- Antique, the new code review tool, has no separate technical write-up yet
Sources
- Anthropic Engineering — Redesigning source control at Anthropic
- Simon Willison's Weblog — Redesigning source control at Anthropic





