# Claude Code: Anthropic's CLI Agent

Latent Space · 2025-05-07

<https://addtry.com/953b54c2-6d60-4e9c-b1d7-f7c767a0a1b0>

In this episode, Boris Cherny and Cat Wu from Anthropic discuss Claude Code, a CLI-based coding agent they describe as a Unix utility rather than a polished product, emphasizing raw model access and simplicity. The tool started as Boris's personal experiment, then spread internally after engineers used it daily, with Anthropic's product principle of 'do the simple thing first' guiding features like memory via markdown files and context compaction by asking Claude to summarize. They ship updates including web fetch, auto-accept, and thinking via chain of thought, and note that 80% of Claude Code's code is written by Claude Code itself. Average spend is $6/day per user versus $20/month for Cursor, and Boris reports a personal 2x productivity gain, with some engineers seeing 10x. The team is growing and investigating open-sourcing the tool, while continuing to build for the terminal as a raw, composable utility for power users.

## Questions this episode answers

### What is the design philosophy behind Claude Code?

Boris Cherny describes Claude Code as 'a Unix utility' following the principle 'do the simple thing first.' This means minimal scaffolding, raw model access, and composability like grep or cat. They avoided a rich UI, staying in the terminal to keep close to the metal, and over-engineering: memory is a markdown file, compacting just asks Claude to summarize.

