How Claude Code Is Built
Gergely Orosz ยท pdf ยท 2025-09-23 source โ Reader ๐ฅ๏ธ
Agent-Native DesignAgentic EngineeringClaude CodeMulti-Agent OrchestrationPull Requests & Async Code ReviewRisk TieringSRE & Incident ResponseTest-Driven Development
Claude Code is built by a small team that treats the Claude model itself โ not its own surrounding code โ as the real product, deliberately minimizing scaffolding, choosing an "on-distribution" tech stack the model already masters, deleting code whenever a new model release subsumes it, and restructuring code review, testing, incident response, and prototyping around AI doing the first pass; Orosz presents this as a plausible preview of how "AI-first" engineering teams will operate, while flagging that Anthropic's unlimited, cost-free access to its own frontier model and its identity as a research lab (not a product company) limit how directly the specifics transfer elsewhere.
practical ยท mixed โ Primarily expository/narrative reporting (an interview-based case study of how one team builds a product), structured around seven numbered sections, but it closes with an explicitly argumentative claim: that this team's practices preview the future of AI-assisted engineering teams generally โ a claim the author himself partially undercuts with caveats about Anthropic's atypical context.
Structure
| Part | Role |
|---|---|
| Origin story: a music-controlling AppleScript prototype given filesystem/bash access, Boris Cherny's early solo use, internal viral adoption, and the internal debate over whether to release Claude Code publicly at all | context/evidence |
| Tech stack and architecture: TypeScript/React+Ink/Yoga/Bun, chosen to be 'on distribution'; no virtualization/sandboxing; a seek-permission system as the safety mechanism; a feature list (hooks, MCP, output styles, enterprise IAM, SDK) | evidence |
| Building and shipping features in days, not weeks: 60-100 internal releases/day, ~5 PRs/engineer/day, the 20-prototype todo-list case study | evidence |
| Redesigning the terminal UX: contextual loading messages, tooltips, a vibe-coded Markdown renderer | evidence/example |
| What 'AI-first' software engineering looks like: AI first-pass code/security review, TDD renaissance, AI-assisted incident response, framework migrations, BigQuery/monitoring dashboards, deliberately minimal feature-flagging, and 'multi-clauding' (parallel agents) | core argument |
| Building subagents: the three-day hackathon that discarded a complex multi-agent topology for the simplest viable orchestrator design | evidence/case study |
| Future of AI-assisted engineering teams: obsessive dogfooding, 5+ prototypes/day as a new baseline, product-minded engineers as a hiring implication, 'developer joy,' and an explicit caveat section on how Anthropic is a 'different type of startup' | conclusion, partially self-undermining |
Key terms
- Product overhang
Boris Cherny's term (attributed to AI-industry usage) for the gap between what a model is already capable of doing and what the product built around it is designed to let it do โ i.e., the model has latent capability the product hasn't caught up to exposing. - On distribution / off distribution
Whether a chosen technology (a language, framework, or stack) is something the model already has deep training exposure to and is good at using ("on distribution": TypeScript, React) versus something more exotic the model would need to be explicitly taught ("off distribution"). - AI-first software engineering
Not merely using AI tools alongside a normal process, but restructuring the process itself so AI does the first pass by default โ on code review, security review, test-writing, incident triage, and monitoring-dashboard construction โ with a human providing a second pass only where warranted. - Multi-clauding
Running several separate Claude Code agent instances in parallel on different tasks at once, as a single engineer, rather than working on one task at a time.
Propositions
- explicitClaude Code originated from an internal prototype that gave Claude filesystem and bash access, which revealed "product overhang": the model could already explore a codebase (reading files, following imports, chaining reads) far beyond what any existing product captured.conf: high
- explicitAnthropic debated whether to keep Claude Code as an internal competitive advantage rather than release it publicly, and decided to release it because exposing a tool that "almost certainly" gets heavy real-world use serves Anthropic's core business โ model-safety research โ better than hoarding it.conf: high
- explicitAnthropic's engineering team saw a 67% increase in pull-request throughput per engineer even as team size doubled, inverting the usual pattern where fast headcount growth drags per-engineer output down; the team credits Claude Code for this.conf: high
- explicitThe team deliberately chose an "on-distribution" tech stack (TypeScript, React with Ink, Yoga, Bun) specifically because the model is already strong with it, which lets Claude Code build and maintain roughly 90% of its own code without the team having to teach the model an unfamiliar stack.conf: high
- explicitThe team's governing design principle is to write as little business logic and UI scaffolding as possible so users "feel the model as raw as possible," and to delete code โ e.g., roughly half the system prompt with the 4.0 models โ whenever a new model release can do what that code used to do.conf: highsupportsHow building software is changing at Anthropic ยท p13 โ The team's concrete practice of deleting scaffolding code (e.g. half the system prompt) whenever a new model release subsumes it is a specific instance of the later article's broader claim that design assumptions must be re-tested at every new model generation.
- explicitClaude Code runs locally with no virtualization or sandboxing, and relies instead on a tiered, user-granted permission system (grant once, grant for future sessions, or reject) as its safety mechanism โ a choice driven by the same "pick the simplest option" heuristic rather than by a safety-first architecture.conf: highextendsHow Anthropic Teams Use Claude Code ยท p4 โ Claude Code's own grant/grant-persistently/reject permission system is the tool-level mechanism underlying the checkpoint-heavy, revert-friendly workflow that other Anthropic teams report adopting at the practice level to make autonomous agent work safe without sandboxing.
- explicitA team of roughly a dozen engineers sustains 60-100 internal releases and about one external release per day, and treats disposable prototyping as cheap enough that one engineer built and evaluated 20 distinct UI variants for a single feature (todo-list visibility) within two days.conf: high
- explicitClaude now performs the first pass on all code reviews and security reviews across Anthropic (not only on the Claude Code team), with a human engineer always required to provide a second pass.conf: highsupportsHow building software is changing at Anthropic ยท p10 โ Orosz's earlier reporting (Sep 2025) that Claude does first-pass code/security review with a mandatory human second pass is the concrete layered-review pattern that the later 'building software' piece (Jul 2026) generalizes into a broader claim about trust in AI-generated code coming from layered automated review.
- explicitTest-driven development โ described as having fallen out of favor industry-wide in the 2010s because writing tests first felt slow โ has had a practical renaissance on the Claude Code team specifically because Claude 4.0-era models are capable enough to write most tests themselves, giving the agent a concrete target (a failing test) to iterate against.conf: high
- explicitClaude Code is used for oncall and incident response โ triaging incidents by pulling in relevant Slack contacts and Sentry logs, finding root causes, and (with permission) auto-bisecting or reverting changes โ and Boris claims it is often faster at finding root causes than a human engineer.conf: medium
- explicitFeature flags at Anthropic are used sparingly, mainly as compile-time switches to strip unreleased code from external builds rather than as a runtime risk-mitigation or gradual-rollout mechanism, because the team ranks security, then reliability, then speed of iteration, and treats a feature as either ready to ship externally or not.conf: highextendsHow building software is changing at Anthropic ยท p9 โ The earlier 'multi-clauding' data point (25% of Max users run parallel agents, reported as an open question) is the precursor observation that the later article generalizes into 'running 3-10+ parallel agents per person is now normal working practice.'
- explicitAbout 25% of Claude Max subscribers run multiple ("multi-clauding") Claude Code agents in parallel on a given day โ evidence, in the author's view, that programming may be shifting from a historically single-threaded activity toward a parallel one, though he explicitly flags this as an open question rather than a settled finding.conf: highsupportsHow Anthropic Teams Use Claude Code ยท p7 โ The subagents feature's own founding design (a simple orchestrator invoking narrowly-scoped agents, no inter-agent chat) is the underlying mechanism that other Anthropic teams are later reported applying when they decompose a complex workflow into specialized sub-agents.
- explicitThe subagents feature was built in a three-day internal hackathon in which the team spent the first two days designing, then discarding, a complex multi-agent topology with inter-agent message buses, before converging on day three on the simplest viable design: a single blocking orchestrator invoking agents defined only via the existing "/" command and markdown files, with no agent-to-agent communication.conf: high
- explicitAnthropic researchers' own (separately referenced, and explicitly described as inconclusive) research into multi-agent patterns reinforced the subagents team's decision to favor a simple architecture over a complex one.conf: high
- explicitThe author identifies specific conditions at Anthropic โ being a research lab rather than a product company, treating the LLM itself (not the surrounding code) as the real product, and giving every engineer unrestricted, cost-free access to its most expensive model โ as factors that may limit how directly other companies can copy the Claude Code team's AI-first practices.conf: high
- explicitcontestedBoris and Sid both report that AI agents have made software engineering more fun and energizing overall โ not despite the mechanical parts of the job being automated, but because of the sheer velocity and breadth of experimentation agentic tools now allow โ comparable to the feeling of programming as a hobbyist discovering the craft for the first time.conf: highcontradictsPodcast: The AI Joy Gap: Why Some Developers Thrive While Others Struggle ยท p2 โ Boris and Sid report AI agents making engineering more fun and energizing overall; this directly conflicts with the AI Joy Gap podcast's claim that AI has absorbed the creative, enjoyable parts of development and left developers with the least enjoyable residual work.
- explicitAnthropic credits Claude Code with helping engineers at other companies complete framework migrations far faster than estimated โ one cited case: an estimated two engineer-years (or 10 engineers over roughly 2.5 months) completed by a single engineer in two weeks โ a claim the author says he would normally be skeptical of but treats as credible because he has heard similar reports from other teams.conf: medium
- implicitClaude Code's founding engineers' product-minded, experimental profile (deep craft experience, zero-to-one product experience, entrepreneurial, willing to discard their own prototypes) is implicitly what let a team with no designers, researchers, or product managers reach a strong product-market fit, suggesting more startups may seek out similarly profiled engineers because AI agents amplify exactly that kind of judgment.conf: medium
Arguments
Claude Code should run locally with no virtualization/sandboxing and rely on a user-granted permission system as its safety mechanism. strength: medium
Explicit premises:
- Simplicity is the team's default heuristic for every design decision
- The simplest answers to 'where do you run shell commands' and 'where do you read/write files' are locally
- A tiered permission system can intercept a dangerous action (e.g. deleting a file) before it happens, and lets users grant, grant-persistently, or reject
Implicit premises:
- The marginal safety benefit of a VM/container sandbox is smaller than the complexity cost it would add to the product
- Users will reliably notice and correctly respond to permission prompts, rather than habitually auto-approving them over time
- A team-, project-, and company-tiered settings file (allow-listing commands like source-control check-ins) will not itself become a new, under-scrutinized source of silently over-broad permission
Inferences:
- This design pattern externalizes safety responsibility from the architecture onto the end user's permission decisions, which only works as long as users remain an effective last line of defense
Claude Code's AI-first restructuring of code review, testing, incident response, and monitoring previews how general engineering teams will work in the near future. strength: low
Explicit premises:
- Claude Code's own team has restructured code review, testing, oncall, and monitoring around AI doing first-pass work
- Around 80% of Anthropic's technical staff use Claude Code daily ('obsessive dogfooding')
- Other companies report similar wins (faster migrations, faster incident root-causing) using Claude Code
Implicit premises:
- Anthropic's AI-first practices are not strongly conditioned on its atypical context (unlimited, cost-free model access; the LLM itself being the actual product)
- What works for a roughly dozen-engineer team building a CLI tool generalizes to larger, more structurally diverse engineering organizations with different cost constraints, legacy systems, and compliance requirements
Inferences:
- If other organizations' token-cost and quota constraints were relaxed, their review/testing/oncall processes would converge toward Anthropic's current practice
Narratives
- Boris's walkthrough of building and testing 20 distinct UI prototypes for the todo-list feature over two days, with actual prompts shown for each iteration (hiding todos below tool calls, an interactive pill, a sliding drawer, moving the spinner), ending in the shipped Tab-toggle design.
โ Shows, rather than argues, that agentic prototyping collapses the cost of trying an idea to the point where mockups and formal design review become close to optional for fast UI decisions โ directly supporting the proposition that 5-10 working prototypes per day is now achievable. - The subagents feature's three-day hackathon arc: day one sketches a complex, inter-agent-communicating topology; day two the team discards it as too complex for users to understand inside a simple terminal UI; day three they ship the simplest viable orchestrator.
โ Shows that even a team moving at agentic speed still exercises a deliberate, human engineering-judgment discipline of discarding complexity in favor of the simplest workable design โ it is not simply 'let the agent build it,' but a classic design-review process compressed into three days. - Boris recounts glancing at a data scientist's screen and discovering they had figured out how to run Claude Code to write BigQuery queries and build visualizations, unprompted and unsupported by the Claude Code team.
โ Supports, through a single concrete anecdote, the broader claim that Claude Code's organic adoption now extends well beyond the software engineers it was originally named and built for.
Questions addressed
- โ
How do you make a locally-run AI agent with filesystem and shell access safe enough to use without constant hand-holding, without resorting to a sandboxed/virtualized architecture?
A tiered, user-granted permission system (grant once / grant for future sessions / reject), backed by a multi-level settings file (project, user, company) that can allow-list already-approved commands via static analysis. - โญ How should an engineering team restructure code review, testing, and oncall once AI agents can reliably do first-pass work on all three?
The article describes Anthropic's current answer (AI first pass, mandatory human second pass on review; AI-authored tests as the default; AI-assisted incident triage with human-in-the-driver's-seat) but does not resolve where this line should permanently sit as models keep improving, nor whether the human second pass stays meaningfully rigorous once a human has learned to trust the AI's first pass. - โญ Once a human reviewer knows an AI already gave a piece of code a first-pass review, will that human's second-pass review remain as rigorous as an unaided review, or will trust in the first pass quietly erode the second pass's diligence?
Gaps
- incompleteNo quantitative comparison is given between outcomes under Claude-Code-first-pass review/testing/incident-response and Anthropic's own prior, pre-Claude-Code baseline. Every improvement cited (67% PR throughput increase, faster incident root-causing, two-week migrations) is self-reported by Anthropic insiders or by customer companies with an interest in the tool's success, with no external or controlled measurement.
Read next: Read against extract-dx-measuring-ai-impact and extract-five-studies-ai-software-engineering, which raise the same self-selection and construct-measurement concerns for AI-engineering-impact claims generally. - incompleteThe article notes Anthropic deliberately keeps feature flags minimal because 'feature flags slow the team down,' but never examines whether this is sustainable given the growth-driven monitoring load the same article describes (alerts firing 'pretty much every day' simply from rapid growth) โ nor what happens to blast-radius risk as Claude Code's external user base keeps scaling well past where it is today.
Read next: Read against async-code-reviews-choking-throughput's discussion of trunk-based development and feature flags as an alternative risk-mitigation mechanism the article doesn't engage with directly. - incompleteThe author treats unrestricted, cost-free access to the most expensive Claude model as a structural advantage unique to Anthropic, but never asks what Claude Code's own internal practices (TDD renaissance, 60-100 releases/day, 5+ prototypes/day) would look like, or whether they would remain viable, under the token-cost and usage-quota constraints that every other company โ including Claude Code's own external users, per a reader comment quoted in the discussion thread โ actually operates under.
Read next: Compare against practitioner reports from non-Anthropic teams operating under real token budgets, to see which of these practices survive a hard cost constraint. - incompleteThe 67% PR-throughput increase coincides with, but the article never disentangles from, the fact that new joiners during Anthropic's hiring surge were likely disproportionately experienced senior engineers already fluent with Claude Code's own on-distribution stack (TypeScript/React) โ leaving open whether the throughput gain is attributable to Claude Code itself or to who Anthropic was able to hire.
Read next: Look for engineering-productivity research that isolates tool effect from hiring-composition effect during headcount-doubling periods. - incompleteThe piece asserts that experienced engineers get a genuine, not performative, boost and renewed 'developer joy' from AI agents, but never engages the directly opposing claim elsewhere in the discourse that AI absorbs the creative, enjoyable parts of development (architecture, structure decisions) and leaves developers with the least enjoyable residual work โ nor asks whether the 'joy' finding here is specific to founder-level engineers with full autonomy over scope and roadmap, versus engineers executing against someone else's prescribed Claude Code workflow.
Read next: Read directly against extract-ai-joy-gap-developers#p2, which makes the contrary claim from a different (non-founder, non-Anthropic) vantage point.
Related documents
- Podcast: The AI Joy Gap: Why Some Developers Thrive While Others Struggle
- Have your agent record video demos of its work with shot-scraper video
- [FULL WORKSHOP] AI Coding For Real Engineers - Matt Pocock, AI Hero
- Charlie Hills ๐ฆฉ's Post
- Claude Code: Best practices for agentic coding
- Fragments: February 18
- How we Claude Code
- The Future Of Software Engineering
- Practices I Abandoned with Agents: An Ode to Test-Driven Development
- agent-skills/docs/comparison.md at main ยท addyosmani/agent-skills ยท GitHub