Boris Cherny: How We Built Claude Code
Boris Cherny, creator of Claude Code, shares the development philosophy behind the AI coding tool, emphasizing building for future models, leveraging latent user demand, and the surprising longevity of the terminal interface.
A Philosophy of Building for the Future
The core development principle at Anthropic, and for Claude Code specifically, is to not build for the model of today, but for the model that will exist in six months. This forward-looking approach anticipates the rapid, exponential improvement in model capabilities. Builders are advised to identify the current frontiers where a model is weak, with the confidence that it will become proficient in those areas over time.
This philosophy is heavily influenced by Rich Sutton’s “The Bitter Lesson,” which posits that general models that leverage computation will ultimately outperform more specialized, human-designed systems. Consequently, the Claude Code team is cautious about building what they call “scaffolding”—product features or code that compensates for a model’s current shortcomings. This scaffolding often provides a temporary 10-20% performance gain but is rendered obsolete by the next model iteration.
“Never bet against the model… We could also just wait like a couple of months and the model can probably just do the thing instead.”
This results in a dynamic and ephemeral codebase. Virtually no part of Claude Code that existed six months ago is still in the product today. The entire application is constantly being written, rewritten, and refactored as model capabilities advance, with tools and features being added and removed every couple of weeks.
The Accidental Genius of the Terminal
Claude Code’s existence as a command-line interface (CLI) was not a grand design but an accident. It began as a simple terminal-based chat application built by Boris Cherny to familiarize himself with the Anthropic API. The initial goal was simply to explore what a coding product could be.
The “aha!” moment came when the model was given a bash tool. When asked, “What music am I listening to?” the model, Sonnet 3.5 at the time, independently wrote and executed AppleScript to query the user’s music player. This demonstrated an innate desire to use tools and interact with the world, which became a foundational insight for the product’s direction.
The terminal, chosen for its simplicity and lack of UI overhead, proved to be a surprisingly effective and enduring form factor. Its constraints fostered an elegant and powerful developer experience that resonated deeply with engineers, leading to rapid, viral adoption within Anthropic long before its public release.
Features Born from Latent Demand
A key product principle is to identify and serve “latent demand”—making it easier for users to do what they are already trying to do. Many of Claude Code’s core features originated from observing user workarounds and desires.
CLAUDE.md
The concept for CLAUDE.md emerged when developers were observed writing their own markdown files with instructions and context, which they would then feed to the model. This behavior was formalized into a feature that allows teams to maintain a shared set of instructions and context checked into their codebase. The advice for maintaining these files is to be minimal; if a CLAUDE.md becomes too long or complex, it’s often best to delete it and start fresh, adding instructions back only as needed, as newer models require less guidance.
Plan Mode
Plan Mode was created in a 30-minute coding session on a Sunday night in response to observing users explicitly asking the model to “plan this out but don’t write any code yet.” The implementation is deceptively simple: it just adds a single sentence to the prompt, “please don’t code.” While currently a heavily used feature to ensure the model is on the right track before execution, Boris predicts it may have a limited lifespan as models become capable enough to generate and execute a correct plan from a single prompt.
From Solo Agent to Agent Swarms
The architecture of work is evolving from single-agent interactions to multi-agent collaboration. Claude Code heavily utilizes the concept of sub-agents, which are recursive instances of Claude Code prompted by a primary instance (“Mama Claude”). This is particularly effective for complex debugging or research tasks, where a user might instruct the agent to, for example, “use five sub-agents, research in parallel, and then see what they come up with.”
This idea extends to Claude Teams and the concept of “agent topologies.” The core principle is leveraging uncorrelated context windows, where multiple agents with fresh contexts tackle a problem, providing a form of “test-time compute” that increases overall capability. A prime example of this was building Claude Code’s plugin feature, which was accomplished by a “swarm” of agents over a weekend. A high-level spec was provided to a primary agent, which then created tasks in Asana, spawned other agents to pick up those tasks, and orchestrated the entire development process with minimal human intervention.
The Future of Software Development
The trajectory of AI’s impact on coding points to a radical transformation of the industry.
- Coding as a Solved Problem: The prediction is that coding will be “generally solved for everyone.” At Anthropic, code generation by Claude is already between 70-90%, with many engineers, including Boris, writing 100% of their code via the agent without using a traditional IDE.
- The Evolving Role of the Engineer: The title “Software Engineer” may become a vestige. The role will shift towards being a “builder” or “product manager,” where tasks involve writing specs and talking to users, and coding is a universal skill across all functions (PMs, designers, finance, etc.).
- Unprecedented Productivity: Since the launch of Claude Code, productivity per engineer at Anthropic has grown by 150%, measured by pull requests and commit lifetime. This represents a leap far beyond the single-digit percentage gains that used to take hundreds of people a year to achieve.
To thrive in this new environment, the most valuable skill is not deep-seated opinions from past experience, but a beginner’s mindset, the ability to think from first principles, and the humility to constantly relearn as the models evolve.