<!-- mobian-agent-page publisher="dailydev" canonical="https://daily.dev/posts/how-anthropic-redesigned-source-control-bq9ontr5s" -->

---
title: How Anthropic Redesigned Source Control | daily.dev
description: Anthropic built a new source control system called Scion to replace Git for its massive monorepo. Merged changes grew from about 2,500 per day in May 2026 to...
canonical: https://daily.dev/posts/how-anthropic-redesigned-source-control-bq9ontr5s
twitter:card: summary_large_image
twitter:site: @dailydotdev
og:type: website
og:site_name: daily.dev
og:title: How Anthropic Redesigned Source Control | daily.dev
og:description: Anthropic built a new source control system called Scion to replace Git for its massive monorepo. Merged changes grew from about 2,500 per day in May 2026 to...
og:url: https://daily.dev/posts/how-anthropic-redesigned-source-control-bq9ontr5s
og:image: https://api.daily.dev/og/posts/bQ9ONtR5s.png
og:image:alt: How Anthropic Redesigned Source Control
og:image:width: 1200
og:image:height: 630
og:locale: en
---

> ## Documentation Index
> Fetch the complete documentation index at: https://daily.dev/llms.txt
> Use this file to discover all available pages before exploring further.

# How Anthropic Redesigned Source Control

