How Claude Code was built: lessons from its creator Boris Cherny

Executive overview

Most AI coding tools were built around the model of today. Claude Code was built for the model six months from now — a bet that paid off because the model kept improving into the scaffolding.

Boris Cherny started with the simplest possible thing: a terminal chat app to learn the Anthropic API. The terminal stayed because it was cheap, flexible, and already useful before anyone planned it that way.

The core insight: latent demand and "never bet against the model" explain almost every product decision Claude Code has made.

How Claude Code started

  • The terminal was chosen because it required no UI — it was the path of least resistance for a solo engineer.
  • The first tool given to the model was bash, copied directly from the docs example.
  • The first "AGI moment": the model wrote AppleScript to find what music was playing — unprompted and unexpected.
  • Two days after the prototype, a teammate was already using it to write code; Dario asked if engineers were being forced to use it.
  • The CLI stayed not out of principle, but because no UI could be built that would still be relevant six months later given how fast the model improved.

Latent demand as product strategy

  • Every major Claude Code feature came from watching what users were already doing, not from a master plan.
  • Latent demand: people will only do things they already do — make the existing thing easier, don't ask them to do a new thing.
  • CLAUDE.md emerged because users were already writing markdown files and asking the model to read them.
  • Plan mode was shipped in 30 minutes on a Sunday night after seeing the same pattern in GitHub issues and Slack feedback: users wanted the model to plan without coding yet.
  • Verbose mode, hidden file reads, and the spinner have all gone through dozens of iterations driven by user revolt or GitHub issues.

Never bet against the model

  • Scaffolding (code that isn't the model itself) can improve performance 10-20% in a given area — then the next model makes it irrelevant.
  • The choice is always: build scaffolding now and rebuild it later, or wait and get the improvement for free.
  • There is no part of Claude Code that existed six months ago — the entire codebase is continuously rewritten.
  • The "Bitter Lesson" (Rich Sutton) is framed on the wall: the more general model will always beat the more specific one.
  • Plan mode itself may have a limited lifespan — Claude Code can now enter plan mode on its own.

CLAUDE.md: less is more

  • Boris's personal CLAUDE.md has exactly two lines: enable auto-merge on PRs, and post new PRs to the team Slack channel.
  • Everything else is in the repo-level CLAUDE.md that the whole team contributes to.
  • If CLAUDE.md gets too long: delete it and start fresh, adding back only what the model gets wrong.
  • With every model release, you need to add less and less.

How to use Claude Code effectively

  • Start 80% of sessions in plan mode; open multiple terminal tabs with parallel plans before executing any.
  • Once the plan is solid, modern models (Opus 4.5+) stay on track almost every time — babysitting has moved from after the plan to only before it.
  • For hard bugs, spin up multiple subagents in parallel: one in the logs, one in the code path.
  • Calibrate subagent count to task difficulty — 3, 5, or even 10 for genuinely hard research tasks.
  • If something is repeated enough to matter, put it in CLAUDE.md; otherwise just prompt Claude directly.

Hiring and team structure

  • Boris screens for "beginner mindset" — engineers who can recognize when their strong opinions are no longer relevant.
  • Interview question: "Tell me about a time you were wrong" — can they own the mistake and show they learned?
  • Effective engineers at Anthropic are bimodal: extreme specialists (e.g., runtime internals) or extreme generalists who span product, design, and research.
  • A standout hire: an engineer who gave Claude Code a tool to test arbitrary tools, then had Claude write its own tool — rather than implementing it herself.
  • Claude Code transcripts of candidates building features are now being evaluated as a hiring signal.

Agents and the future of building

  • The plugins feature was built entirely by a swarm of agents over a weekend with minimal human intervention — from a spec and an Asana board.
  • Subagents are just recursive Claude Code instances ("mama Claude" spawns children).
  • Claude Code is already in web, desktop, iOS, Android, Slack, GitHub, VS Code, and JetBrains — the CLI form factor has outlived every prediction of its death.
  • Coding at Anthropic: 70-90% of code is written by Claude Code across teams; for Boris personally, 100% since Opus 4.5.
  • Productivity per engineer at Anthropic has grown 150% since Claude Code shipped.
  • The "software engineer" title may disappear — replaced by builders who also write specs, talk to users, and ship across functions.

Advice for founders building on LLMs

  • Build for the model six months from now, not the model today — otherwise you'll find PMF and then get leapfrogged.
  • Identify the frontier where the model is weak today; it will get good at that, and you just have to wait.
  • Think about what the model wants to do, then remove friction from that — don't put it in a box with a rigid API.
  • For DevTool founders: serve the latent demand of both the user and the model simultaneously.
  • Expect your scaffolding to be tech debt; plan to delete and rewrite it with every major model release.

More like this — when you're ready for early access.

Join the waitlist for a personal account and content recommendations based on what you're working on.

No spam. Unsubscribe at any time.

You're on the list. We'll be in touch before launch.

Get early access to the full library.

Join the waitlist for a personal account and content recommendations based on what you're working on.

No spam. Unsubscribe at any time.

You're on the list. We'll be in touch before launch.

Be among the first to get personalised recommendations tailored to your stage in business.

No spam.

You're on the list. We'll be in touch before launch.

Be among the first to get personalised recommendations tailored to your stage in business.

No spam.

You're on the list. We'll be in touch before launch.