[4:33](https://addtry.com/953b54c2-6d60-4e9c-b1d7-f7c767a0a1b0?t=273000)

### How much does Claude Code cost compared to Cursor?

Cat Wu states that average daily spend per active user on Claude Code is about $6, which works out to slightly more per month than a $20/month Cursor subscription. Boris Cherny emphasizes that cost should be viewed as an ROI question: if it makes a very expensive engineer 50-70% more productive, the spend is justified. They note some power users at Anthropic rack up thousands of dollars a day in automated workloads, but for most, $6/day provides peace of mind and direct model access.

[14:48](https://addtry.com/953b54c2-6d60-4e9c-b1d7-f7c767a0a1b0?t=888000)

### Where did the idea for Claude Code come from?

Boris Cherny built an early experiment using Anthropic's public API, giving Claude terminal access for tasks like analyzing music. When he added coding, it became 'very useful.' After sharing internally, daily active users 'went vertical,' convincing them to release it externally. Cat Wu joined as PM after sending feedback, and the team grew as researchers adopted it for productivity.

[2:05](https://addtry.com/953b54c2-6d60-4e9c-b1d7-f7c767a0a1b0?t=125000)

### How does Claude Code's planning and thinking feature work?

Unlike some tools with explicit plan/act modes, Claude Code uses a simple 'think tool' that runs chain of thought on demand. Boris Cherny says you just tell Claude to 'think' or 'make a plan, don't write code yet,' and it works. Cat Wu clarifies this is different from extended thinking (pre-generation reasoning); it's a stop-and-think during generation. They deliberately kept it free-form, betting on the bitter lesson that raw model capability will win, allowing users to interleave planning with execution seamlessly.

[49:26](https://addtry.com/953b54c2-6d60-4e9c-b1d7-f7c767a0a1b0?t=2966000)

## Key moments

- **[0:00] Welcome**
  - [1:01] Claude Code is Claude in the terminal, an agentic tool with file system access
  - [1:34] Claude Code started as an internal experiment to learn how people use coding agents
- **[2:05] Origin**
  - [2:20] Boris built an early terminal Claude that commented on his music and video using the public API
  - [2:46] Internal daily active users for Claude Code grew vertically after adding coding and terminal access
  - [3:29] Cat Wu joined as PM after sending extensive feedback on Claude Code
  - [4:48] Anthropic's product principle: 'Do the simple thing first' shaped Claude Code's minimalism
  - [5:55] Claude Code's roadmap targets model capabilities three months out, like autonomous tool composition
- **[7:12] Raw Access**
  - [7:12] Claude Code deliberately chose a raw terminal interface over a polished IDE to stay early on the capability curve
  - [8:23] Boris describes three layers: model capabilities, Claude Code as scaffolding, and CLI composability
  - [8:58] Claude Code's context compaction simply asks Claude to summarize previous messages, and it works
  - [9:53] Claude Code's memory is a markdown file auto-loaded into context, the simplest approach that works
  - [10:31] Aider inspired Anthropic's internal CLI tool Clyde, which became Claude Code, and Boris got 'AGI-pilled'
  - [12:55] Claude Code is designed as a Unix utility that composes like grep, for power users and parallel workloads
- **[13:50] Cost & ROI**
  - [13:50] Internal Anthropic usage is free; external active users spend an average of $6 per day on Claude Code
  - [14:48] Cat Wu: Claude Code prioritizes low latency over cost, aiming for a snappy and thorough tool
  - [15:14] Boris: Claude Code's cost is justified by ROI; making an engineer 50-70% more productive is worth it
- **[16:28] Feature Recap**
  - [16:52] Web fetch feature was built with legal review for secure URL handling to reassure enterprises
  - [17:36] Auto-accept mode allows Claude Code to autonomously edit files and run tests, reflecting user trust
  - [17:56] Vim mode was a top user request that went viral upon release
  - [19:22] Claude Code uses local slash commands for simple prompts and MCP for complex tools, and itself is an MCP client and server
  - [21:59] A GitHub Action runs Claude Code with a lint slash command for semantic checks like code-comment match, then commits via MCP
- **[25:45] Auto-accept**
  - [26:05] Claude Code's permission system lets users allowlist tools like file reads and restrict bash commands
  - [30:09] Claude Code internal experiments with autonomous PR review aren't yet satisfactory for public release
  - [31:04] Non-interactive Claude Code fixes thousands of tests in batch mode for enterprises, updating flaky tests
  - [33:52] Anthropic's Autonomous Safety Levels: currently ASL2, bordering on 3, requiring human-in-the-loop for unaligned models
- **[34:44] Enterprise**
  - [36:31] Boris hasn't manually written a unit test in months; Claude Code generates all tests, raising code quality
  - [37:59] Cyclomatic complexity remains a useful code quality metric, despite criticism, because there's no better alternative
  - [38:34] Cat Wu targets reducing cycle time and counting features that wouldn't exist without Claude Code as productivity metrics
  - [39:39] An early Claude Code bot auto-fixed a high percentage of Slack feedback issues, surprising Boris
  - [41:37] Claude Code now prototypes multiple versions of a feature, replacing detailed design docs and speeding development
  - [43:11] Claude Code accelerates internal tool creation, like Streamlit dashboards, enabling faster data visualization
- **[44:02] Memory**
  - [44:25] Boris initially believed in external memory stores, but now thinks the model will subsume them, per the bitter lesson
  - [45:34] Memory systems like Claude.md might be temporary workarounds until models have massive context windows, Boris suggests
  - [46:28] Mechanistic interpretability could eventually allow auditing what a model 'remembers,' reducing need for external memory
  - [47:03] Users ask Claude Code to maintain a logbook of actions, building team context; Anthropic seeks to generalize this pattern
  - [48:01] Claude Code abandoned RAG for agentic search, which outperformed on vibes and avoided indexing security issues
  - [49:44] Extended thinking happens before generation; the Think tool allows Claude to pause and plan during generation
- **[54:27] Model Limits**
  - [56:25] After many compactions, Claude Code's context drifting may weaken original intent, prompting work on larger effective context windows
  - [57:55] To resume across sessions, ask Claude to write state to a file and read it in the next session; native support planned
  - [59:48] Claude Code supports using lighter models like Haiku for fast pre-commit hooks, while Sonnet handles heavy tasks
  - [1:01:12] Boris jokingly compares pre-commit hook preferences to tabs vs spaces: a matter of team taste
  - [1:02:23] The night before launch, Claude Code generated a custom markdown parser, replacing popular off-the-shelf libraries
- **[1:04:08] Roadmap**
  - [1:04:22] Claude Code currently has no subscription; pay-as-you-go simplifies adoption, but price predictability is a user concern
  - [1:05:41] Boris estimates Claude Code boosts his productivity 2X, with some engineers at Anthropic seeing 10X gains
  - [1:06:37] Boris implements feature requests in 10 minutes during meetings using Claude Code, shocking Cat
  - [1:07:02] Anthropic's designer uses Claude Code to land PRs in the monorepo, expanding beyond technical users
  - [1:08:49] Swyx vs Cat: Should non-technical users involve engineers when prompting Claude Code or only later for review?
  - [1:10:17] Anthropic is investigating open-sourcing Claude Code; source-available could address customization without full open-source maintenance

## Speakers

- **Alessio** (host)
- **Swyx** (host)
- **Boris Cherny** (guest)
- **Cat Wu** (guest)

## Topics

Coding Agents

## Mentioned

Anthropic (company), Aider (product), Claude Code (product), Clyde (product), Cursor (product), Devin (product), Haiku (product), MCP (product), Sonnet (product), Windsurf (product)

## Transcript

### Welcome

**Alessio** [0:05]
Hey everyone, welcome to the Latent Space Podcast. This is Alessio, partner and CTO at Decibel, and I'm joined by my co-host Swyx, founder of Smol AI.

**Swyx** [0:13]
Hey, and today we're in the studio with Cat Wu and Boris Cherny. Welcome.

**Boris Cherny** [0:17]
Thanks for having us.

**Cat Wu** [0:18]
Thank you.

**Swyx** [0:19]
Uh, Cat, you and I know each other from before. I just realized Dagster as well-

**Cat Wu** [0:23]
Yeah

**Swyx** [0:23]
... and then Index Ventures, and now Anthropic.

**Cat Wu** [0:26]
Exactly.

**Swyx** [0:26]
Um, it's so cool to see, like, a friend that you know from before, like, now working at Anthropic and, like, shipping really cool stuff. And Boris, uh, you're a celebrity 'cause, like, we were just having you outside just getting coffee, and people recognize you from your video.

**Boris Cherny** [0:39]
Oh, wow.

**Swyx** [0:40]
Right?

**Boris Cherny** [0:41]
That's new.

**Swyx** [0:41]
Wasn't that, wasn't that neat?

**Boris Cherny** [0:44]
Um, yeah. I definitely... I had that experience, like, once or twice-

**Swyx** [0:47]
Yeah

**Boris Cherny** [0:47]
... in the last few weeks. Yeah.

**Swyx** [0:48]
Awesome.

**Boris Cherny** [0:48]
It was surprising.

**Swyx** [0:49]
Yeah. Well, thank you for making the time. We are here to talk- we're here to talk about Claude Code. Most people probably have heard of it. We think, like, you know, quite a few people have tried it, but let's get a crisp, upfront definition.

Like, what is Claude Code?

**Boris Cherny** [1:01]
Yeah. So Claude Code is Claude in the terminal. Um, so, you know, Claude has a bunch of different interfaces. There is desktop, there's web, and yeah, Claude Code, it runs in your terminal. Because it runs in the terminal, it has access to a bunch of stuff that you just don't get if you're running on the web or on desktop or whatever.

So it can run batch commands, it can see all of the files in the current directory, and it does all of that agentically. And yeah, I guess it... maybe it comes back to, like, the... maybe the question under the question is, like, you know, where did this idea come from?

And yeah, part of it was we just wanna learn how Claude, um... we wanna learn how people use agents. We're doing this with the CLI form factor because coding is kind of a natural place where people use agents today and, you know, there's kind of product market fit for this thing.

But yeah, it's just sort of this crazy research project, and obviously it's kind of bare bones and simple. Um, but yeah, it's like a agent in your terminal. That's how the best stuff starts.

**Alessio** [2:00]
Yeah. How did, did it start? Did you have a master plan to build Claude Code or?

**Boris Cherny** [2:05]
There's no master plan. Uh, when I joined Anthropic, I was experimenting with different ways to use the model, kind of in different places, and the way I was doing that was through the public API, the same API that everyone else has access to.

### Origin

**Boris Cherny** [2:20]
And one of the really weird experiments was this Claude that runs in a terminal, and I was using it for kind of weird stuff. I was using it to, like, look at what music I was listening to and react to that, and then, you know, like, screenshot my, you know, video player and explain what's happening there, and things like this.

And this was, like, kind of a pretty quick thing to build, and it was pretty fun to play around with. And then at some point, I gave it access to the terminal and the ability to code, and suddenly it just felt very useful.

Like, I was using this thing every day. It kind of expanded from there. We gave the core team access, and they all started using it every day, which was pretty surprising. Uh, and then we gave all the engineers and researchers at Anthropic access, and pretty soon everyone was using it every day.

And I remember we had this DAU chart for internal users, and I was just watching it and it, it was vertical, like, for days. And we're like, "All right. There's something here. We gotta give this to external people so everyone else can try this, too."

**Swyx** [3:18]
Yeah.

**Boris Cherny** [3:19]
Yeah. That's where it came from.

**Alessio** [3:20]
And were you also working with Boris already, or did this come out and then it started growing and then you're like, "Okay, we need to maybe make this a team," so to speak?

**Cat Wu** [3:29]
Yeah. The original team was Boris, Sid, and Ben, and over time, as more people were adopting the tool, we felt like, okay, we really have to invest in supporting it because all our researchers are using it, and we...

this is, like- ... our one lever to make them really productive. And so at that point, I was using Claude Code to build some visualizations. I was analyzing a bunch of data, and sometimes it's super useful to, like, spin up a Streamlit and, like, see all the aggregate stats at once, and Claude Code made it really, really easy to do.

So I think I sent Boris, like, a bunch of feedback. And at some point Boris was like, "Do you wanna just work on this?" And so that's how it happened.

**Boris Cherny** [4:08]
It was actually a little, like... it was more than that on my side. You were sending all this feedback, and at the same time we were looking for a PM and we were, like, looking at a few people, and then I remember telling the manager like, "Hey, I want Cat."

**Cat Wu** [4:18]
Aw.

**Swyx** [4:19]
Aw.

**Boris Cherny** [4:19]
It's the only PM I want on this.

**Alessio** [4:20]
I'm sure people are curious, what's the process within Anthropic to, like, graduate one of these projects? Like, so you have kinda like the... a lot of growth, then you get a PM. When did you decide, okay, we should like...

it's ready to be opened up?

**Boris Cherny** [4:33]
Generally at Anthropic we have this product principle of do the simple thing first, and I think that the way we build product is really based on that principle. So you kinda stuff things as little as you can and keep things as crappy as you can because the constraints are actually pretty helpful.

And for this case, we wanted to see some signs of product market fit before we scaled it.

**Swyx** [4:52]
Yeah, I imagine. So, like, we're putting out the MCP episode this week, and I, I imagine MCP also now has a team around it in much the same way.

**Boris Cherny** [4:58]
Mm.

**Swyx** [4:59]
It is now very much officially like, sort of like a, an Anthropic product. So I'm kinda curious for, for Cat, like, how do you view PM-ing th- something like this? Like, what is... I guess you're, like, sort of grooming the roadmap, you're listening to, to, to users, and the velocity is something I've never seen coming out of Anthropic.

**Cat Wu** [5:17]
I think I PM with a pretty light touch. Um, I think Boris and the team are, like, extremely strong product thinkers.

**Swyx** [5:24]
Yeah.

**Cat Wu** [5:24]
And for the vast majority of the features on our roadmap, it's actually just, like, people building the thing that they wish that the product had. So very little actually is tops-down. I feel like I'm mainly there to, like, clear the path if anything gets in the way and just make sure that we're all good to go from, like, a legal, marketing, et cetera, perspective.

**Swyx** [5:43]
Yeah.

**Cat Wu** [5:44]
And then I think, like, in terms of very broad roadmap or, like, long-term roadmap, um, I think the whole team comes together and just thinks about, okay, what do we think models will be really good at in three months?

And like, let's just make sure that what we're building is really compatible with, like, the future of what models are capable of.

**Swyx** [6:02]
I'd be interested to double-click on this. What will models be good at in three months? 'Cause I think that's something that people always say to think about when building AI products, but nobody knows how to think about it because it's-- everyone's just like, "It's generically getting better all the time.

We're getting AGI soon, so don't bother." You know, like, how do you calibrate three months of progress?

**Cat Wu** [6:21]
I think if you look back historically, we tend to shift m-models every couple of months or so, so three months is just, like, an arbitrary number-

**Swyx** [6:29]
Right

**Cat Wu** [6:29]
... that I picked. I think the direction that we want our models to go in is being able to accomplish more and more complex tasks with as much autonomy as possible. And so this includes things like making sure the models are able to explore and find the right information that they need to accomplish a task, making sure that models are thorough in accomplishing every aspect of a task, making sure the models can, like, compose different tools together effectively.

Yeah, these are the directions we care about.

**Boris Cherny** [6:57]
Yeah, I guess, uh, coming back to Code, this kind of approach affected the way that we built Code also because we know that if we want some product that has, like, very broad product market fit today, we would build, you know, a Cursor or a Windsurf or something like this.

Like, these are awesome products that so many people use every day. I use them. Um, that's not the product that we wanna build. We wanna build something that's kind of much earlier on that curve and something that will maybe be a big product, you know, a year from now or, you know, however much time from now as the model improves.

### Raw Access

**Boris Cherny** [7:29]
And that's why Code runs in a terminal. It's a lot more bare bones. You have raw access to the model because we didn't spend time building all this kinda nice UI and scaffolding on top of it.

**Alessio** [7:39]
When it comes to, like, the harness, so to speak, and things you wanna put around it, there's one that may be prompt optimization. So obviously I use Cursor every day. There's a lot going on in Cursor that is beyond my prompt for, like, optimization and whatnot.

But I know you recently released, like, you know, compacting context features and all that. How do you decide how thick it needs to be on top of the CLI? So that's kind of the share interface. And at what point are you deciding between, okay, this should be a part of Claude Code versus this is just something for the ID people to figure out, for example?

**Boris Cherny** [8:11]
Yeah. There's kind of three layers at which we can build something. So the... You know, being a AI company, the most natural way to build anything is to just build it into the model and have the model do the behavior.

The next layer is probably scaffolding on top, so that's like Claude Code itself. And then the layer after that is using Claude Code as a tool in a broader workflow, so to compose defend. You know, so for example, a lot of people use Code with, you know, Tmux, for example, to manage a bunch of windows and a bunch of sessions happening in parallel.

We don't need to build all of that in. Um, compact, it's sort of this thing that kinda has to live in the middle because-

**Alessio** [8:46]
Mm

**Boris Cherny** [8:46]
... it's something that we want to work when you use Code. You shouldn't have to pull in extra tools on top of it. And rewriting memory in this way isn't something the model can do today, so you have to use a tool for it, and so it, it kinda has to live in that, that middle area.

We tried a bunch of different options for compacting, you know, like rewriting, uh, old tool calls and, uh, truncating old messages and not new messages. And in the end, we actually just did the simplest thing, which is ask Claude to summarize the, you know, the previous messages and just return that, and that's it.

And it's funny, with-- when the model's so good, the simple thing usually works.

**Alessio** [9:20]
Right.

**Boris Cherny** [9:20]
You don't have to over-engineer it.

**Alessio** [9:21]
Yeah.

**Swyx** [9:22]
We do that for Claude plays Pokémon too. Just kind of interesting to see that pattern reemerging.

**Alessio** [9:27]
And then you have the claude.md file for the more user-driven memories, so to speak. It's like, kinda like the equivalent of maybe Cursor Rules, I would say.

**Boris Cherny** [9:37]
Yeah. And Claude MD, it's another example of this idea of, you know, do the simple thing first. We, we had all these crazy ideas about, like, memory architectures and, you know, there's so much literature about this. There's so many different external products about this, and we wanted to be inspired by all this stuff.

But in the end, the thing we did is ship the simplest thing.

**Alessio** [9:53]
Right.

**Boris Cherny** [9:53]
Which is, you know, it's a file that has some stuff, and it's auto read into context, and there's now a few versions of this file. You can put it in the root, or you can put it in child directories, or you can put it in your home directory, and we'll, we'll read all of these in kinda different ways.

But yeah, simplest thing that could work.

**Alessio** [10:07]
I'm sure you're familiar with Aider, which is another, uh, thing that people in our Discord loved, and then when Claude Code came out, the same people loved Claude Code. Um, any thoughts on, like, you know, inspiration that you took from it, things you did differently, kinda like maybe design, uh, design principle in which you went a, a different way?

**Boris Cherny** [10:24]
Yeah. This is, uh, actually the moment I got AGI pilled is related to this.

**Alessio** [10:29]
Okay.

**Boris Cherny** [10:29]
So maybe I can tell that story.

**Alessio** [10:30]
Yeah.

**Boris Cherny** [10:31]
Um, so Aider inspired this internal tool that we used to have at Anthropic called Clyde. Uh, so Clyde is like, you know, CLI Claude, and it-- that's the predecessor to Claude Code. It's kinda this research tool that's, uh, you know, it's like written using Python.

It takes like a minute to start up. It's, like, very much written by researchers.

**Alessio** [10:49]
Mm-hmm.

**Boris Cherny** [10:49]
It's not a polished product. And when I first joined Anthropic, I was putting up my first pull request. You know, I hand wrote this pull request 'cause I didn't know any better. And my boot camp buddy at the time, Adam Wolf, was like, "You know, actually, maybe instead of handwriting it, just ask Clyde to write it."

And I was like, "Okay, I guess so." It's a, it's a AI lab. Maybe there, maybe there's some, you know, capability I didn't know about. And so I start up this, like, terminal tool, and it took like a minute to start up, and I ask Clyde, "Hey, you know, here's the description.

Can you make a PR for me?" And, you know, after a few minutes of chugging along, it made a PR, and it worked. And I was just blown away 'cause I had no idea. I had just no clue that there were tools that could do this kind of thing.

Like, I thought that, you know, kinda single line autocomplete was the state of the art before I joined.

**Alessio** [11:31]
Mm-hmm.

**Boris Cherny** [11:32]
And then that's the moment where I got AGI pilled then. And yeah, that's where, uh, Code came from. So yeah, it was, uh, Aider inspired Clyde, which inspired Claude Code.

**Alessio** [11:42]
Interesting.

**Boris Cherny** [11:42]
Um, so very much big fan of Aider. It's, it's an awesome product.

**Swyx** [11:45]
I think, like, people are interested in compare and contrasting obviously, 'cause to you, obviously, this is the house tool. You work on it. People are interested in, like, figuring out how to choose between tools. There's the Cursors of the world.

There's like the Devins of the world. There's Aiders, and there's Claude Code, and you-- we can't try everything all at once. My question would be: Where do you place it in the universe of options? Um, well, you can ask Claude to just try all these tools and

**Boris Cherny** [12:14]
I wonder what it would say.

**Swyx** [12:15]
No self-f- favoring at all.

**Boris Cherny** [12:17]
Claude, a Claude plays, a Claude plays engineer.

**Swyx** [12:19]
Yeah.

**Boris Cherny** [12:20]
I don't know. We... Like, we use all these tools in-house, too. Like, we- we're big fans of all, all of this stuff. Like, Claude Code is, uh... Obviously it's, it's a little different than some of these other tools in that it's a lot more raw.

**Swyx** [12:31]
Mm-hmm.

**Boris Cherny** [12:32]
Um, like I said, there isn't this kind of big, beautiful UI on top of it. It's raw access to the model. It's as raw as it gets. So if you wanna use a power tool that lets you access the model directly and use Claude for, um, automating, you know, big workloads.

You know, for example, if you have, like, 1,000 lint violations and you wanna start 1,000 instances of Claude and have it fix each one and ma- then make it pure, then Claude Code is a pretty good tool.

**Swyx** [12:55]
Got it.

**Boris Cherny** [12:55]
It's, it's a tool for power workloads for power users. Um, and I think that's just kind of where it fits.

**Alessio** [13:01]
Yeah. It's the idea of, like, parallel versus kinda, like, single path, one way to think about it, where, like, the IDE is really focused on, like, what you wanna do versus, like, Claude Code. You kinda more see it as, like, less supervision required.

You can kinda spin up a lot of them. Is that the, the right mental model?

**Boris Cherny** [13:18]
Yeah. And there's some people at Anthropic that have been racking up, like, thousands of dollars a day with this kind of automation. Most people don't do anything like that, but you totally could do something like that. Yeah. We, we think of it as, like, a Unix utility.

**Alessio** [13:30]
Mm-hmm.

**Swyx** [13:31]
Mm-hmm.

**Boris Cherny** [13:31]
Right? So it's, like, the same way that you would compose, you know, grep or cat or, um... Oh, cat, cat. I'm just kidding.

**Alessio** [13:38]
Nice.

**Boris Cherny** [13:38]
Or something like this. The same way you can compose code, um, into workflows.

**Alessio** [13:42]
The cost thing is interesting. Do people pay internally, or do you get free if you work at Anthropic, you can just run this thing as much as you want every day?

### Cost & ROI

**Boris Cherny** [13:50]
Um, it's for f- it's for free internally.

**Alessio** [13:52]
Nice. Yeah. I, I think if everybody had it for free, it would be huge. Um-

Well, be- because, like, I mean, if I think about... I pay Cursor 20 bucks a month. I use millions and millions of token in Cursor. That would cost me a lot more in Claude Code. And so I think, like, a lot of people that I've talked to, they don't actually understand how much it costs to do these things, and they'll do a task, and they're like, "Oh, that cost 20 cents.

I can't believe I paid that much." How do you think... Going back to, like, the product side, too, it's like, how much do you think of that being your responsibility to try and make it more efficient versus that's not really what we're trying to do with the tool?

**Cat Wu** [14:30]
We really see Claude Code as, like, the tool that gives you the smartest abilities out of the model. Um, we do care about cost insofar as it's very correlated with latency, and we wanna make sure that this tool is extremely snappy to use and extremely thorough in its work.

We wanna be very intentional about all the tokens that it produces. I think we can do more to, like, communicate the cost with users. Um, currently, we're seeing costs around, like, $6 per day per active user, and so it's...

Like, it does come out to a bit higher, um, over the course of a month in Cursor. Um, but I don't think it's, like, out of band, and that's, like, roughly how we're thinking about it.

**Boris Cherny** [15:14]
I would add that I think the way I think about it is it's a ROI question. It's not a cost question. And so if you think about, you know, an average engineer salary and, like, what... You know, we were talking about this before, before the podcast.

Like, engineers are very expensive, and if you can make an engineer 50, 70% more productive, that's worth a lot.

**Alessio** [15:35]
Yeah.

**Boris Cherny** [15:35]
And I think that's the way to think about it.

**Swyx** [15:36]
So if you're saying you're targeting Claude to be the, the most powerful end of the spectrum as opposed to the less powerful but f- faster, cheaper side of the spectrum, then there sh- there's typically people who recommend a waterfall, right?

You try this faster, simple one. If that doesn't work, you upgrade, you upgrade, you upgrade, and finally, you hit Claude Code, at least for people who are token-constrained that don't work at Anthropic. And part of me wants to just fast-track all that.

I just want to fan out to everything all at once. And once I, once I'm not ha- satisfied with the next one solution, I would just sort of switch to the next. I, I don't know if that's real.

**Boris Cherny** [16:11]
Yeah. We're, we're definitely trying to make it a little easier to make Claude Code kind of the tool they use for all the different workloads.

**Swyx** [16:16]
Yeah, of course.

**Boris Cherny** [16:17]
So for example, we, we launched, uh, Thinking recently.

**Swyx** [16:20]
Yes.

**Boris Cherny** [16:20]
So for any kind of planning workload where you might have used other tools before, you can just ask Claude, and that'll use, you know, chain of thought to, to think stuff out.

**Swyx** [16:28]
I think we'll get there. Maybe we'll do it this way. How about we recap, like, sort of the brief history of Claude Code? Like, w- between when you launched and now, there, there have been quite a few ships.

### Feature Recap

**Swyx** [16:38]
Um, how would you highlight the major ones? And then we'll get to the, the Thinking tool.

**Boris Cherny** [16:43]
And I think I'd have to, like, check your Twitter to- ... to remember.

**Cat Wu** [16:48]
Um, I think a big one that we've gotten a lot of requests for is web fetch.

**Boris Cherny** [16:52]
Yep.

**Cat Wu** [16:52]
So we worked really closely with our legal team to make sure that we shipped as secure of an implementation as possible. So, um, w- well, web fetch, if a user directly provides an URL, whether that's in their call.md or, um, in their message directly, or if a URL is mentioned in one of the previously fetched URLs.

And so this way, enterprises can feel pretty secure about letting their developers continue to use it. We shipped a bunch of, like, auto features, like auto-complete, where you can press Tab to complete a file name or file path, auto compact so that users feel like they have, like, infinite context since we'll compact behind the scenes.

And we also shipped auto accept because we noticed that a lot of users were like, "Hey, like, Claude Code can figure it out. I've, like, developed a lot of trust for Claude Code. I want it to just, like, autonomously edit my files, run tests, and then come back to me later."

So those are-

**Boris Cherny** [17:53]
Yeah

**Cat Wu** [17:53]
... some of the big ones.

**Boris Cherny** [17:54]
Uh, Vim mode, custom slash commands.

**Cat Wu** [17:56]
People loved Vim mode.

**Boris Cherny** [17:58]
Yeah.

**Cat Wu** [17:58]
So that was a, that was a top request too. That one went pretty viral.

**Boris Cherny** [18:02]
Yeah, yeah. Uh, memory, that was a recent one.

**Swyx** [18:05]
Like the hashtag to remember. So yeah. I mean, uh, I'd love to dive into, sort of on the technical side, any of them that was particularly challenging. Um, it- Paul from Aider always says how much of it was coded by Aider, you know?

So then the question is, how much of it was coded by Claude Code?

**Boris Cherny** [18:20]
Obviously, there's some percentage, but I wonder if you have a number, like 50, 80?

**Alessio** [18:24]
It's pretty high.

**Boris Cherny** [18:25]
Probably near 80, I'd say.

**Alessio** [18:26]
Yeah.

**Cat Wu** [18:26]
Yeah.

**Alessio** [18:27]
It's very high.

**Boris Cherny** [18:28]
Yeah. That makes sense.

**Cat Wu** [18:29]
There's a lot of human code review, though.

**Boris Cherny** [18:31]
Yeah, a lot of, a lot of human code review. I think some of the stuff has to be handwritten, and some of the code can be written by Claude, and there's sort of a wisdom in knowing which one to pick and what percent for each kind of task.

So usually where we start is Claude writes the code, and then if it's not good, then maybe a human will dive in. There's also some stuff where, like, I actually prefer to do it by hand, so it's like, you know, intricate data model refactoring or something.

I won't leave it to Claude because I have really strong opinions, and it's easier to just do it and experiment than it is to explain it to Claude. So yeah, I think that nets out to maybe, like, 80, 90% Claude-written code overall.

**Alessio** [19:07]
Yeah. We're hearing a lot of that in our portfolio companies, like, more like series A companies, it's like 80, 85% of the code they write is AI generated.

**Cat Wu** [19:16]
Yeah, yeah.

**Alessio** [19:16]
So, yeah, the... Well, that's a whole different discussion. The custom slash command, I had a question.

**Boris Cherny** [19:22]
Mm.

**Alessio** [19:22]
How do you think about custom slash command MCPs? Like, how does this all tie together, you know? Is the slash command in Claude Code kind of like an extension of the MCP? Are people building things that should not be MCP, but are just kind of, like, self-contained things in there?

How should people think about it?

**Boris Cherny** [19:40]
Yeah, I mean, obviously we're big fans of MCP. You can use MCP to do a lot of different things. You can use it for custom tools and custom commands and all this stuff. But at the same time, you shouldn't have to use it.

Um, so if you just want something really simple and local, you just want, you know, some essentially, like, prompt that's been saved, just use local commands for that.

**Alessio** [19:59]
Mm.

**Boris Cherny** [19:59]
Over time, something that we've been thinking a lot about is how to re-expose things in convenient ways. So for example, let's say you had this local command, could you re-expose that as a MCP prompt?

**Alessio** [20:11]
Yeah.

**Boris Cherny** [20:11]
Because Claude Code is an MCP client and a MCP server. Or similarly, let's say you pass in a custom, uh, you know, like a custom batch tool. Is there a way to re-expose that as an MCP tool?

**Alessio** [20:21]
Yeah.

**Boris Cherny** [20:21]
So yeah, edit... We think generally you shouldn't have to be tied to a particular technology. You should use whatever works for you.

**Alessio** [20:26]
Yeah, because there's some, like, Puppeteer. I think that's, like, a great way, great thing to use with Claude Code, right, for testing. There's, like, a Puppeteer MCP protocol, but then people can also write their own slash commands. And I'm curious, like, where MCP are gonna end up being, where it's like maybe each slash command leverages MCPs, but no command itself is an MCP because it ends up being customized.

I think that's what people are still trying to figure out, is, like, should this be in the runtime or in the MCP server? I think people haven't quite figured out where the line is.

**Boris Cherny** [20:58]
Yeah. For something like Puppeteer, I think that probably belongs in MCP, 'cause there, there's a few, like, tool calls that go in that too, and so it's probably nice to encapsulate that in the MCP server.

**Cat Wu** [21:08]
Whereas slash commands are actually just, like, prompts, so they're not actually tools. We're thinking about how to expose more customizability options so that people can bring their own tools or turn off some of the tools that, uh, Claude Code comes with.

But there is also some trickiness there because, um, we want to just make sure that the tools people bring are things that Claude is able to understand and that people don't accidentally, um, inhibit their experience by maybe bringing a tool that is, like, confusing to Claude.

**Boris Cherny** [21:41]
Mm-hmm.

**Cat Wu** [21:41]
So we're just trying to work through the UX of it.

**Boris Cherny** [21:44]
Yeah. I'll give an example also of how this stuff connects. For Claude Code internally in the GitHub repo, we have this GitHub Action that runs, and the GitHub Action invokes Claude Code with a local s- uh, slash command, and the slash command is lint.

So it just runs a linter using Claude. And it's a bunch of things that are pretty tricky to do with a traditional linter that's based on static analysis. So for example, it'll check for spelling mistakes, but also checks that code matches comments.

**Alessio** [22:13]
Mm.

**Boris Cherny** [22:14]
It also checks that, you know, we use a particular library for network fetches instead of the built-in library. There's a bunch of these specific things that we check that are pretty difficult to express just with lint. And in theory, you can go in and, you know, write a bunch of lint rules for this.

Some of it you could cover, some of it you probably couldn't. But honestly, it's much easier to just write a one bullet in markdown in a local command and just commit that. And so what we do is Claude runs through the GitHub Action.

We invoke it with /project:lint, so which just invokes that local command. It'll run the linter, it'll identify any mistakes, it'll make the code changes, and then it'll use the GitHub MCP server in order to commit the changes back to the PR.

And so you can kind of compose these tools together, and I think that's a lot of the way we think about code, is just one tool in an ecosystem that composes nicely without being opinionated about any particular piece.

It's interesting. I, I, I have a weird chapter in my CV, uh, that makes me... I was the CLI maintainer for Netlify, and so I have a little bit of a dive. There's a decompilation of Claude Code out there that seem, that has since, that has since been taken down, uh, but it seems like you use Commander JS and React Ink is, is, like, the public info about this.

And I'm just k- kind of curious, like, at some point you're just... You're not even building Claude Code. You're kind of just building this general purpose CLI framework that anyone, any developer can hack to their purposes. You ever think about this?

Like, this level of configurability is more of, like, a CLI framework-

**Cat Wu** [23:42]
Mm

**Boris Cherny** [23:42]
... or, like, some new form factor that is, doesn't exist before.

**Cat Wu** [23:47]
Yeah, it's definitely been fun to hack on a on a really awesome CLI, 'cause there, there's not that many of them. Um-

**Boris Cherny** [23:53]
Yeah

**Cat Wu** [23:53]
... but yeah, we're, we're big fans of Ink. Um-

**Boris Cherny** [23:55]
Yeah. Vadim, uh, Demede. So we actually used him, used, uh, React Ink for a lot of our projects.

**Cat Wu** [24:00]
Oh, cool.

**Boris Cherny** [24:01]
Yeah.

**Cat Wu** [24:02]
Yeah, yeah. Um, yeah, Ink is amazing. It's like, it's sort of hacky and janky in a lot of ways. It's like you have, you have React, and then your, the renderer is just translating the React code to, like, ANSI escape codes-

**Boris Cherny** [24:12]
Uh-huh

**Cat Wu** [24:13]
... as the way to render, and there's all sorts of stuff that just doesn't work at all because ANSI escape codes are, like, you know, it's, like, this thing that started to be written, like, the 1970s, and there's no really great spec about it.

Every terminal is a little different.

**Boris Cherny** [24:25]
So building in this way, it, it feels to me a little bit like, uh, building for the browser back in the day where you had to think about, like, Internet Explorer 6 versus Opera versus-

**Swyx** [24:34]
Yeah

**Boris Cherny** [24:34]
... like, Firefox and whatever. Like, you have to think about these cross-terminal differences a lot. But yeah, big fans of Ink 'cause it helps abstract over that. We're also, uh... We use Bun, um, so big fans of Bun.

Um, that's been... It makes writing our tests and running tests much faster. We don't use it in the runtime yet.

**Swyx** [24:51]
It's not just for speed, but you tell me. I don't wanna, I don't wanna put words in your mouth, but my impression is they help you ship the compilation, the executable.

**Boris Cherny** [24:59]
Yeah, exactly. So we use Bun to, to compile the code together.

**Swyx** [25:02]
Yeah. Anything, any other pluses of Bun? I just wanna track Bun versus Deno conversations.

**Boris Cherny** [25:07]
Yeah.

**Swyx** [25:08]
'Cause Deno's in there, you know.

**Boris Cherny** [25:11]
Um, I actually haven't used Deno back, uh... It's, it's been a while.

**Swyx** [25:15]
Yeah.

**Boris Cherny** [25:15]
Um, I remember Ryan-

**Swyx** [25:16]
That's what a lot of people say.

**Boris Cherny** [25:17]
Yeah, yeah. Ryan made it back in the day, and it was like there, there were some ideas that I think were very cool in it, but yeah, it just never took off to that same degree.

**Swyx** [25:24]
Yeah.

**Boris Cherny** [25:24]
Still a lot of cool ideas like, um, being able to NPM just import from any URL, I think is-

**Swyx** [25:29]
That's the dream-

**Boris Cherny** [25:30]
... pretty amazing

**Swyx** [25:30]
... the dream of ESM. Yeah, very cool. Okay. Um, also, I was gonna ask you, uh, one, one other feature then we can get to the thinking tool, of, uh, auto-accept. I have this little thing I'm trying to develop thinking around for trust in agents, right?

### Auto-accept

**Swyx** [25:45]
When do you say, "All right, go autonomous." When do you pull the, pull the developer in? And sometimes y- you let the model decide. Sometimes you're like, "This is a destructive action. Always ask me." And I'm just curious if you have any internal heuristics around when to auto-accept and where all this is going.

**Cat Wu** [26:05]
We're spending a lot of time building out the permission system. So Robert on our team is leading up this work. Um, we think it's really important to give developers the control to say, "Hey, these are, like, the allowed permissions."

Generally, this includes stuff like the model's always allowed to read files or read anything, and then it's up to the user to say, "Hey, is it allowed to edit files? Is it allowed to run tests?" These are, like, probably the safest three actions.

And then there's, like, a long list of other actions that, um, users can either allow list or deny list based on, uh, regex matches with the action.

**Alessio** [26:40]
How can writing a file ever be unsafe if you have version control? I think that's-

**Boris Cherny** [26:45]
Yeah, I think it's... I think there's, like, a few different probably, like, aspects of safety to think about, so it could be useful just to break that out a little bit. So for file editing, it's actually less, I think, about safety, although there, there is still a safety risk because what might happen is, let's say, the model fetches a URL, and then there's a prompt injection attack in the URL, and then the model writes malicious code to disk, and you don't realize it.

Although, you know, there is code review as, like, a separate kind of layer there as, as protection. But I think generally for file writes, it... The model might just do the wrong thing. That's the biggest thing. And what we find is that if the model is doing something wrong, it's better to identify that earlier and correct it earlier, and then you're gonna have a better time.

If you wait for the model to just go down this, like, totally wrong path and then correct it 10 minutes later, you're gonna have a bad time. So it's better to usually identify failures early. But at the same time, there are some cases where you just wanna let the model go.

So, for example, if Claude Code is, uh, you know, it's writing tests for me. I'll just hit Shift+Tab, enter auto-accept mode, and just let it run the tests and iterate on the tests until they pass, um, 'cause I know that's a pretty safety, safe thing to do.

And then for some other tools like Bash Tool, it's pretty different, um, because Claude could ram, run, you know, rm rf /, and that would suck.

**Swyx** [28:02]
Right.

**Boris Cherny** [28:02]
That's not a good thing. So we definitely want people to be in the loop to, to catch stuff like that. The model is, you know, trained and aligned to not do that, but, you know, these are de- non-deterministic systems, so, like, you, you still want a human in the loop.

**Swyx** [28:15]
Yeah.

**Boris Cherny** [28:15]
I think that generally the way that things are trending is, um, kind of less time between human input.

**Swyx** [28:22]
Did you see the meter paper?

**Boris Cherny** [28:23]
No.

**Swyx** [28:24]
The, um, th- they establish a Moore's Law for time between human input, basically.

**Boris Cherny** [28:30]
Mm.

**Swyx** [28:30]
And it's basically doubling every three to seven months is the idea. And Anthropic is currently doing super well on that benchmark. It is roughly above autonomous for 50 minutes at the 50th percentile of human effort-

**Boris Cherny** [28:41]
Mm

**Swyx** [28:42]
... uh, which is kind of cool.

**Boris Cherny** [28:43]
Yeah. Yeah.

**Swyx** [28:43]
So highly recommend that.

**Alessio** [28:45]
Yeah. I put cursor in YOLO mode all the time- ... and just run it.

**Swyx** [28:49]
But, but it's funny, so-

**Boris Cherny** [28:50]
Which is vibe coding, right? Like this is-

**Alessio** [28:51]
Yeah

**Boris Cherny** [28:51]
... called status fade.

**Alessio** [28:52]
And, and there's a couple things that are interesting when you talked about alignment and the model being trained. So always put it in a Docker container, and I have it prefix every command with, like, the Docker compose. And yesterday, uh, my Docker server was not started, and I was like, "Oh, Docker is not running.

Let me just run it outside of Docker." And I'm like, "Whoa, whoa, whoa, whoa, whoa. You should start Docker and run it in Docker." "You cannot go outside." So I, I did-

**Cat Wu** [29:14]
It's for safety.

**Alessio** [29:15]
That is, like, a very good example of, like, you know, sometimes you think it's doing something, and then it's doing something else. And for the review side, it's... I, I would love to just chat about that more. I think the linter part that you mentioned, I think maybe people skipped it over.

It doesn't register the first time, but, like, going from, like, rule-based linting to, like, semantic linting, I think is, like, great and super important. And I think a lot of companies are trying to do, how do you do autonomous PR review, which I've not seen one that I use so far.

They're all kind of, like, mid. So I'm curious how you think about closing the loop or making that better and figuring out especially, like, what are you supposed to review because these PRs get pretty big when you vibe code.

You know, sometimes I'm like, "Oh, wow."

**Boris Cherny** [29:56]
Oh, GTM.

**Alessio** [29:57]
You know, it's like- ... am I really supposed to read all of this? It kind of seems... Most of it seems pretty standard, but, like, I'm sure there are parts in there that the model would understand that are, like, kind of out of distribution, so to speak, to really look at.

So yeah, I know it's a very open-ended question, but any thoughts you have would be great.

**Boris Cherny** [30:14]
Yeah. We, we have some experiments where Claude is doing code review internally. We're not super happy with the results yet, so it's not something that we wanna open up quite yet. The way we're thinking about it is Claude Code is, like I said before, it's a primitive.

So if you wanna use it to build a code review tool, you can do this. If you wanna, you know, build, like, a security scanning, vulnerability scanning tool, you can do that. If you wanna build a semantic linter, you can do that.

And hopefully with code, it makes it so if you wanna do this, it's just a few lines of code. And you can just have Claude write that code also, 'cause Claude is really great at writing GitHub actions.

**Cat Wu** [30:47]
Yeah, one thing to mention is we do have a non-interactive mode, which is, like, what, um, Claude uses in these sit- or how we use Claude in these situations to automate Claude Code. And also a lot of our, uh, the companies using Claude Code actually use this non-interactive mode.

So they'll, for example, say, "Hey, I have, like, hundreds of thousands of tests in my repo. Some of them are out of date, some of them are flaky," and they'll send Claude Code to look at each of these tests and decide, "Okay, how can I update any of them?"

Like, "Should I deprecate some of them? How do I, like, increase our code coverage?" So that's been a really cool way that people are non-interactively using Claude Code.

**Swyx** [31:28]
What are the best practices here? Because when it's non-interactive, it could run forever-

**Boris Cherny** [31:33]
Yeah

**Swyx** [31:34]
... and you're, you're not, you're not necessarily reviewing the output of everything, right? So I, I'm just kinda curious, how does, how is it different in non-in- non-interactive mode? What are the, the most important hyper parameters or arguments to set?

**Boris Cherny** [31:45]
Yeah, and then for folks that haven't used it, so a non-interactive mode is just Claude-p, and then you pass in the prompt in quotes, and that's all it is.

**Swyx** [31:51]
Yeah.

**Boris Cherny** [31:52]
It's just the-p flag. Generally, it's best for tasks that are read-only.

**Swyx** [31:56]
Mm-hmm.

**Boris Cherny** [31:56]
That's the place where it works really well, and you don't s- you know, super have to think about permissions and running forever and, and things like that. Um, so for example, a linter that runs and doesn't fix any issues or, for example, we're working on a thing where we use Claude in, with-p to generate the change log for Claude.

So every PR is just looking over the commit history and being like, "Okay, this makes it into the change log, this doesn't," um, because we know people have been requesting, uh, change logs, so we're just getting Claude to build it.

So generally, non-interactive mode, really good for read-only tasks. For tasks where you wanna write, the thing we usually recommend is pass in a very specific set of permissions on the command line. So what you can do is pass in, uh, --allowedtools, and then you can allow a specific tool.

So for example, not just Bash, but for example, Git status, um, or Git diff. So you just give it a, a set of tools that it can use or, you know, edit tool or something.

**Swyx** [32:47]
Uh, it still has default tools are file read, grep, s- system tools like Bash and LS and memory tools, right?

**Boris Cherny** [32:54]
Yeah.

**Swyx** [32:54]
All those are-

**Boris Cherny** [32:54]
So it still has... Yeah, it still has all these tools, but allowed tools just lets you, instead of the permission prompt, 'cause you don't have that in the non-interactive mode, it's just kinda pre-accepting-

**Swyx** [33:03]
Okay

**Boris Cherny** [33:03]
... tool uses.

**Swyx** [33:04]
Yeah.

**Cat Wu** [33:05]
And we'd also definitely recommend that you start small. So, like, test it on one test, make sure that that has reasonable behavior, iterate on your prompt, then scale it up to 10, make sure that it succeeds, or if it fails, just, like, analyze what the patterns of failures are, and gradually scale up from there.

So definitely don't kick off a run to fix, like, 100,000 tests.

**Swyx** [33:24]
Yeah. I think the... So at this point, I just, you know, I, I want to... This tagline is in my head that basically at Anthropic, there's Claude Code generating code, and then Claude Code also reviewing its own code.

**Boris Cherny** [33:36]
Mm.

**Swyx** [33:36]
That, like, at some point, right? Like, different people are setting all this up. You don't really govern that.

**Boris Cherny** [33:40]
Mm.

**Swyx** [33:40]
Uh, but it's happening at some -

**Boris Cherny** [33:43]
Yeah, we have to be... You know, at Anthropic, there's still a human in the loop for reviewing-

**Swyx** [33:46]
Yes

**Boris Cherny** [33:46]
... and I think for, you know, for ASL, this is important, so, like, for general, like, model alignment and safety.

**Swyx** [33:51]
What's A- what's ASL?

**Boris Cherny** [33:52]
Oh, so ASL, this is, like, the, kind of the safety levels. Um-

**Swyx** [33:56]
Like, yeah, right, right. For, for...

**Boris Cherny** [33:58]
What does it stand for?

**Cat Wu** [33:58]
Autonomous safety level.

**Swyx** [34:00]
Autonomous.

**Cat Wu** [34:00]
Autonomous.

**Boris Cherny** [34:01]
Es- essentially, like, it's like a-

**Swyx** [34:02]
Sorry, I don't, I'm not used to the acronyms

**Boris Cherny** [34:04]
Okay, yeah . We have a lot of these.

**Swyx** [34:06]
Yeah, you, you, but you've published stuff. Like, I know-

**Boris Cherny** [34:07]
Yeah

**Swyx** [34:08]
... I just don't know what they're called internally .

**Boris Cherny** [34:09]
Yeah, exactly. But it's essentially, like, as the model gets more capable and it hits... You know, ASL5 is kind of the highest level. It's like, you know, the model is capable of fooling a user if it wants to and can exfiltrate itself, like inject itself out of its container and replicate itself across other containers.

We're not there yet.

**Swyx** [34:25]
That's the Eliezer Yudkowsky, "Ah," like, level.

**Boris Cherny** [34:28]
Yeah, exactly. Like, like, yeah. Yeah, this is like the, where the line goes vertical.

**Swyx** [34:31]
And we're at, we're at 2?

**Boris Cherny** [34:32]
We're at 2 right now.

**Swyx** [34:32]
Yeah.

**Boris Cherny** [34:33]
Yeah, we're kinda bordering on 3 right now.

**Swyx** [34:34]
Yeah.

**Boris Cherny** [34:35]
So I think at, like, 3, 4, and 5 you ha- you start having to think a lot more carefully about this because hopefully the model is aligned, but in case it's not aligned, you need a human in the loop in, in the right ways.

**Swyx** [34:44]
The point of the thing I was thinking about was we have, you know, VPs of Eng, CTOs listening. Like, it's, this is all well and good for the individual developer, but the people who are responsible for the tech, the, the co- entire code base, the engineering decisions, all this is going on.

### Enterprise

**Swyx** [35:00]
My developers, like, I, I manage, like, 100 developers, any of them could be doing any of this at this point. What do I do to manage this? How does my code review process change? How does my change management change?

I don't know.

**Cat Wu** [35:11]
We've talked to a lot of VPs and CTOs about it. They actually tend to be quite excited because they experiment with the tool, they download it, they ask it a few questions, and, like, Claude Code, when it gives them sensible answers, they're really excited 'cause they're like, "Oh, I can understand, like, this nuance in the code base."

And sometimes they even ship small features with Claude Code, and I think through that process of, like, interacting with the tool, um, they build a lot of trust in it. And a lot of folks actually come to us and they ask us, like, "How, how can I roll it out more broadly?"

Um, and then w- we'll often, like, have sessions with, like, VPs of Dev Prod and talk about these concerns around how do we make sure people are writing high-quality code. I think in general, it's still very much up to the individual developer to hold themselves up to a very high standard for the quality of code that they merge.

Even if s- we use Claude Code to write a lot of our code, it's still up to the individual who merges it to be responsible for, like, this being well-maintained, well-documented code that has, like, reasonable abstractions. And so I, I think that's something that will continue to happen, where Claude Code isn't its own engineer that's, like, committing code by itself.

It's still very much up to the ICs to be responsible for the code that's produced.

**Boris Cherny** [36:31]
Yeah. I think Claude Code also makes a lot of the stuff... A lot of quality work becomes a lot easier. So for example, like, I have not manually written a unit test in many months.

**Cat Wu** [36:40]
And we have a lot of unit tests.

**Boris Cherny** [36:41]
We have a lot of unit tests. And it's because Claude writes all the tests, and, you know, before, I felt like a jerk if on someone's PR, I'm like, "Hey, can you write a test?" 'Cause, you know, they kinda know they want-

**Alessio** [36:51]
For the code coverage, is that still relevant?

**Boris Cherny** [36:52]
For code coverage, yeah.

**Alessio** [36:53]
Okay.

**Boris Cherny** [36:53]
And bec- you know, they kinda know they should probably write a test, and that's probably the right thing to do, and somewhere in their head they make that trade-off where they just wanna ship faster. And so you always kinda feel like a jerk for asking.

But now I always ask because Claude can just write the test.

**Alessio** [37:06]
Right.

**Boris Cherny** [37:06]
And, you know, it's n- there's no human work. You just ask Claude to do it, and it, it writes it. And I think with writing tests becoming easier and with the writing lint rules becoming easier, it's actually much easier to have high-quality code than, than it was before.

**Alessio** [37:21]
What are the metrics that you believe in? Like, is it... There's a lot of people actually don't believe in 100% code coverage, because sometimes that is kind of optimizing for the wrong thing. Arguably, I don't know. Uh, but, like, obviously, you have a lot of experience in different code quality metrics, but what, what, what is still, what still makes sense?

**Boris Cherny** [37:37]
I think it's very engineering team dependent, honestly.

**Alessio** [37:40]
Okay.

**Boris Cherny** [37:41]
I wish there was a one-size-fits-all answer.

**Alessio** [37:42]
Yeah.

**Boris Cherny** [37:42]
Like, for some-

**Alessio** [37:43]
For me, the one solution.

**Boris Cherny** [37:45]
For, uh, for some teams, test coverage is extremely important.

**Alessio** [37:48]
Uh-huh.

**Boris Cherny** [37:48]
Um, for other teams, type coverage is very important, especially if you're working in a, you know, a very strictly typed language and, you know, for example, avoiding, like, any use in JavaScript and Python.

**Alessio** [37:58]
Yep.

**Boris Cherny** [37:59]
I think cyclomatic complexity kind of gets a lot of flack, but it's still honestly a pretty good metric, just 'cause there isn't anything better in terms of ways to measure, uh, code quality.

**Alessio** [38:08]
Okay. And then productivity's obviously not lines of code, but do you care about measuring productivity? I, I'm sure you do.

**Boris Cherny** [38:15]
Yeah, you know, lines of code honestly isn't terrible.

**Alessio** [38:17]
Oh, God.

**Boris Cherny** [38:18]
It's, uh... It has downsides, yeah. It's, it's ter- well, it... Lines of code is terrible for a lot of reasons.

**Alessio** [38:24]
Yes.

**Boris Cherny** [38:24]
But it's really hard to make anything better, so-

**Alessio** [38:27]
It's the least terrible.

**Boris Cherny** [38:28]
It's the least terrible. There's, like, lines of code, maybe, like, number of PRs-

**Alessio** [38:32]
How green your GitHub is

**Boris Cherny** [38:34]
... like, spring cleaning.

**Cat Wu** [38:34]
Yeah.

**Boris Cherny** [38:34]
Yeah, yeah.

**Cat Wu** [38:35]
The two that we're really trying to nail down are, one, decrease in cycle time, so how much faster are your features shipping because you're using these tools? So that might be something f- like the time between first commit and when your PR is merged.

It's very tricky to get right, but one of the ones that we're targeting. The other one that we wanna measure more rigorously is, like, the number of features that you wouldn't have otherwise built.

**Alessio** [39:00]
Hmm.

**Cat Wu** [39:01]
We have a lot of channels where we get customer feedback, and one of the patterns that we've seen with Claude Code is that sometimes customer support or s- customer success will, like, post, "Hey," like, um, "this app has, like, this bug."

And then sometimes 10 minutes later, one of the engineers on that team will be like, "Claude Code made a fix for it." In a lot of those situations, when you, like, ping them and you're like, "Hey, that was really cool," they're like, "Yeah, um, without Claude Code, I probably wouldn't have done that, 'cause it would've been too much of a divergence from what I was otherwise gonna do.

It would've just ended up in this long backlog." So this is the kind of stuff that we really want to measure more rigorously.

**Boris Cherny** [39:39]
That was the other AGI-pilled moment for me. There was a really early version of Claude Code many, many months ago, and this one engineer at Anthropic, Jeremy, built a bot that looked through a particular feedback channel on Slack, and he hooked it up to code to have code automatically put up PRs with just fixes to all this stuff.

And some of the stuff, you know, it didn't fix every issue, but it fixed a lot of the issues. And I'll-

**Alessio** [40:02]
Was it, like, 10%, 50?

**Boris Cherny** [40:04]
You know, this was, like, early on-

**Alessio** [40:05]
Okay. Yeah, yeah, yeah

**Boris Cherny** [40:05]
... so I don't know the number.

**Alessio** [40:06]
Yeah.

**Boris Cherny** [40:06]
But it was, it was surprisingly high, to the point where-

**Alessio** [40:08]
Yeah

**Boris Cherny** [40:08]
... I became a believer-

**Alessio** [40:09]
I see

**Boris Cherny** [40:10]
... in this kind of workflow, and I, I wasn't before.

**Alessio** [40:12]
As a PM, isn't that scary, too, in a way, where you can build too many things? It's almost like maybe you shouldn't build that many things. I think that's what I'm struggling with the most. It's like it gives you the ability to create, create, create.

But then at some point you gotta support, support, support, right?

**Boris Cherny** [40:27]
This is the Jurassic Park, like, your scientist is so preoccupied with whether you could-

**Alessio** [40:30]
Yeah, yeah.

**Boris Cherny** [40:31]
Exactly.

**Alessio** [40:31]
Whether or not we should. Uh, yeah, how, how do you make decisions? Like, now that the cost of actually implementing the thing is going down-

**Boris Cherny** [40:38]
Yeah

**Alessio** [40:38]
... as a PM, how do you decide what is actually worth doing?

**Cat Wu** [40:41]
Yeah, we definitely still hold a very high bar for net new features. Most of the fixes were like, "Hey, this functionality's broken," or this, like, there's a weird edge case that we hadn't addressed yet. So it's very much like smoothing out the rough edges as opposed to building something completely net new.

For net new features, I think we hold a pretty high bar that it's very intuitive to use. The new user experience is, like, minimal. It's just, like, obvious that it works. We sometimes actually use Claude Code to prototype instead of using docs.

Yeah, so you'll have, like, prototypes that you can play around with, and that often gives us a faster feel for, hey, is this feature ready yet? Or, like, is this the right abstraction? Is this the right interaction pattern?

So it gets us faster to feeling really confident about a feature, but it's... it doesn't circumvent the process of us making sure that the feature definitely fits in, like, the product vision.

**Boris Cherny** [41:37]
It's interesting how as it gets easier to build stuff, it changes the way that I write software, where, like, like Cat saying, like, before, I would write a big design doc-

**Cat Wu** [41:47]
Uh-huh

**Boris Cherny** [41:48]
... and I would think about a problem for a long time before I would build it sometimes for some set of problems. And now I'll just ask Claude Code to prototype, like, three versions of it, and I'll try the feature and see which one I like better, and then that informs me much better and much faster than a doc would have.

And I think we haven't totally internalized that transition yet in the industry.

**Alessio** [42:07]
Yeah, I feel the same, the same way for some tools I build internally. People ask me, "Could we do this?" And I'm like, "I'll just... Yeah, just build it."

**Cat Wu** [42:16]
Yeah, it's, um-

**Alessio** [42:16]
And it's like, well, it feel, it feels pretty good. We should, like-

**Boris Cherny** [42:19]
Yeah

**Alessio** [42:19]
... polish it, you know? Or sometimes it's like, no, that's not-

**Boris Cherny** [42:22]
It's comforting that, you know, like, the- your ups- your max cost is, I mean, your... even at Anthropic, where it's theoretically unlimited, the cost is roughly $6 a day.

**Cat Wu** [42:31]
Yeah.

**Boris Cherny** [42:31]
That gives people peace of mind, because I'm like, "$6 a day? Fine. Six to $100 a day, we have to talk."

**Alessio** [42:38]
Yeah.

**Cat Wu** [42:38]
Yeah.

**Boris Cherny** [42:38]
Like, you know.

**Alessio** [42:38]
Yeah. I pay 200 bucks a month to make Studio Ghibli photos. So it's all, it's all good. That is totally worth it.

**Cat Wu** [42:45]
You mentioned internal tools, and that's actually a really big use case that we're seeing emerge. Because a lot of times, um, if you're working on something operationally intensive, if you can spin up a internal dashboard for it or, like, an operational tool where you can, for example, grant access to 1,000 emails at once, a lot of these things you don't really need To have like a super polished design, you kind of just need something that works.

And Claude Code's really good at those kinds of zero to one tasks. Like we use Streamlit internally, and there's been like a proliferation of how much we're able to visualize, and because we're able to visualize it, we're able to see patterns that we wouldn't have otherwise if we were just looking at like raw data.

**Swyx** [43:28]
Hmm.

**Boris Cherny** [43:29]
Yeah, like I, I was working on also this like side website, uh, last week, and I just showed Claude Code the mock. So I just took the, you know, the screenshot I had, dragged and dropped it into the terminal, and I was like, "Hey, Claude, here's the mock.

Can you implement it?" And it implemented it, and it looked like... You know, it sort of worked. It was a little bit crummy, and I was like, "All right, now look at it in Puppeteer and like iterate on it until it looks like the mock."

And then it did that three or four times, and then the thing looked like the mock. Yeah, this was just all manual work before.

**Swyx** [43:57]
I think we're gonna ask about like two other features of, I guess, the, the, the overall agent, uh, pieces that we mentioned. So I'm interested in memory as well. So we talked about autocompact and memory using hashtags and stuff.

### Memory

**Swyx** [44:07]
My impression is that your... y- like you say, simplest approach works, but I'm curious if you've seen any other requests that are interesting to you or internal hacks of memory that people have explored that like, you know, you might want to surface to others.

**Boris Cherny** [44:25]
There's a bunch of different approaches to memory. Most of them use external stores-

**Swyx** [44:29]
Yeah

**Boris Cherny** [44:30]
... of various sorts. Uh, there's-

**Swyx** [44:32]
Like Chroma.

**Boris Cherny** [44:32]
Yeah, exactly, yeah. There, there's a lot of projects like that.

**Swyx** [44:34]
Yeah.

**Boris Cherny** [44:34]
And, uh, yeah, it's, it's e- either a K-value or kind of like graph stores that's like the two big shapes for these. Um-

**Swyx** [44:41]
Are you a b- believer in knowledge graphs for this stuff or...?

**Boris Cherny** [44:44]
You know, I'm a big... I, uh, if you talked to me before I joined Anthropic and this team, I would've said yeah, definitely.

**Swyx** [44:50]
Mm-hmm.

**Boris Cherny** [44:50]
Um, but now actually I feel everything's the model. Like that's the thing that wins in the end- ... and it just as the model gets better it sum- it subsumes everything else. So, you know, at some point the model will encode its own knowledge graph.

It'll encode its own like KB store if you just give it the right tools.

**Swyx** [45:04]
Yeah.

**Boris Cherny** [45:05]
But yeah, I think the specific tools, there's still a lot of room for experimentation. We just... We don't, we don't know yet.

**Swyx** [45:10]
In some ways, are we just coping for a lack of context length? Like are we doing things from memory now that if we had like 100 million token context window we don't care about?

**Boris Cherny** [45:20]
That's an interesting way to think of that.

**Cat Wu** [45:20]
I would love to have 100 million token context for sure.

**Swyx** [45:24]
I mean, you know, some people have claimed to, to have done it. We don't know if that's true or not, but...

**Boris Cherny** [45:28]
I guess here's a question for you. Shawn, if you took all the world's knowledge and you put it in your brain-

**Swyx** [45:34]
Yeah

**Boris Cherny** [45:34]
... and let's say, you know, there was like some treatment that you could get to make it so your brain can have any amount of context, so you have like infinite neurons. Is that something that you would wanna do, or would you still wanna record knowledge externally?

**Swyx** [45:44]
Putting it in my head is like different from me trying to use an agent tool to do it because I'm trying to control the agent, and I'm trying to make myself unlimited, but I wanna make the tools that I use limited 'cause then they...

then I know how to control them. And it's not even like a safety argument. It's just more like a, "I want to know what you know, and if you don't know, don't know a thing, then sometimes that's good."

**Boris Cherny** [46:05]
Like, like the ability to audit what, what's being said.

**Swyx** [46:06]
Yeah. And I don't know if this is the small brain thinking because this is not very bitter lesson, which is like actually sometimes you, you just want to control every th- every part of what goes in there in the context, and the more you just, you know, Jesus, take the wheel, trust the model, then you have no idea what it's paying attention to.

**Boris Cherny** [46:23]
Yeah, I don't know. Did you see the mech interpretability stuff from Chri- Chris Olah and the team that was published-

**Swyx** [46:28]
La- like last week.

**Boris Cherny** [46:29]
Yeah, last week.

**Swyx** [46:29]
Really?

**Boris Cherny** [46:30]
Yeah.

**Swyx** [46:30]
Yes. What about it?

**Boris Cherny** [46:31]
I, I wonder if something like this is the future, so y- there's a easier way to audit the model itself.

**Swyx** [46:36]
Mm-hmm.

**Boris Cherny** [46:37]
And so if you wanna see like what, what is stored, you can just audit the model.

**Swyx** [46:40]
Yeah. The main salient thing is that they've... they know what features activate it per token-

**Boris Cherny** [46:46]
Hmm

**Swyx** [46:47]
... and they can sup- tune it up, suppress it, whatever. But I don't know if it goes down to the individual like item of knowledge from context, you know?

**Boris Cherny** [46:55]
Not yet.

**Swyx** [46:55]
Yeah.

**Boris Cherny** [46:56]
But I wonder if-

**Swyx** [46:57]
Yeah.

**Boris Cherny** [46:57]
... you know, maybe that's the bitter lesson version of it.

**Cat Wu** [46:59]
Yeah.

**Swyx** [46:59]
Right. Right. Any other comments from memory? Otherwise, we can move on to planning and thinking.

**Cat Wu** [47:03]
We've been seeing people play around with memory in quite interesting ways, like having Claude write a logbook of all the actions that it's done so that over time Claude develops this understanding of what your team does, what you do within your team, what your goals are, how you like to approach work.

We would love to figure out what the most generalized version of this is so that we can share broadly. I think with things like Claude Code, w- like I think when we're developing things like Claude Code, it's actually less work to implement the feature and a lot of work to tune these features to make sure that they work well for general audiences, like across a broad range of use cases.

So there's a lot of interesting stuff with the memory, and we just wanna make sure that it works well out of the box before we share it broadly.

**Swyx** [47:54]
Agree with that. I, I think there's a lot more to be developed here.

**Boris Cherny** [47:57]
I guess a related problem to memory is, uh, how do you get stuff into context?

**Swyx** [48:01]
Knowledge base, right?

**Boris Cherny** [48:01]
Like knowledge base, yeah.

**Swyx** [48:03]
Yeah.

**Boris Cherny** [48:03]
And o- originally, we tried very, very early versions of Claude actually used RAG. So we like indexed the code base, and I think we were just using Voyage, so you know, just off-the-shelf RAG, and that, that worked pretty well.

And we tried a few different versions of it. There was RAG, and then we tried a few different kinds of search tools, and eventually we landed on just agentic search as the way to do stuff. And there were two big reasons, maybe three big reasons.

So one is it outperformed everything. Which is-

**Swyx** [48:30]
By, by a lot.

**Boris Cherny** [48:31]
By a lot, and this was surprising.

**Swyx** [48:32]
In what benchmark?

**Boris Cherny** [48:34]
Um, this was just vibes.

**Swyx** [48:35]
Okay.

**Boris Cherny** [48:35]
So internal vibes. There, there's some internal benchmarks also, but mostly vibes. It just felt better.

**Swyx** [48:39]
In, in agentic RAG, meaning you can-

**Boris Cherny** [48:41]
Yeah

**Swyx** [48:41]
... you just let it look up in however many search cycles it needs.

**Boris Cherny** [48:44]
Yeah, just using regular code, code searching, you know-

**Swyx** [48:47]
Mm-hmm

**Boris Cherny** [48:47]
... glob, grep, um, just-

**Swyx** [48:48]
Okay. Sorry

**Boris Cherny** [48:49]
... regular code search.

**Swyx** [48:49]
Regular code search, yeah.

**Boris Cherny** [48:50]
Yeah. So that was like one, and then the second one was, uh, there was this whole like indexing step that you have to do for RAG, and there's a lot of complexity that comes with that because the code drifts out of sync, and then there's security issues because this index has to live somewhere, and then, you know, what if that provider gets hacked?

And so it's, uh, it, it's just a, a lot of liability for a company to do that. You know, even for our code base, it's very sensitive, so we're, we're kind of- We don't wanna upload it to a third-party thing.

It could be a first-party thing, but then we still have this out of sync issue. And agentic search just sidesteps all of that. So essentially, at the cost of latency and tokens, you now have really awesome search without security downsides.

**Cat Wu** [49:26]
Well, memory is like planning, right? There's kind of like memory is like what I like to do, and then planning is like now use those memories to come up with a plan to do these things. Um, there was one-

**Swyx** [49:36]
Or, or maybe put it as like memory is sort of the past, like what we, what we already did, and then plan is kind of what, what we will do.

**Cat Wu** [49:42]
Yeah.

**Swyx** [49:42]
And it just cr- crosses over at some point.

**Cat Wu** [49:44]
Yeah. I think the maybe slightly confusing thing from the outside is h- what you define as thinking. So there's like, uh, extensive thinking, there's the think tool, and it's kind of like thinking as in planning, which is like thinking before execution, and then there's like thinking while you're doing, which is like the, the think tool.

Can you maybe just run people through- ... the difference ASAP?

**Swyx** [50:05]
I'm already confused listening to you.

**Cat Wu** [50:09]
Well...

**Boris Cherny** [50:09]
Well, it's, it's one tool. So, uh, Claude can think if you ask it to think. Uh, generally, the usage pattern that works best is you ask Claude to do a little bit of research, like use some tools, pull some code into context, and then ask it to think about it.

Uh, and then it can make a plan and, you know, do a planning step before you execute. There are some tools that have explicit planning modes, like RewCode has this and Quine has this. Some of the other tools have it, like you can shift between, you know, plan and act mode or maybe a few different modes.

We've sort of thought about this approach, but I think our approach to product is similar to our approach to the model, which is bitter lesson. So just free form, keep it really simple, keep it close to the metal.

And so if you wanna... if you want Claude to think, just tell it to think. Be like, you know, "Make a plan, think hard, don't write any code yet," and it, it should generally follow that. And you can do that also as you go.

So maybe there's a planning stage, and then Claude writes some code or whatever, and then you can, you can ask it to think and plan a little bit more. You can do that anytime.

**Cat Wu** [51:10]
Yeah, I was reading through the think tool blog post, and it said, while it sounds similar to extended thinking, it's a different concept. Extended thinking is what Claude does before it starts generating, and then think it once it starts generating, how do you add a stop and think.

Is this all done by the Claude Code harness, so people don't really have to think about the difference between the two basically is the idea?

**Boris Cherny** [51:32]
Yeah, you don't, you don't have to think about it.

**Cat Wu** [51:34]
Okay.

**Boris Cherny** [51:34]
Um, and it's all, uh-

**Cat Wu** [51:35]
That, that is helpful. That, that is helpful because sometimes I'm like, "Man, am I not thinking right?" What...

**Boris Cherny** [51:42]
Um, yeah, this is-- it is-- and it's all chain of thought actually in Claude Code, so we don't use the think tool. Any time that Claude Code does thinking, it's all chain of thought.

**Swyx** [51:49]
I had a insight. This, this is again something we had, uh, a discussion we had before recording, which is, uh, in the cloud-based Pokemon hackathon, we had access to, uh, more sort of branching environments feature, which meant that we could take any VM state, branch it, play it forward a little bit, and use that in the planning.

And, uh, then I realized the TLDR of, of yesterday was basically that it's too expensive to just always do that at every point in time. But if you give it as a tool to Claude and prompt it in certain cases to use that tool, seems to make sense.

I'm just kinda curious, like your takes on overall like sandboxing, environment, branching, rewind ability maybe, which is something that you immediately brought up, which I didn't think about. Is that useful for Claude or Claude has no opinions about it?

**Boris Cherny** [52:35]
Yeah, I, I could talk for hours about this. Claude probably can too if you-

**Swyx** [52:38]
Yeah?

**Boris Cherny** [52:40]
... if you ask it.

**Swyx** [52:40]
Let's get original tokens from you, and then we can train Claude on that. By the way, that's like explicitly what this podcast is, is we're just generating tokens for people.

**Cat Wu** [52:48]
Is this, is this the pre-training or the post-training?

**Swyx** [52:50]
Yeah, this pre-train data set. Like we gotta get in there.

**Boris Cherny** [52:52]
Oh, man. Subsc- yeah, how do I, how do I buy? How do we, how do I get some tokens? Starting with sandboxing, ideally, the thing that we want is to always run code in a Docker container, and then it has freedom, and you can kind of snapshot, you know, with other kind of tools layered on top.

You can snapshot, rewind, do all the stuff. Unfortunately, working with a Docker container for everything is just like a lot of work, and most people aren't gonna do it. And so we want some way to simulate some of these things without having to go full container.

There's some stuff you can do today. So for example, something I'll do sometimes is if I have a planning question or a research type question, I'll ask Claude to investigate a few paths in parallel. And you can do this today if you just ask it.

So say, you know, "I want to refactor X to do Y. Can you research three separate ideas for how to do it? Do it in parallel. Use three agents to do it." And so in the UI, when you say-- when you see a task that's actually like a sub-Claude, it's a sub-agent that does this, and usually when I do something hairy, I'll ask it to just investigate, you know, three times or five times or however many times in parallel, and then Claude will kind of pick the best option and then summarize that for you.

**Cat Wu** [53:58]
But how does Claude pick the best option? Don't you wanna choose? What's your handoff between you should pick versus I should be the final decider?

**Boris Cherny** [54:08]
Um, I think it depends on the problem. You can also ask Claude to present the options to you.

**Swyx** [54:13]
Probably, you know, exists at a different part of the stack than, than Claude Code specifically. Claude Code as a CLI, like you could use it in any environment, so it's up to you to compose it together. Should we talk about how m- how and when models fail?

'Cause I think that was another hot topic for you.

**Boris Cherny** [54:26]
Mm.

**Swyx** [54:27]
I'll just leave it open, like how do you observe Claude Code failing?

### Model Limits

**Cat Wu** [54:31]
There's definitely a lot of room for improvement in the models, which I think is very exciting. Uh, most of our research team actually uses Claude Code day to day, and so it's been a great way for them to be very hands-on and like experience the model failures, which makes it a lot easier for us to target these in model training and to actually provide better models, not just for Claude Code, but for like all of our coding customers.

I think one of the things about the latest Sonnet 3.7 is it's a very persistent model. It's like very, very motivated to accomplish the user's goal, but it sometimes takes the user's goal very literally. And so- Doesn't always fulfill what, like, the implied parts of the request are because it's just so narrowed in on, like, I must-

**Alessio** [55:19]
It's locked in

**Cat Wu** [55:19]
... like, get X done. And so we're trying to figure out, okay, how do we give it a bit more common sense so that it, it knows the line between trying very hard and, like, no, the user definitely doesn't want that.

**Swyx** [55:31]
Yeah. Like, the classic example is like, "Hey, Claude, get this test to pass," and then, you know, like, five minutes later, it's like, "All right, well, I hard-coded everything. The test passes." I'm like, "No, that's not what I wanted."

**Alessio** [55:40]
Hard-coded the answer.

**Swyx** [55:41]
Yeah.

**Alessio** [55:42]
But that's the, but that's the thing. Like, it only gets better from here. Like, these use cases work sometimes today, not, you know, not every time and, you know, the model sometimes tries too hard.

**Swyx** [55:51]
Yeah.

**Alessio** [55:51]
But it only gets better.

**Swyx** [55:53]
Yeah.

**Cat Wu** [55:53]
Yeah, like context, for example, is a big one where, like, a lot of times if you have a very long conversation and you compact a few times, maybe some of your original intent isn't as strongly present as it was when you first started.

And so maybe the model, like, forgets some of what you originally told it to do. And so we're really excited about things like larger effective context windows so that you can have these, like, gnarly, like, really long hundreds of thousands of tokens long tasks and make sure that Claude Code is on track the whole way through.

Like, that would be a huge lift, I think, not just for Claude Code, but for every coding company.

**Swyx** [56:30]
Fun story from David Hershey's, uh, keynote yesterday. Uh, he actually misses the common sense of 3.5 because 3.7 being so persistent, 3.5 actually had some entertaining stories where apparently it, like, gave up on tasks and just 3.7 doesn't.

Uh, and the give... and when Claude 3.5 gives up, it started, like, writing, uh, formal requests to the developers of the game to fix the game . And he has some screenshots of it, which is excellent. So if you, if you're listening to this, you can find it on the YouTube because we'll, we'll post it.

Very, very cool. One form of, of failing, which I kind of wanted to capture, was something that you mentioned, uh, while we were getting coffee, which is that, uh, Claude Code doesn't have that much between session memory or, or caching or whatever you call that, right?

So it, it reforms the whole state from whole cloth every single time, uh, so as to make the minimum assumptions on the changes that can happen in between. So, like, how consistent can it stay, right? Like I say, I think that one of the failures is that it forgets what it was doing in the past unless you explicitly opt in via Claude.md or whatever.

Is that, uh, something you worry about?

**Cat Wu** [57:36]
It's definitely something we're working on. I think, like, our best advice now for people who want to resume across sessions is to tell Claude to, "Hey, like, write down the state of this session into this text doc," probably not the Claude.md, but, like, in a different doc, and in your new session, tell Claude to read from that doc.

**Swyx** [57:54]
Yeah.

**Cat Wu** [57:55]
Um, but we'll... we plan to build in more native ways to handle this specific workflow.

**Swyx** [58:01]
There's a lot of different cases of this, right? Like, sometimes you don't want Claude to have the context, and it's sort of like Git. Sometimes I just want a, you know, a fresh branch that doesn't have any history, but sometimes I've been working on a PR for a while and, like, I need all that historical context.

**Alessio** [58:15]
Right.

**Swyx** [58:15]
So there... we kind of want to support all these cases, and it's, it's tricky to do a one-size-fits-all, but, but generally, our approach to code is to make sure it works out of the box for people without extra configuration.

So once we get there, we'll, we'll have something.

**Alessio** [58:28]
Do you see a future in which the commits play a bigger part of, like, in a pull request, like, how do we get here, you know? There's kind of, like, a lot of history in how the code has changed within the PR that informs the model, but today, the models are mostly looking at the current state of the branch.

**Swyx** [58:45]
Yeah, so Claude for... you know, for some things, it'll actually look at the whole history. So for example, if it's writing... if you tell Claude, "Hey, make a PR for me," it'll look at all the changes since your branch diverged from main, and then, you know, take all of those into account when generating the pull request message.

**Cat Wu** [59:01]
You might notice it running Git diff as you're using it. I think it's pretty good about just tracking, hey, what changes have happened on this branch or so far, and just make sure that it's, like, understands that before continuing on with the task.

**Swyx** [59:16]
One thing other people have done is, uh, ask Claude to commit after every change. You can just put that in the Claude MD. Um, there, there's some of these, like, power user workflows that I think are super interesting.

Like, some people are asking Claude to commit after every change so that they can rewind really easily. Other people are asking Claude to create a work tree every time so that they could have, you know, a few Claudes running in parallel in the same repo.

I think from our point of view, we want to support all of this. So again, Claude Code is like a primitive, and it doesn't matter what your workflow is. It, it should just fit in.

**Alessio** [59:48]
I know that 3.5 Haiku was the number four model on Aider when it came out. Do you see Claude Code have a world in which you have, like, a commit hook that uses maybe Haiku to do some, like, like, the linter stuff-

**Swyx** [1:00:00]
The small stuff

**Alessio** [1:00:00]
... and things like that continuously, and then you have 3.7 as the more-

**Swyx** [1:00:04]
Yeah, you could actually do this if you want. So, uh, y- you're, you're saying, like, through, like, a pre-commit hook or, like, a GitHub action or-

**Alessio** [1:00:11]
Yeah, yeah, yeah.

**Swyx** [1:00:12]
Yeah.

**Alessio** [1:00:12]
Say, well, kind of like run Claude Code, like the lint example that you had.

**Swyx** [1:00:15]
Yeah, yeah.

**Alessio** [1:00:16]
I want to run it at each commit locally, like, before it goes to the PR.

**Swyx** [1:00:20]
Yeah, so you could do this today if you want. So in the, um, you know, if you're using, like, Husky or, like, whatever pre-commit-

**Alessio** [1:00:26]
Yep

**Swyx** [1:00:26]
... hook system you're using or just, like, Git pre-commit hooks, just add a line Claude-p, and then, you know, whatever instruction you have, and that'll run every time.

**Alessio** [1:00:34]
Nice. And you just specify Haiku. There's really no difference, right? It's like maybe it'll work a little worse, but, like, it still support it.

**Swyx** [1:00:40]
Yeah, you can override the model if you want. Generally, we use Sonnet. We default to Sonnet for almost everything just 'cause we find that it outperforms.

**Alessio** [1:00:47]
Yep.

**Swyx** [1:00:48]
Um, but yeah, you can override the model if you want.

**Alessio** [1:00:50]
Yeah. I don't have that much money to run commit hook on 3.7.

**Swyx** [1:00:55]
Just as, as a side note on pre-commit hooks, I have worked in places where they insisted on having pre-commit hooks. I've worked at places where they insisted they'll never do pre-commit hooks 'cause they get in the way of committing and moving quickly.

I'm just kind of curious, like, do, do you have a stance or recommendation?

**Boris Cherny** [1:01:12]
Oh, God, that's like asking about tabs versus spaces. Would it ?

**Alessio** [1:01:14]
Little bit. But, like, you know, I, I think it is easier in some ways to, like, if you have a breaking test, go fix the test with Claude Code. In other ways, it's more expensive to run this at every point, so, like, there's trade-offs.

**Boris Cherny** [1:01:27]
I think for me the biggest trade-off is you want the pre-commit hook to run pretty quickly so that w- if you're-- either if you're a human or if you're Claude, you don't have to wait, like, a minute-

**Alessio** [1:01:36]
Yeah

**Boris Cherny** [1:01:36]
... for all the checks to run.

**Alessio** [1:01:36]
So you want the fast version.

**Boris Cherny** [1:01:37]
Yeah.

**Alessio** [1:01:38]
Yeah.

**Boris Cherny** [1:01:38]
So generally, you know, pre-commit, you know, for our code base should run-

**Alessio** [1:01:41]
Just types.

**Boris Cherny** [1:01:42]
Yeah, it's like less than, you know, five seconds or so, like, just types and lint maybe. And then more expensive stuff you can put in the GitHub Action or GitLab or whatever you're using.

**Alessio** [1:01:50]
Agreed. I don't know, like, j- I, I like putting prescriptive recommendations out there so that people can take this and go, like, "This guy said it. We should do it in our team."

**Boris Cherny** [1:01:58]
Mm-hmm.

**Alessio** [1:01:58]
And, like, then that's, that's a basis for decisions.

**Boris Cherny** [1:02:01]
Yeah, yeah, yeah.

**Alessio** [1:02:02]
Cool. A-any other technical stories t-to tell? Um, you know, I wa-wanted to zoom out into more product-y stuff, but, uh, you know, you can get as technical as you want.

**Boris Cherny** [1:02:12]
I don't know, like, o-one anecdote that might be interesting is, um, the night before the code launch, we were, uh, going through to burn down the last few issues, and the team was up, like, pretty late trying to, trying to do this.

And one thing that was bugging me for a while was we had this, like, markdown rendering that we were using, and it was just... You know, it's like the, the markdown rendering in Claude today is beautiful, and, um, it's just, like, really nice rendering in the terminal, and it does bold and, you know, headings and spacing and stuff very nicely.

But we tried a bunch of these off-the-shelf libraries to do it, and I think we tried, like, two or three or four different libraries, and just nothing was quite perfect. Like, sometimes the spacing was a little bit off between a paragraph and, like, a list.

**Alessio** [1:02:49]
Mm-hmm.

**Boris Cherny** [1:02:49]
Or sometimes the text wrapping wasn't quite correct. Or sometimes the colors weren't perfect. So each one had all these issues, and all these markdown renderers are very popular, and they have, you know, thousands of stars on GitHub and have been maintained for many years.

But, uh, you know, they're not really built for a terminal. And so the night before the release, at, like, 10:00 PM, I'm like, "All right. I'm gonna do this." So I just asked Claude to write a markdown, uh, parser for me, and they wrote it.

**Alessio** [1:03:12]
Zero shot.

**Boris Cherny** [1:03:12]
Yeah. It, it wasn't quite zero shot, but after, you know, like, maybe, like, one or two prompts, it, it got it. And, um, yeah, that's the markdown parser that's in- ... in code today and the reason that markdown looks so beautiful.

**Alessio** [1:03:24]
That's a fun one. It's interesting what the new bar is, I guess, for implementing features. Like, like, this exact example where there's re- libraries out there w- that you normally reach for that you find, you know, some dissatisfaction with for literally whatever reason.

You could just spit up an alternative and go off of that.

**Boris Cherny** [1:03:42]
Yeah. I feel like AI has changed so much in-

**Alessio** [1:03:45]
Yeah

**Boris Cherny** [1:03:45]
... you know, literally in the last year, but a lot of these problems are, you know, like the example we had before, a feature you might not have built before or you might have used a library, now you can just do it yourself.

Like, the, the cost of writing code is going down and productivity is going up, and we, we just have not internalized what, what that really means yet.

**Alessio** [1:04:02]
Yeah.

**Boris Cherny** [1:04:03]
But yeah, I expect that a lot more people are gonna start doing things like this, like writing your own libraries or just shipping every feature.

### Roadmap

**Alessio** [1:04:08]
Just to zoom out, you obviously do not have a separate Claude Code subscription. I'm curious what the roadmap is. Like, is this just gonna be a research preview for much longer? Are you gonna turn it into an actual product?

I know you were talking to, to a lot of CTOs and VPs. Are-- Is there gonna be Claude Code Enterprise? What's the, what's the vision?

**Cat Wu** [1:04:29]
Yeah. So, um, we have a permanent team on Claude Code. Uh, we're growing the team. We're really excited to support Claude Code in the long run. And so yeah, uh, we'll-- we plan to be around for a while.

In terms of subscription itself, it's something that we've talked about. It depends a lot on whether or not most users would prefer that over pay-as-you-go. Um, so far, pay-as-you-go has made it really easy for people to start experiencing the product 'cause there's no upfront commitment, and it also makes a lot more sense with a more autonomous world in which people are scripting Claude Code a lot more.

But we also hear the concern around, hey, I want more price predictability if this is gonna be my go-to tool. So we're very much still in the stages of figuring that out. I think for enterprises, given that Claude Code is very much like a productivity multiplier for ICs and most ICs can adopt it directly, we've been just, like, supporting enterprises as they have questions around security and productivity monitoring.

And so, yeah, we, we've found that a lot of folks see the announcement, and they wanna learn more, and so we've been just engaging in those.

**Alessio** [1:05:41]
Do you have a credible number for the productivity improvement? Like, for people who are not at Anthropic that you've talked to, like, you know, are we talking, you know, 30%? Some number would help justify things.

**Boris Cherny** [1:05:54]
We're working on getting this. Um-

**Alessio** [1:05:55]
Yeah

**Boris Cherny** [1:05:56]
... we should...

**Alessio** [1:05:57]
Yeah.

**Boris Cherny** [1:05:57]
It's something we're actively working on. But anecdotally for me, it's probably 2X my productivity.

**Alessio** [1:06:02]
My God.

**Boris Cherny** [1:06:03]
So I'm just like, I'm a engineer that codes all day, every day.

**Alessio** [1:06:05]
Yeah.

**Boris Cherny** [1:06:05]
For me, it's probably 2X.

**Alessio** [1:06:06]
Yeah.

**Boris Cherny** [1:06:07]
I think there are some engineers at Anthropic where it's probably 10X their productivity, and then there's some people that haven't really figured out how to use it yet and, you know, they just use it to generate, like, commit messages or something.

That's maybe, like, 10%. So I think, I think there's probably a big range, and I think we need to-

**Alessio** [1:06:23]
Yeah

**Boris Cherny** [1:06:23]
... need to study more.

**Cat Wu** [1:06:24]
For reference, sometimes we're in meetings together, and sales or compliance or someone is like, "Hey, like, we really need, like, X feature." And then Boris will ask a few questions to, like, understand the specs, and then like 10 minutes later, he's like, "All right."

**Boris Cherny** [1:06:37]
Done.

**Cat Wu** [1:06:37]
"Well, it's built. I'm gonna merge it later. Anything else?"

So it definitely feels definitely far different than any other PM role I've had.

**Alessio** [1:06:48]
Do you see yourself opening that channel of the non-technical people talking to Claude Code and then the instance coming to you, which, like, they already define and talk to it and explain what they want, and then you're doing kind of the review side and implementation?

**Boris Cherny** [1:07:02]
Yeah. We've actually done a fair bit of that. Like, uh, Megan, the designer on our team, she is not a coder, but she's running pull requests. She uses code to do it.

**Alessio** [1:07:11]
She designs the UI?

**Swyx** [1:07:13]
Yeah.

**Cat Wu** [1:07:13]
And she's la-landing PRs to our console product.

**Swyx** [1:07:16]
Mm.

**Cat Wu** [1:07:16]
So it's not even just, like, building on Claude Code, it's building, like, across our product suite in our monorepo.

**Swyx** [1:07:22]
Right.

**Boris Cherny** [1:07:23]
Yeah, yeah. And, uh, similarly our, you know, our data scientists uses Claude Code to write, like, you know, like, BigQuery queries and, uh... There was, like, some finance person that went up to me the other day and was like, "Hey, I've been using Claude Code," and I'm like- "What?

Like, how did you even get it installed? Like, you don't even know how to use Git." And they're like, "Yeah, yeah, I figured it out." And yeah, they're using it. They're like... So Claude Code you can pipe in 'cause it's a Unix utility, and so what they, they do is they take their data, uh, put it in a CSV, and then they take the-- they cat the CSV, pipe it into Code, and then they ask it Code questions about the CSV and they, they've been, they've been using it for that.

**Swyx** [1:07:58]
Yeah.

**Cat Wu** [1:07:58]
That would be really useful to me because really what I do a lot of the times, like, somebody gives me a feature request, I kinda, like, rewrite the prompt, I put it in agent mode, and then I review the code.

It would be great to have the PR wait for me. I'm kinda useless in the first step. Like, you know, taking the feature request and prompting the agent to write it, I'm not really doing anything. Like, my work really starts after the first run is done, so...

**Swyx** [1:08:25]
I was gonna say, like, I can see it both ways. So, like, okay, so maybe I'll simplify this to in the, in the workflow of non-technical people in loop, should the technical person come in at the start or come in at the end, right?

Or come in at the end and the start, obviously that's the highest, uh, leverage thing. Because, like, sometimes you just need the technical person to ask the right question that the non-technical person wouldn't know to ask, and that really affects the implementation.

**Cat Wu** [1:08:49]
But isn't that the the better lesson of the model, that the model will also be good at asking the follow-up question? Like, you know, if you're, like, telling the model, "Hey, you are-"

**Swyx** [1:08:56]
That's where you trust the model to do the least, right?

**Cat Wu** [1:08:58]
Yeah.

**Swyx** [1:08:59]
Sorry, go ahead. Yeah.

**Cat Wu** [1:09:00]
Yeah, no. If you're, like, the model, "Hey, you are the person that needs to translate this non-technical person request-

**Swyx** [1:09:08]
Yeah, yeah

**Cat Wu** [1:09:08]
... into the best prompt for Claude Code-

**Swyx** [1:09:10]
Yeah

**Cat Wu** [1:09:10]
... to do a first implementation."

**Swyx** [1:09:12]
Yeah.

**Cat Wu** [1:09:12]
Like, I don't know how good the model would be today. I don't have an eval for that. But that seems like a promising direction for me. Like, it's easier for me to review 10 PRs than it is for me to take 10 requests, then run the agent 10 times, and then wait for all of those runs to be done-

**Swyx** [1:09:29]
Mm-hmm

**Cat Wu** [1:09:29]
... and review.

**Boris Cherny** [1:09:30]
I think the reali-the reality is somewhere in between. We spend a lot of time shadowing users and watching people at kinda different levels of seniority and kinda technical depth use Code. And one thing we find is that people that are really good at prompting models, from whatever context, maybe they're not even technical but they're just really good at prompting, they're really effective at using Code.

And if you're not very good at prompting, then Code tends to go off the rails more and do the wrong thing. So I think in this stage of where models are at today, it's definitely worth taking the time to learn how to prompt models well.

But I also agree that, you know, maybe in a month or two months or three months you won't, you won't need this anymore 'cause, you know, the better lesson always wins.

**Cat Wu** [1:10:05]
Please. Please do it. Please do it, Anthropic.

**Swyx** [1:10:08]
I, I think there's a, there's a broad interest in people forking or customizing Claude Code, so, like, we have to ask, why is it not open source?

**Boris Cherny** [1:10:17]
We are investigating.

**Swyx** [1:10:19]
Ah, okay.

**Boris Cherny** [1:10:20]
So, um-

**Swyx** [1:10:21]
So it's a not yet.

**Boris Cherny** [1:10:22]
There's a lot of trade-offs that, that go into it. On one side, our team is really small and we're really excited for open source contributions if it was open source. But it's a lot of work to kinda maintain everything and, like, look it up.

Like, I maintain a lot of open source stuff, and a lot of other people on the team do too, and it's just a lot of work. Like, it's a full-time job, uh, managing contributions and, uh, all this stuff.

**Swyx** [1:10:46]
Yeah.

**Boris Cherny** [1:10:46]
Um-

**Swyx** [1:10:46]
I would just point out that you can do source available, and that's, you know, solves a lot of pe- individual use cases without going through the legal hurdles of a, a full open source.

**Boris Cherny** [1:10:55]
Yeah, exactly. I, I mean, I would say, like, there's nothing that secret in the source. Um, and obviously it's all JavaScript, so you can just decompile it.

**Swyx** [1:11:01]
Decompilation's out there.

**Boris Cherny** [1:11:02]
Pretty easy.

**Swyx** [1:11:03]
It's very interesting.

**Boris Cherny** [1:11:04]
Yeah.

**Swyx** [1:11:04]
Uh-

**Boris Cherny** [1:11:04]
And, and generally our approach is, you know, all the secret sauce, it's all in the model, and this is the thinnest possible wrapper over the model. We literally could not build anything more minimal. This is the most minimal thing.

**Swyx** [1:11:14]
Yeah.

**Boris Cherny** [1:11:15]
So there's just not that much in it.

**Swyx** [1:11:16]
If there was another architecture that you would be interested in that is not the simplest, what would you have picked as an alternative? You know, like, a-and we're just talking about agentic architectures here, right? Like, there's a, there's a loop here, and it goes through, and, and you sort of pull in the models and tools in a relatively intuitive way.

If you were to rewrite it from scratch and, like, choose the generationally harder path, like, what would that be-- look like?

**Cat Wu** [1:11:39]
Well, Boris has rewritten this. Boris and the team have rewritten this, like, five times.

**Swyx** [1:11:44]
Oh. That's a story.

**Boris Cherny** [1:11:46]
Yeah, like Claude Co-Claude Code re-

**Cat Wu** [1:11:47]
It is very much the simplest thing, I think, by design.

**Swyx** [1:11:50]
Okay, so it's got simpler.

**Boris Cherny** [1:11:52]
It got simpler, yeah.

**Swyx** [1:11:52]
It didn't go co- more complex.

**Boris Cherny** [1:11:53]
We've rewritten it from scratch, yeah, probably every three weeks, four weeks or something, and it just like all the p-- it's like a ship of Theseus, right? Like, every piece kee-keeps getting swapped out, and just 'cause Claude is so good at writing its own code.

Um-

**Swyx** [1:12:06]
Yeah. I mean, at the end of the thing, the, the thing that's breaking changes is the interface.

**Boris Cherny** [1:12:09]
Right.

**Swyx** [1:12:09]
The Claude MCP, blah, blah, blah. Like, all, all that has to kinda stay the same unless you really ne- have a strong reason to change it.

**Boris Cherny** [1:12:16]
Yeah.

**Cat Wu** [1:12:17]
I think most of the changes are to make things more simple, like to share interfaces across different components, um, because ultimately we just wanna make sure that the context that's given to the model is in, like, the purest form and that the harness doesn't intervene with the user's intent.

And so very much a lot of that is just, like, removing things that could get in the way or that could confuse the model.

**Boris Cherny** [1:12:41]
Yeah. On the, on the UX side, something that's been pretty tricky, and the, the reason that, you know, we have a designer working on a terminal app, is it's actually really hard to design for a terminal. There's just, like, there's not a lot of literature on this.

Like, I've been doing product for a while, so, like, I kinda know how to build for apps and for, for web and, you know, for engineers in terms of, like, tools that have DevX. But, like, terminal is, is sorta new.

There's a lot of these really old terminal UIs that use, like, curses and things like this and for very sophisticated UI systems, but these are all... They all feel really antiquated by the UI standards of today. And so it's taken a lot of work to figure out how exactly do you make that feel like fresh and modern and in-intuitive in, in a terminal.

**Swyx** [1:13:22]
Yep.

**Boris Cherny** [1:13:22]
And we've had to come up with a lot of that design language ourselves.

**Swyx** [1:13:25]
Yep. I mean, I'm sure you'll be developing over time. Um, cool. A closing question. This is just more general, like, I think a lot of people are wondering, An-Anthropic has, I think, it's easy to say the best brand for AI engineering, like, you know, developers, uh, and, and coding models, and now with, like, the coding tool attached to it.

It's, it just has the whole product suite of model and tool and protocol, right? So and, and I don't think this was obvious one year ago today. Like, when Claude 3 launched, it was just, it was just more like this is general purpose models and all that.

But like Claude Sonnet really took the scene as like the sort of coding tool of choice and I think built, uh, Anthropic's brand, and you guys are now extending. So why is Anthropic doing so well with developers? Like, it seems like there's just no centralized...

Every time I, I talk to Anthropic people, they're like, "Oh, yeah, we just had this idea and we pushed it, and like it, it did well." And I'm just like, there's no centralized strategy here? Or like, you know, is there an overal-overarching strategy?

**Boris Cherny** [1:14:24]
Sounds like a PM question to me.

**Swyx** [1:14:25]
I don't know. I would say like Dario's not like breathing down your necks going like, "Build the best dev tools." Like, he's just, you know, letting you do your thing.

**Boris Cherny** [1:14:34]
I think everyone just wants to build awesome stuff.

**Cat Wu** [1:14:36]
It's like I feel like the model just wants to write code. Um, yeah, I, I think a lot of this trickles down from like the model itself being very good at code generation. Like, we're very much building off the backs of an incredible model, like that's the only reason why Claude Code is possible.

I think there's a lot of answers to why the model itself is good at code, but I think like one high-level thing would be so much of the world is run via software, and there's like immense demand for great software engineers.

And it's also something that, like, you can do almost entirely with just a laptop or like just a dev box or like some hardware. And so it, it just like is an environment that's very suitable for LLMs. It's an area where we feel like you can unlock a lot of economic value-

**Swyx** [1:15:28]
Mm

**Cat Wu** [1:15:28]
... by being very good at it. There's like a very direct ROI there. We do care a lot about other areas, too, but I think this is just one in which the models tend to be quite good, and the team's really excited to build products on top of it.

**Swyx** [1:15:43]
And you're growing the team, you mentioned.

**Cat Wu** [1:15:45]
Yes, sir.

**Swyx** [1:15:45]
Who do you want to hire?

**Cat Wu** [1:15:46]
Yeah, we are.

**Swyx** [1:15:47]
Who's like a good fit for your team?

**Boris Cherny** [1:15:49]
We don't have a particular profile, so if you feel really passionate about coding and about the space, if you're interested in learning how models work and how terminals work and how like, you know, all, all these technologies that are involved, yeah, hit us up.

Always happy to chat.

**Swyx** [1:16:07]
Awesome. Well, thank you for coming on.

**Boris Cherny** [1:16:09]
Thanks for having me.

**Swyx** [1:16:09]
This was fun.

**Cat Wu** [1:16:10]
Thank you.

**Boris Cherny** [1:16:10]
Thanks for having us.

**Cat Wu** [1:16:11]
This was fun.

---

This library is powered by PodHood (https://podhood.com), the podcast website platform.
