TLDR;
This podcast features Cat and Boris, the creators of Claude Code, discussing the origins, development, and future of their AI-powered coding tool. They highlight the importance of "ant fooding" (internal dogfooding), the evolution of tool usage, and the shift towards making AI coding tools accessible to non-technical users. They also touch on the challenges of balancing power-user customisation with simplicity and intuitiveness for broader adoption.
- Claude Code was not intentionally designed but emerged from prototyping and experimentation.
- "Ant fooding" is crucial for rapid feedback and iterative development.
- The team focuses on building a premium experience with the most powerful models, prioritising functionality over throwaway work.
- The future of coding with AI involves longer periods of autonomy and new form factors beyond the CLI.
Introduction [1:26]
Cat and Boris, the creators of Claude Code, express their delight at the positive feedback they've received. The discussion begins with the host's initial experience using Claude Code, highlighting its unique paradigm shift by eliminating the text editor and focusing solely on terminal interaction. This approach marks a departure from previous AI programming harnesses that typically involve a text editor with AI assistance on the side.
Claude Code’s Origin Story [2:25]
The creation of Claude Code was not intentional but rather a result of organic development. Boris recounts his early experiences at Anthropic, where he initially hand-wrote his first pull request (PR) without using the internal tools. Adam Wolf, his ramp-up buddy, rejected the PR and recommended using Quaide, a predecessor to Claude Code. Boris found Quaide impressive but slow and cumbersome. Later, while prototyping with the Anthropic API, he built a terminal-based chat app, which evolved into a more useful tool than expected. The key revelation was the model's eagerness to use tools like bash and AppleScript, automating tasks in response to questions, which inspired the development of Claude Code.
How Anthropic Dogfoods Claude Code [7:03]
Boris sets the technical direction and acts as the product visionary, while Cat focuses on ensuring the product resonates with users and managing the launch process. "Ant fooding," Anthropic's version of dogfooding, involves internal employees extensively using Claude Code daily, providing constant feedback through a dedicated channel. This rapid feedback loop helps identify bugs and assess user satisfaction, influencing feature development and decisions to unship features. The ergonomics of Claude Code reflect its constant use in its own development.
Boris and Cat’s Favorite Slash Commands [14:06]
Boris and Cat discuss their favourite slash commands, including /prit for streamlining commit creation by specifying bash commands, and commands for feature development and security reviews. The /prit command uses a templating system with pre-allowed tool invocations and a permission-based security system. Claude Code also uses Haiku, a cheaper and faster model, for certain tasks. Security review is performed on all PRs using the /code review command, with Claude handling the initial review stage.
How Boris Uses Claude Code to Plan Feature Development [15:49]
Boris describes his approach to feature development using Claude Code, which includes prototyping, one-shot tasks, and harder feature development. For prototyping, he has Claude execute the task and observes the mistakes, discarding the attempt and trying again. For harder tasks, he uses plan mode to align on the plan before writing any code. The boundary of when plan mode is needed shifts with newer, more intelligent models. The team focuses on improving Claude Code's capabilities, even if it means features may be removed in the future, prioritising a premium experience with the most powerful models.
Everything Anthropic Has Learned About Using Sub-Agents Well [21:53]
Boris uses sub-agents for tasks like planning and code review, sometimes using them synchronously and sometimes using slash commands in CI. He uses multiple sub-agents for big migrations, such as code compliance checks and bug detection, followed by a deduplication and quality check process. Cat uses sub-agents for non-technical tasks like expense filing, employing an "opponent processor" pattern with sub-agents representing different perspectives. The value of sub-agents lies in their uncorrelated context windows, which can lead to better results. Cat is also developing a sub-agent for front-end testing using Playwright to identify client-side errors.
Use Claude Code to Turn Past Code into Leverage [26:16]
Claude Code can be used to examine how similar features are implemented in other internal products or open-source projects, facilitating tacit code sharing without needing APIs or direct communication. Users can connect their version control system to allow Claude Code to query GitHub and find relevant code examples. Some users also employ Claude Code to write diary entries documenting its actions, which are then synthesised into observations by other agents. Synthesising memory from multiple logs helps identify consistent patterns, addressing the challenge of determining the relevance of specific instructions for future tasks.
The Product Decisions for Building an Agent That’s Simple and Powerful [33:14]
The team believes every engineering environment is unique, so every part of their system is extensible. They provide basic building blocks like status lines, slash commands, and hooks for engineers to customise. Plugins simplify bringing slash commands and hooks into workflows. The team focuses on building the right extension points and observing how people use them to guide future development. They cite the example of users requesting Slack pings for permission prompts, leading to the development of hooks for custom notifications.
Making Claude Code Accessible to the Non-Technical User [36:38]
Claude Code has evolved into a general-purpose agent SDK, driven by latent demand for non-coding applications. Users are employing it for tasks like blog writing, email assistance, and market research. The underlying primitives are general, allowing for a wide range of applications beyond traditional coding. The team has observed diverse use cases, including health assistants, financial analysts, and legal assistants. The issue tracker for Claude Code itself uses the tool to deduplicate issues and proactively create pull requests.
The Next Form Factor for Coding with AI [45:12]
The team is experimenting with various form factors beyond the CLI, including IDE extensions, GitHub integration, and web/mobile versions. They are focused on increasing the autonomy of the model, aiming for longer periods of task completion without intervention. Future developments may involve quads monitoring other quads, requiring new interfaces optimised for quad-to-quad communication. The team acknowledges the intimidation factor of the terminal for non-technical users and is working on more graphical interfaces, such as the VS Code GUI extension and the web version of Claude Code. They also highlight the importance of the model teaching users how to use the tool itself.