**[ByteByteGo](https://daily.dev/sources/bytebytego)** · 12 min read · 31 upvotes · 3 comments

## Summary

Anthropic built a new source control system called Scion to replace Git for its massive monorepo. Merged changes grew from about 2,500 per day in May 2026 to over 30,000 per day by September, with the main branch history near 100 GB. CI alone runs about 25 million checkouts daily, and naive full clones would generate over 600 PB of traffic per day. Scion moves repository operations like commits, diffs, merges, and rebases to the server, with clients keeping only a limited cache. Changeset metadata lives in Spanner, file contents in cloud object storage, and a layered cache (scion-daemon, scion-cache, authoritative servers) shares immutable, content-addressed objects. Just seven engineers built Scion and its companion code review tool, Antique.

## Full article

daily.dev links to this article rather than hosting it. Read it at the original source: <https://blog.bytebytego.com/p/how-anthropic-redesigned-source-control>

## Questions this post answers

### Why did Anthropic stop using Git for its monorepo and build a new system called Scion?

Git's model of giving every client a self-contained local clone became too expensive at Anthropic's scale. Merged changes grew from about 2,500 per day in May 2026 to over 30,000 per day by September, with CI performing roughly 25 million checkouts daily. A naive full clone per checkout would generate over 600 PB of daily traffic, so Anthropic built Scion, a server-centric system where clients query a service instead of holding repository data locally.

_Engineers weighing source control architecture at scale can follow these tradeoffs on daily.dev._

### How does Scion store and identify file changes compared to Git?

Scion uses a changeset as its basic unit, recording files changed relative to the first parent along with references to blobs (file contents) and trees (directory structure), rather than line-by-line patches. Objects are content-addressed using a hash of their contents, making them immutable, so a given ID always refers to the same data. Changeset metadata is stored in Spanner, while compressed file contents live in cloud object storage.

_Developers comparing version control internals can track deep dives like this on daily.dev._

### How does Scion's caching architecture scale to many compute nodes and jobs?

Scion uses a three-layer cache hierarchy: jobs on a compute node talk to a local 'scion-daemon', missing objects come from the regional 'scion-cache' shared across nodes, and remaining misses go to authoritative Scion servers reading from Spanner or cloud storage. All layers share the same object-request interface, and content-addressed immutable objects mean cached data never needs freshness checks, containing failures within each cache layer.

_Infrastructure engineers designing multi-layer caching systems can keep up with cases like this on daily.dev._

## Community discussion

Top comments from developers on daily.dev.

**@arslana4** · 0 upvotes

> Wild that both Anthropic and OpenAI rebuilt their git backends within months of each other... agents turned source control into a write-heavy distributed systems problem basically overnight. The detail that gets me is seven engineers built this. Content-addressed immutable objects doing most of the heavy lifting, Spanner for metadata, caches for everything else... the boring primitives keep winning

**@ernestoporto** · 0 upvotes

> it will be interesting to see if this catches on or if everyone will just vibecode their own 😑

**@orkeilius** · 0 upvotes

> I wonder if it genualy useful ?
>
>
> Or if that could have been fixed by spliting repo or writing less but better code/commit ?

## Similar posts on daily.dev

- [Redesigning source control at Anthropic](https://daily.dev/posts/redesigning-source-control-at-anthropic-h0zfzbh1m) · Reid Burke · 0 upvotes · 1 comments
- [An online-first version control system in this agentic era](https://daily.dev/posts/an-online-first-version-control-system-in-this-agentic-era-j2oxfrzb2) · Amit Merchant · 27 upvotes · 2 comments

---

Tags: [#general-programming](https://daily.dev/tags/general-programming), [#git](https://daily.dev/tags/git), [#anthropic](https://daily.dev/tags/anthropic), [#distributed-systems](https://daily.dev/tags/distributed-systems)

[View this post on daily.dev](https://daily.dev/posts/how-anthropic-redesigned-source-control-bq9ontr5s)

```json
{"@context":"https://schema.org","@graph":[{"@type":"Organization","@id":"https://daily.dev/#organization","name":"daily.dev","url":"https://daily.dev","logo":{"@type":"ImageObject","url":"https://daily.dev/apple-touch-icon.png","width":180,"height":180},"sameAs":["https://twitter.com/dailydotdev","https://github.com/dailydotdev","https://www.linkedin.com/company/daily-dev-ltd"]},{"@type":"WebSite","@id":"https://daily.dev/#website","url":"https://daily.dev","name":"daily.dev","publisher":{"@id":"https://daily.dev/#organization"},"potentialAction":{"@type":"SearchAction","target":{"@type":"EntryPoint","urlTemplate":"https://daily.dev/search?q={search_term_string}"},"query-input":"required name=search_term_string"}}]}
{"@context":"https://schema.org","@type":"TechArticle","headline":"How Anthropic Redesigned Source Control","url":"https://daily.dev/posts/how-anthropic-redesigned-source-control-bq9ontr5s","mainEntityOfPage":{"@type":"WebPage","@id":"https://daily.dev/posts/how-anthropic-redesigned-source-control-bq9ontr5s"},"datePublished":"2026-11-04T16:34:18.204Z","dateModified":"2026-11-04T16:39:23.549Z","description":"Anthropic built a new source control system called Scion to replace Git for its massive monorepo. Merged changes grew from about 2,500 per day in May 2026 to...","image":"https://media.daily.dev/image/upload/f_auto,q_auto/v1/posts/fdd25ddec22051ce94224c1b94f6a3ab?_a=AQAEuop","thumbnailUrl":"https://media.daily.dev/image/upload/f_auto,q_auto/v1/posts/fdd25ddec22051ce94224c1b94f6a3ab?_a=AQAEuop","isAccessibleForFree":true,"articleSection":"ByteByteGo","inLanguage":"en","publisher":{"@type":"Organization","name":"daily.dev","url":"https://daily.dev","logo":{"@type":"ImageObject","url":"https://daily.dev/apple-touch-icon.png","width":180,"height":180}},"author":{"@type":"Organization","name":"ByteByteGo","logo":"https://media.daily.dev/image/upload/t_logo,f_auto/v1/logos/35be29234ee14d01a9cd049c52e12753","url":"https://daily.dev/sources/bytebytego"},"commentCount":3,"discussionUrl":"https://daily.dev/posts/how-anthropic-redesigned-source-control-bq9ontr5s","interactionStatistic":[{"@type":"InteractionCounter","interactionType":{"@type":"LikeAction"},"userInteractionCount":31},{"@type":"InteractionCounter","interactionType":{"@type":"CommentAction"},"userInteractionCount":3}],"keywords":"general-programming,git,anthropic,distributed-systems","timeRequired":"PT12M"}
{"@context":"https://schema.org","@type":"BreadcrumbList","itemListElement":[{"@type":"ListItem","position":1,"name":"Home","item":"https://daily.dev"},{"@type":"ListItem","position":2,"name":"ByteByteGo","item":"https://daily.dev/sources/bytebytego"},{"@type":"ListItem","position":3,"name":"How Anthropic Redesigned Source Control"}]}
{"@context":"https://schema.org","@type":"WebPage","@id":"https://daily.dev/posts/how-anthropic-redesigned-source-control-bq9ontr5s","comment":[{"@type":"Comment","text":"Wild that both Anthropic and OpenAI rebuilt their git backends within months of each other… agents turned source control into a write-heavy distributed systems problem basically overnight. The detail that gets me is seven engineers built this. Content-addressed immutable objects doing most of the heavy lifting, Spanner for metadata, caches for everything else… the boring primitives keep winning","datePublished":"2026-11-06T23:32:21.046Z","url":"https://daily.dev/posts/bQ9ONtR5s#c-pjdic4OFU","author":{"@type":"Person","name":"Arslan Ahmad","url":"https://daily.dev/arslana4","image":"https://media.daily.dev/image/upload/s--uqaKkLUk--/f_auto,q_auto/v1/avatars/avatar_eaY5cld3PAQk2zpphnPSN"}},{"@type":"Comment","text":"it will be interesting to see if this catches on or if everyone will just vibecode their own 😑","datePublished":"2026-11-06T15:38:58.734Z","url":"https://daily.dev/posts/bQ9ONtR5s#c-oxBBd1FE8","author":{"@type":"Person","name":"Ernest Oporto","url":"https://daily.dev/ernestoporto","image":"https://media.daily.dev/image/upload/s--5At_l6_K--/f_auto/v1789389230/avatars/avatar_WlGqx4f45NvFnLVg0Bn2R?_a=BAMAMicg0"}},{"@type":"Comment","text":"I wonder if it genualy useful ?\nOr if that could have been fixed by spliting repo or writing less but better code/commit ?","datePublished":"2026-11-06T09:39:21.751Z","url":"https://daily.dev/posts/bQ9ONtR5s#c-ioscL0xzs","author":{"@type":"Person","name":"orkeilius","url":"https://daily.dev/orkeilius","image":"https://avatars.githubusercontent.com/u/63045634?v=4"}}]}
{"@context":"https://schema.org","@type":"FAQPage","@id":"https://daily.dev/posts/how-anthropic-redesigned-source-control-bq9ontr5s#faq","mainEntity":[{"@type":"Question","name":"Why did Anthropic stop using Git for its monorepo and build a new system called Scion?","acceptedAnswer":{"@type":"Answer","text":"Git's model of giving every client a self-contained local clone became too expensive at Anthropic's scale. Merged changes grew from about 2,500 per day in May 2026 to over 30,000 per day by September, with CI performing roughly 25 million checkouts daily. A naive full clone per checkout would generate over 600 PB of daily traffic, so Anthropic built Scion, a server-centric system where clients query a service instead of holding repository data locally. Engineers weighing source control architecture at scale can follow these tradeoffs on daily.dev."}},{"@type":"Question","name":"How does Scion store and identify file changes compared to Git?","acceptedAnswer":{"@type":"Answer","text":"Scion uses a changeset as its basic unit, recording files changed relative to the first parent along with references to blobs (file contents) and trees (directory structure), rather than line-by-line patches. Objects are content-addressed using a hash of their contents, making them immutable, so a given ID always refers to the same data. Changeset metadata is stored in Spanner, while compressed file contents live in cloud object storage. Developers comparing version control internals can track deep dives like this on daily.dev."}},{"@type":"Question","name":"How does Scion's caching architecture scale to many compute nodes and jobs?","acceptedAnswer":{"@type":"Answer","text":"Scion uses a three-layer cache hierarchy: jobs on a compute node talk to a local 'scion-daemon', missing objects come from the regional 'scion-cache' shared across nodes, and remaining misses go to authoritative Scion servers reading from Spanner or cloud storage. All layers share the same object-request interface, and content-addressed immutable objects mean cached data never needs freshness checks, containing failures within each cache layer. Infrastructure engineers designing multi-layer caching systems can keep up with cases like this on daily.dev."}}]}
```

