Git is a decentralized system. Every clone gets a complete, independent code repository, and even fully offline it can compute diffs, view history, trace who last modified a line of code, and check out any version. For the vast majority of repositories, this design is very reasonable, and it is an important reason Git became the industry standard. But Anthropic's repository size has already crossed beyond this design's comfort zone.
The specific numbers are: the main branch history alone is close to 100GB, and the compressed working copy exceeds 25GB. The CI system alone performs about 25 million code checkouts per day, not counting development environments, Agent sandboxes, and research tasks. If the needed data were fetched directly from Git every time, the daily data transfer volume would exceed 600PB.
Anthropic did not fail to try conventional solutions. They used shallow clones, sparse checkouts, Promisor Remote, and also built internal Git mirrors that stored repository snapshots in object storage. At peak load, they ran several hundred internal Git mirror servers. These solutions did hold up for a while, but they became increasingly difficult to maintain as merge volume grew: between two snapshot refreshes, the gap between the snapshot and the latest version of the main branch grows larger and larger; and to make partially cloned repositories correctly perform history-dependent operations such as diff and blame, the maintenance investment also grows higher and higher.
After re-examining usage patterns, Anthropic found that they had in fact always used Git as a centralized system. All development work revolved around one authoritative repository, and the clients were almost all Agents and automation tasks that were always online anyway. The features Git provides for distributed and offline development instead limited scalability as the repository kept growing.