AIAI EngineerJul 15, 2026· 51:30

Claude Fable, Claude Tag, and Anthropic's Culture — Cat Wu & Thariq Shihipar ft Simon Willison

This episode features Anthropic's Cat Wu and Thariq Shihipar discussing Claude Code, Claude Tag, and Claude Fable, arguing that these tools have shifted engineering from slow spec-driven processes to rapid, ambitious building. Thariq notes that with each model generation, delegation increased, and Claude Fable now enables one-shot features. Cat says engineers now need product taste over execution, as timelines shrink from six months to a week. Claude Tag, a proactive multiplayer agent, lands 65% of product engineering PRs internally by monitoring channels and remembering preferences. The team reduced Claude Code's system prompt by 80% for frontier models by removing examples and hard constraints, relying on model judgment. Auto mode, used internally since January, mitigates prompt injection through thousands of evals and Sonnet classifiers. Cultural hacks include default-public channels and a 'don't negotiate against ourselves' mindset, leading to ambitious builds like Thariq's Claude-powered video editing and a Street Fighter game.

  1. 0:00The Shift
  2. 6:36Claude Tag
  3. 11:45Prioritization
  4. 14:10Code Review
  5. 17:17Evals
  6. 21:23Lean Prompts
  7. 28:03Tool Design
  8. 30:57Auto Mode
  9. 38:11Human Element
  10. 41:59Surprises
  11. 45:08Culture & Fun
  12. 49:13Q&A

Powered by PodHood

Transcript

The Shift0:00

Simon Willison0:13

Welcome to this fireside chat. We're going to— I have with me Thariq Shihipar and Cat Wu from Anthropic. We are going to be diving deep into Claude Code, and we'll probably talk a little about this Fable thing that's been going on, that's been out there in the news.

Actually, on the subject of Fable, literally a minute and a half ago Fable came back. Like, Fable is now available to me, so if you all want to run out of the room and start using up your Fable credits, I wouldn't hold that against you.

But we're going to have a great conversation, so please, please stick around. But yeah, so please welcome Thariq and Cat for me.

Thariq Shihipar0:54

Thanks for having us. Yeah, we timed it for the chat, for sure.

Simon Willison0:58

Yep, yep. This is why it's all happening. This year has been somewhat absurd. It's amazing, Claude Code came out in February of last year. It's under a year and a half old, and it was a bullet point on the Claude Sonnet 3.7 launch.

I'd love to hear from you: how has your— how has what you do on a day-to-day basis changed in the past year, now that we have these coding agents that actually work for us?

Cat Wu1:23

I remember when we first came out with Claude Code and Sonnet 3.7, you would give it this task and you would have to closely monitor every single little thing that it tried to do. I remember I would read every permission prompt extremely carefully.

I would frequently say no. I would always say no, no, no. Like, did you check this file? Did you check that file? And now it's been incredible. With every model generation, I feel like we've all gotten a chance to just take a step back, delegate a lot more of the, like, menial implementation to Claude, and it's just freed up a lot of our time to think about more creative work.

Like, what is theright experience that we should be providing to our users now that we know Claude Code can implement a lot of it? And now with Fable, it's just a totally different step change improvement. We see for a lot of our use cases that you can actually one-shot a ton of features with Fable now.

So it's been amazing to see the transition and to go through this with all of you in the community.

Thariq Shihipar2:22

Yeah, I mean, I think I remember the first text I got about Claude Code. One of my best friends was like, oh, you need to go try Claude Code. And it was just when Opus 4 came out, and I tried it and I was like, oh shit, I need to work at Anthropic now, you know?

And that was Opus 4, which is, I mean, great model, but like, yeah, you were permission prompts and, yeah, I think it's kind of crazy how much amnesia we have, I think, where I'm like, oh, like, auto mode has always been here,right?

Like, I don't even remember pressing, like, yes and allow. And yeah, I think for me the big thing that I'm trying to push myself is like, oh, we have to do, like, higher quality work than we've ever done before.

You know, like, the outputs are like, like, incredibly high quality. Like, I've been using it to edit videos a bunch, and I'm like, okay, it has to meet the very exacting demands of our brand team and in a couple hours, or we just can't do it, you know?

And so, yeah, I think that's how I'm sort of, like, trying to shift with Fable, where it's like, okay, the best work we've ever done, like, faster than we've ever done it before.

Simon Willison3:19

I've certainly been finding that myself. Like, software engineering is getting harder because the level of ambition of the stuff we can take on has gone up. Like, I have such higher expectations of myself now that I have these tools to back me up, which is fun, but it's a lot of work.

Thariq Shihipar3:35

Yeah, it's all the thinking is, you know, it's tiring.

Simon Willison3:39

And so what's a piece of conventional software engineering that was true a year ago that you don't think holds anymore in this new world?

Cat Wu3:49

I think one of the biggest shifts that we're seeing in the eng skill set is, I think, you know, two years ago, it was pretty typical for a product manager to go talk to a bunch of customers and over the course of six months align with, like, cross-functional teams on some PRD and then write this, like, thorough spec and eng doc on how exactly we'll implement this before the first line of code gets written.

And now things are, like, completely turned the opposite way. I think for a lot of engineers, the push I would give to a lot of folks in the room is to develop more of your business sense and product sense on what is it that we should build.

Because now that this, the timeline between having this idea and building it is so much shorter, it's down from six to twelve months to maybe even a week, that means all of us need to have better taste on what is it that is worth building, what is it that will actually inflect the businesses that we're working on.

So I think it's, like, an increase in value on product taste and business sense and a bit lower on execution in most, in most product eng domains. Of course, for infra, there's still a very heavy emphasis on making sure all the details areright.

Thariq Shihipar5:10

Yeah, I think for me, it's like rewrites are now good, you know what I mean? Like, I think that, like.

Simon Willison5:16

The worst thing you could do is now actually find.

Thariq Shihipar5:18

Yeah, exactly, exactly. Like, all the, like, especially, yeah, Mythical Manmind stuff, like, never rewrite. Like, I'm a pro rewriting now, you know? Like, if you have a good test suite, I think actually the rewrite forces you to, like, make sure you have a good test suite.

But I think that, like, what people, I think, undercount is, like, a code base is a spec, and maybe it's the only copy of the spec that you have,right? Because, like, no one knows every branching part of the code base.

And yeah, you can take this as, like, an artifact and, like, distill it or create other versions of it. Obviously, like, yeah, we rewrote bun in Rust and, you know, it works great. Like, you know, it's live for meright now.

Simon Willison5:55

You're not shipping Claude Code on bun in Rust yet,right? Or is that coming?

Thariq Shihipar5:59

Internally we have.

Simon Willison6:00

Wow. Oh, that's exciting. Yeah.

Thariq Shihipar6:02

Yeah, yeah.

Simon Willison6:04

I think what you're saying there about, yeah, the

I'm sorry, I just lost my train of thought. But yeah, the rewrites thing has been really interesting for me as well, because you can almost come up with a good test suite and then spin up three implementations and pick which of those implementations was the most accurate.

I'm doing a lot more prototyping now. I've always been a prototyper, and now I prototype things on my phone during the conference just so I've got something that I can pick up later on. And that's working now, which is kind of extraordinary.

So the other big launch recently was Claude Tag, which that's what, a week old now, I think, or at least for the rest of us. Claude Tag, I understand that's being used in Anthropic by non-engineers a great deal.

Claude Tag6:36

Simon Willison6:48

What kind of things are non-engineers doing with Claude Tag?

Cat Wu6:51

So Claude Tag is a Claude that lives in your team's collaboration tools. We launched it last week within Slack. The thing that's different about Claude Tag is it's multiplayer by default. And so once you add Claude Tag into a Slack channel, you can chime in, your teammates can chime in, and you can collaborate together on the PR.

The other big difference is that it's proactive instead of reactive. So you can tell Claude Tag, hey, monitor every bug report in this channel, put up a PR to fix it, and tag the engineer who last touched this part of the code base, and it'll do it for the lifetime of the channel without you having to manually tag it in.

And then the third big shift that we've seen is we've added team memory into this. So if you tell Claude Tag your preferences in the channel, it'll remember this for every future post. So if you wanted to always debug, like, if you always wanted to debug outages but you don't want it to debug warnings, just tell it that in natural language in the channel and it'll remember it for you and everyone else on your team.

Internally, we see Claude Tag as the evolution of Claude Code. So we see this as a large shift in how we work internally. Claude Tag currently lands 65% of our product eng PRs.

Simon Willison8:14

For all of Anthropic and for Claude Code or just for Claude Code?

Cat Wu8:18

This is just for our product engineering team. So our internal version of Claude Tag lands 65% of our product eng PRsright now. This is a huge shift. This is, like, this is more than 50% of our PRs. And the way that we actually see people split work between Claude Code and Claude Tag is Claude Code is still the best place for your most complex tasks when you're interactively iterating with the agent, but Claude Tag is great for having it work proactively on your behalf so that you no longer need to manually kick off Claude Codes for all of the bug reports that might come up for features that you're working on.

Thariq Shihipar9:00

Yeah, and for, like, non-coding cases, like, I think we've seen people use Claude Tag just, like, for example, before this talk, we asked Claude Tag, like, hey, when is Fable releasing? We wanted to make sure that, like, you know, we'd line it up with the announcement.

And so Claude Tag would search our Slack and look at, you know, who's been saying what. So as a search engine for your company, it's really valuable. It has all the context for your product, so you can ask it, like, metrics-related questions, and oftentimes when you're making decisions, you want it to be informed by, like, you know, what do the metrics say?

And so, like, you hook it up to your event store. I've seen, like, our marketing team do things like, oh, like, hey, tell me about this feature. And, you know, they're not programmers, but Claude is a programmer. It can clone the code base and be like, oh, yeah, this is, like, you know, the feature, this is what it looks like.

This is a recording of me using the feature, you know? So, like, yeah, it just enables a whole wide variety of things, and I think we're still early on in figuring that out, yeah.

Simon Willison9:55

Well, I feel like this is one of the fascinating things about the Claude Code story is you use Claude Code to build Claude Code, and you've been doing this since presumably before the public launch of Claude Code a year and a half ago.

And yeah, one of the problems I've had with coding agents is I get how to use them as an individual, but I'm not really clear on how I use that in a team environment. It sounds like Claude Tag is your current answer to that sort of team collaborative layer for this stuff.

Cat Wu10:19

Exactly. And a large percentage of our sessions are actually multiplayerright now. So that means maybe I say, hey, I think we should, like, implement this new feature in cowork, and I'll tag in Claude Tag to do a first pass at it, and then I'll tell Claude Tag, hey, just, like, share a recording of your final implementation, and then I'll tag in design to take a look, and they'll nudge it, and then they'll pass it on to eng to, like, take it to the finish line and get it out to prod.

And so it's been this, like, very fluid experience. We're still trying to iron out what the social dynamics are for steering the same session, but we've found that people just, like, observe how others use it and then follow those social norms, and it's actually been pretty easy for, pretty intuitive for us to integrate Claude Tag into our teams.

Thariq Shihipar11:11

Yeah, I think it's great for, like, yeah, teaching people and also, like, kind of, kind of reducing slop because, you know, like, if you see someone just be like, hey,@Claude, fix this or something, you're like, uh, you know, like, I think there's, like, some societal or not societal, like, just, like, like, the fact that everyone is seeing you use Claude together sort of levels up how you use Claude as well, so, yeah.

Simon Willison11:31

Right. You want to do work that you're proud to do in public where the quality doesn't fall off the cliff. So since we're talking about using Claude to build, well, how the process for building Claude, how do you deal with the hardest problem in all of engineering?

It's prioritization,right? How do you decide which features are worth building and shipping when building a feature is so much more inexpensive now?

Prioritization11:45

Cat Wu11:54

This is the hard thing.

So there's a few ways we approach it. One is we dog food our products every single day. Whenever there's something that we want to be able to do in our products that we're not able to, instead of finding a different solution, we fix our product so that it can support this case.

We have a very heavy dog fooding culture internally. So before we are able to share our products with everyone in the world, we share it with everyone within Anthropic, and we share it with some early customers who give us very honest feedback about it.

The more brutal, the better. And we iterate until people love it. So we have an internal bar for the number of active users and the amount of retention a feature has to have before we share it with the world.

And because this bar is very clear, every engineer knows what they're trying to hit, and I think this also levels up our polish. Because if the feature isn't polished, people will churn, and then we shouldn't ship that feature.

Simon Willison12:55

Do you have an example of a feature which surprised you, you rolled it out and the engagement was off the charts and it was something that was unlikely to be shipped that actually turned into a real product thing?

Cat Wu13:07

I do have one. So a lot of folks on our team love remote control. So remote control lets you use your mobile device or Claude in the web browser to connect a local Claude Code session running in your CLI.

I never have this need because I just kick off the task directly on mobile and it runs in a cloud session and doesn't use my local environment. I think this is because I'm doing very easy coding tasks. But this is something where I didn't totally understand it.

I was like, hey, people should just set up their remote dev environments. But in practice, once we rolled out remote control, everyone, like, so many people I talked to are like, okay, now what I do every night is I a lot of people tell me that they just plug their laptop into a power charger, close the screen or, like, open a bunch of remote control sessions, lock the screen, and then use their mobile phone from their couch to control Claude Code.

And so this has been this flow that we're now leaning into that I didn't originally get, but now I do.

Simon Willison14:10

I do exactly that. I get so much, so much work on my laptop done from more comfortable environments because, yeah, I can remote control it now. That's really fun. How does code review work? Are you reviewing, does a human being review every line of production code that makes it into Claude Code?

Code Review14:10

Simon Willison14:28

And if not, what are you doing? How do you keep the quality up?

Thariq Shihipar14:32

Sure, yeah. It varies on the task a lot. So for important areas, we have code owners,right? And so the system prompt is kind of an example where we have a code owner. You really need to, like, submit your, you know, you need to get their approval.

And then.

Simon Willison14:49

So I guess the code owner is directly responsible for the quality of that area of the code?

Thariq Shihipar14:54

That'sright, yeah, yeah.

Simon Willison14:55

Okay.

Cat Wu14:55

They need to approve the PR that touches it.

Simon Willison14:57

Right.

Thariq Shihipar14:57

Yeah, that'sright. We have code review, our, like, our code review GitHub, you know, review everything, and so that, like, goes on every PR, and oftentimes, like, that's doing the bulk of the review. I think that, like, something I've seen on the team is, like, for more complex PRs, you might make, like, an artifact to explain the PR so that other people can then review.

And yeah, we just invest a lot into verification, CI/CD, things like that to make sure that, like, you know, anytime anything fails, like, we have a test, we have, like, a really robust environment. Claude can control Claude Code and test it, you know what I mean?

So yeah, there is a, yeah, there's just, like, a multi-pronged approach to, like, code review, I think. Do you have anything to add?

Cat Wu15:47

In general, we are trying to move to a world where humans don't need to be in the loop. And so for the most critical changes to the core of Claude Code and other the cores of other products, there is always a code owner, and they do manually review all the changes.

But increasingly, for the changes that are at the outer layers, we actually have Claude Code code review fully review those. That sounds pretty scary, but we've had this six-plus month-long process to get here, and I think there are, like, baby steps that you take to build up trust with code review.

So in the beginning, we would have human review for everything, and then increasingly, we would say, okay, for code changes that touch these files, code review is catching 100% of the issues there. So we actually don't need a human to be manually reviewing those.

And then also, when we have incident review, we look at the PRs that cause the incident, and we say, okay, how do we update code review to catch that? And then we also take those PRs and add it to an eval set to make sure that our future changes to code review never regress that metric.

So it is a big, like, removing humans from the code review loop is a big step forward. I think it can sound scary, and it's not something that you can do overnight, but it is something that you can do through, like, many months of investment in the infrastructure to give you the confidence that code review is catching everything that you care about.

Simon Willison17:17

So it's interesting you mentioned building trust in the models because that's something I've found is, like, I know that Opus 4.8, if I ask it to build me a JSON endpoint that runs a SQL query and outputs JSON, it's just going to get itright.

Evals17:17

Simon Willison17:28

Like, that's not something I have to review closely. But then a new model comes along, and I still don't know, how do I build trust in Fable quickly that it's not going to mess things up that Opus didn't?

Is that something that you have to think about much? Those new model, like, how does the new model affect your intuition for what it can do and what it can't do?

Cat Wu17:48

So the main reason that we're building up this eval base over time is so that new models can be a drop-in replacement. Because what we do when we have a new model is we run the whole eval set and we make sure that, for example, Fable is strictly better than Opus 4.8, and that gives us the confidence to drop it in.

Simon Willison18:05

And are those model evals for Anthropic as a whole or are these Claude Code team-specific evals that you're using?

Cat Wu18:11

We have both. So we have evals on our team, and we run code review across every repo within Anthropic, and so we have evals for that. And for things like auto mode, we not only have evals across every user within Anthropic, but we've also commissioned multiple external testers to red team this to create environments with prompt injections and malicious inputs and make sure that auto mode doesn't let any of those pass.

Simon Willison18:37

So for Claude Code itself, and this is a challenge I've had with stuff I'm building, I want to know if the system prompt improvement I made actually improved the product,right? That's the sort of most basic form of product-specific eval.

And I still don't have a great feel for how to do that. Is something, is that something that you're doing such that you have complete confidence that this tweak that you've made to the system prompt does result in better output?

Cat Wu19:02

We don't have complete confidence, but we do a lot to make sure that we don't regress performance. So the starting point that we have is we have a suite of external evals that we trust, and we complement that with an even larger suite of internal evals that we trust.

To start, we mainly optimize for capability. So given a complete definition of a task and the full code base, does Claude make theright decisions and fully fix the bugs and pass all the tests? So that's the starting point, and that's the thing that we optimize for because it is, like, most directly what users want.

But there's a lot of, like, behaviors that impact how users feel when they work with Claude Code. For example, people really don't like it when Claude Code says, "It's, like, time to go to sleep." Or people really don't like it when it says, like, "Hey, I finished two out of five parts.

Like, do you want me to continue?" Like, "Yes, please continue." And so we're building up a set of behavioral evals to catch these. And as we get user feedback, please be loud with us about your user feedback. As we get user feedback, we just rank, okay, these are the priority issues, and we go down one by one and build evals for each of them.

So it's not 100% coverage, but we try to, it is a priority for us to increase the coverage.

Simon Willison20:19

And how much overlap is there between the, how much interaction is there between the Claude Code team and the teams at Anthropic who are training the models in the first place? Is that quite a close collaboration now?

Cat Wu20:31

Across Anthropic, we all work quite closely together. So we meet often to talk about, like, what do we expect the next generation of models to be able to do? I think our research team has also been amazing about just, like, showing this publicly.

So we often talk in our blog posts about how we're targeting ever-increasing longer horizon work, how we train Claude itself to be honest, harmless, and helpful. We also put a lot of effort into making sure that it's aligned with your intent, even if your intent is expressed in a fuzzy way.

Of course, try your best to be specific about what you want, so Claude has all the context. But even when you're not specific, we teach Claude to make good assumptions. And yeah, I think it's been a productive partnership.

Simon Willison21:22

And so, Thariq, this morning you mentioned that the system prompt for Claude Code has been reduced by 80% because of Claude Fable. Can you go into a little bit more detail about what that looks like? What kind of things have you been able to drop?

Lean Prompts21:23

Thariq Shihipar21:36

Yeah, so it wasn't just Fable. It was Opus 4.8 as well. And yeah, going forward, the future models, but we do sort of, we have different system prompts for different models now. I think that, like, some of the patterns we saw is that we were over-constraining Claude,right?

So I think the initial, like, maybe Opus 4-ish kind of models wanted a lot of examples, and removing examples was extremely helpful because it was just more creative than, like, you know, the examples we gave it.

Simon Willison22:07

That's really interesting because one of the top prompting tips I give people is give it examples. Like, examples are the easiest way. If that's no longer true, that kind of breaks my prompting model a little bit.

Thariq Shihipar22:17

Yeah, same here. I think I was surprised to hear that. I think that now it's more about, like, sort of the shape of what you give the tools to Claude and, like, yeah, your system prompt and things like that.

The other thing we did is we tried to give it more context and fewer, like, do not do this, you know, because, like, I think that it's just a very strong impulse to Claude, and especially if that conflicts with user instructions later on, that can be, like, extremely confusing to Claude,right?

Because you're like, oh, like, I've got this skill that says this and the system prompt says this. And so we try and, like, have fewer hard constraints and more just, like, sort of context and just, like, fewer instructions overall.

Yeah, I think it's definitely a science. It took a bunch of, like, evals to build. I'm not sure if you had anything else on the lean system prompt.

Cat Wu23:07

I think in general, when you're prompting these models, you should always think about, like, are there edge cases to the instruction that I'm giving it? And when we went back and we reviewed all the instructions in the Claude Code system prompt, we found a few cases where, yes, this statement is, like, 90% true, but there's, like, a real 10% of cases where this is not true, and we didn't want to constrain the model or, like, confuse it into thinking, hey, it should always do this.

Like, one good example is verification. Everyone here wants Claude to verify its work. And we had some instructions in the prompt that just said, if you make a front-end change, always verify. But, you know, there is a limit to it.

Like, for example, if you, if it's changing copy from one string to another string and the user says, like, just make a quick fix and update the test, maybe you don't want to verify. And so we've also adjusted our wording from saying always verify, verify, verify, verify to, like, hey, most of the time when you're doing front-end work, you can't always understand the full experience by hitting the back-end endpoints.

So, like, when you make, like, wild changes to the user experience, please run the app locally. And actually, in fact, that instruction probably isn't even good because what is a large change? Like, maybe it wants to change it, test it for small changes too.

In general, whenever you give a prompt to the model, you should always think about the ways in which it could be misinterpreted by, like, a well-intentioned other user or human in order to better understand how the model might interpret it and in order to make sure that you can soften the prompt such that it is actually 100% accurate because you are giving this prompt to the model 100% of the time.

Simon Willison24:54

But what's fascinating about that is you're relying on the model's judgment, and that's got to be a Opus Fable-level thing. Like, models a year ago did not have the levels of judgment necessary to decide if they were going to, like, test a change or not.

That's absolutely fascinating, but that does break down if you're building for a wide range of models and trying to run the cheaper models for cheaper tasks and stuff.

Cat Wu25:16

We actually have a different system prompt per model now because of this very reason. So it's only our most frontier models that have this 80% token decrease, and the older models actually still have the full system prompt.

Simon Willison25:29

Do you think Fable and Opus are smart enough to be able to prompt Haiku with more details because they understand that Haiku has less judgment, has less taste?

Cat Wu25:41

We haven't been able to eval this very precisely. I think it should be able to, but we don't have any hard data to show yet.

Thariq Shihipar25:50

I think there's a tough thing with smaller models sometimes because, like, you know, we saw this with just, like, sometimes the larger models can be more token efficient on a hard problem than the smaller models. And so, you know, there's, like, a little bit of that intuition to build about, like, you know, sometimes you really just want frontier intelligence almost all the time, you know?

But it's, yeah, like, the Pareto curve shifts, you know, and so it's hard to find.

Simon Willison26:18

I mean, that's something I found fascinating. I feel like a year ago I did not trust a model to write a prompt. Like, today, the good models are very good at prompting. Like, a lot of my prompts are written by models, which feels absurd, but it actually works really well.

And something that helped me come to terms with that was thinking about sub-agents, which is entirely about a Claude model setting up a prompt for another Claude model so that it knows what it's going to do.

Thariq Shihipar26:40

Yeah, I think workflows are actually a really good example of this because it's, like, Claude not just prompting a single sub-agent, but it's, like, prompting, like, the orchestration of many sub-agents, and each one of them gets, like, you know, a very detailed prompt.

So it's, like, almost, like, a level above, like, you know, just spawning a sub-agent. So yeah, it's quite good at that. Yeah, I've also been using on my personal machine, like, giving it the Gemini API and being like, oh, like, here, generate images.

And it's so good at, it's way less lazy than I am at prompting an image model, you know? So yeah, it's just Claude, prompting Claude all the way down, yeah.

Cat Wu27:14

I think Claude also wrote the prompt for the workflow tool.

Simon Willison27:19

For the workflow tool. I've read that prompt. It's a good prompt. I mean, that's actually a frustration I have with Anthropic generally is you publish the prompts for Claude, there's a web page with them on, but you don't include the tool prompts, and the Claude Code prompts, I still have to run a proxy to intercept them.

I would love it if the Claude Code prompts were deliberately published because they're the documentation. They're how you know what the tool can do and how it works.

Cat Wu27:42

I'll write down that feature request.

Simon Willison27:44

Please do.

Cat Wu27:45

They'll have Claude Tag do it.

Simon Willison27:48

And also the diffs. Like, every now and then I'll diff the older and the newer prompt, and that's how I learn the capabilities of the new model. I'm really looking forward to seeing what this 80% reduction actually looks like.

Thariq Shihipar27:59

Yeah, this is on me. I have to make a post about this in detail, yeah.

Tool Design28:03

Simon Willison28:03

So what's your bar? Let's talk about tools a little bit. Claude Code is basically a just bag of, a big bag of tools. What's your bar for introducing a new tool? How do you decide when it's worth doing that additional engineering at that level?

Cat Wu28:17

Do you want to take it? Because you introduced one of the best tools we have.

Thariq Shihipar28:21

Yeah, I mean, yeah, it's like my career peaked when I introduced the Ask User Question tool, I think. So it's really hard, I think, is the, especially for some tools, like Ask User Question is Claude's tool to ask you.

And so it's hard to eval that, and sometimes it's more of a user preference thing. So, like, especially back then, we had fewer evals. It was very ant fooding-based. Or sorry, dog fooding is, yeah, ant fooding is, you know, our ant version of that.

But yeah, I mean, I think overall we've been trying to trend towards fewer tools. I think the last set of tools we introduced were, like, the task tool, I think, and trying to give Claude more general versions to do this.

Simon Willison29:03

Right. One of the most interesting tools is the file editing tool, which, but you can have file editing as a tool, or you can tell it, teach it, tell it to use SED and GRAP and do things that way.

What's the latest evolution of your file editing tool?

Thariq Shihipar29:16

I think we still have one, but, like, for example, we removed our GRAP and other search tools, yeah, GLOB tools for just, like, native, like Bash. And so, yeah, we still have one. I think this is kind of, like, I said in my talk earlier that the models are kind of, like, more of a biology than a physics, you know?

And so, like, you know, it's hard to, like, especially tool design, I think, is quite hard. And I'm not sure if actually Cat disagrees and is like, oh, like, we should, you know, there's, like, a science to the evals of it, but I'm sort of, like, yeah, tool design is more of an art maybe or, like, a biology, yeah.

Cat Wu29:52

I think I largely agree, but that I think in general, as we introduce more tools, it, like, in general, we try to keep the cardinality pretty low and make sure that every tool we add has a distinct function from every other tool so that Claude can very easily distinguish when to call each.

For file edit, actually, the reason that we have file edit is because we can render it, because back in the day, we used to show, or I guess we still do. So we show people when Claude makes a file change and there's this nice, like, dedicated UI that just says, do you approve this edit to this file?

And the reason that we had a dedicated file edit tool was so that we could deterministically know that Claude was making a file so we could show people this nice UI. And for a lot of the new users who are onboarding, I think they still really like this experience, so we've kept it around.

But for a lot of us who are on auto moderight now, or hopefully you're not on YOLO mode, but anyway, for a lot of usright now, I don't think it actually matters, and we probably could just remove file edit and we'll be totally fine.

Auto Mode30:57

Simon Willison30:57

So let's talk about auto mode, or let's talk about safety and security in general. Like, I am deeply aware of the risks of prompt injection and there are so much bad things can happen if somebody else tells my Claude Code what to do.

I still mostly run Claude Code in YOLO mode and feel incredibly guilty about it. What's the advice within Anthropic for safely running Claude Code? Like, what do you tell people to do?

Cat Wu31:22

Why not auto mode?

Simon Willison31:23

I am starting to use auto mode, and I don't understand it enough to get how safe it is, but yeah, that's, like, as of maybe three weeks ago, I'm defaulting to auto mode.

Cat Wu31:32

Okay. So broadly within Anthropic, almost every single person uses auto mode. It is the best way to do long-running work in Claude Code while being safe. We've done extensive bashing. We have thousands of evals. We've commissioned many red teamers to create adversarial environments in order to trick Claude Code into doing bad actions, and we've mitigated every single issue that they've found.

And so we're going to publish some evals in the coming weeks, but we've pretty much mitigated every attack.

Simon Willison32:08

That is a big claim. That's very exciting if that holds up.

Cat Wu32:12

We will share the evals for it so folks can assess, but we've been extremely diligent about identifying all of the ways in which Claude might mess up and then updating auto mode to counter it. It doesn't catch 100% of things.

I don't think any, yeah, that would be way too strong of a claim, but for the main categories of risks that we're concerned about, like prompt injection, data exfiltration, the risks are far lower than the average human reviewer.

Simon Willison32:45

So.

Thariq Shihipar32:45

And, oh, yeah, a little bit on how auto mode works. I think it's useful to build this mental model. So whenever Claude is doing a turn, there's a, or a bash call, there's a sonnet classifier that is judging the tool and also the context of the conversation, your instruction,right?

And so there's some things around, like, permissions, which are dependent on your request,right? So you don't want to give Git push, like, permissions all the time, but if you say, hey, push this to GitHub, you want it to do it,right?

And so auto mode will, or if you say don't push, you want it to deny it,right? And so auto mode will do that particular thing happens to me a lot where it's like, oh, like, auto mode, like, Claude tried to do this because it's very helpful and proactive, and auto mode saw, like, oh, like, you know, you know, don't do this, and it, like, surfaced it.

So it's good at, like, the dynamic permissions that you yourself give inside of the prompt, which I think is really important. It also works well with our sandboxing infrastructure because, like, sandboxing is one of those things where there are so many different edge cases, and it's hard for, like, us to deterministically follow them.

But if you, we have a sandbox and something needs to escape the sandbox, like a, you know, a network request, auto mode can then look at that request and be like, oh, hey, does this, like, you know, does this make sense,right?

And just allow that in.

Simon Willison34:06

So I hadn't realized auto mode's interacting with the networking sandbox as well.

Thariq Shihipar34:11

Yeah, exactly. So it's also part of sandbox, yeah.

Cat Wu34:14

It interacts with any permission prompt that the user would otherwise see.

Simon Willison34:17

And how old is auto mode? Like, I feel like as a feature that I had access to, it's only a couple of months old,right?

Cat Wu34:24

We've been using it within Anthropic since January.

Simon Willison34:27

Okay.

Cat Wu34:27

So we've been hardening it for quite a while, and it's obviously Anthropic is extremely focused on safety and security, and so we've been working broadly across our alignment and safeguards teams in order to enable the rollout internally, build out these evals, make auto mode even more robust before sharing it out with the world.

Simon Willison34:47

I think my, only, my main problem with auto mode is I don't understand it deeply enough. Like, for anything that's looking after my security, I want to know as much as I can about how it works and what it protects against me against and what it doesn't so I can decide, like, how much I can trust it.

Thariq Shihipar35:01

I think, yeah, Del was working on a post about this. So a little bit, just a little bit more about auto mode. This is also the reason Claude Tag is so, so good,right? Because Claude Tag uses auto mode, and, like, you can imagine that, like, one, like, I've heard a lot of, like, build versus buy questions on a Slack bot.

I'm like, please, you probably shouldn't build your own AI Slack bot, you know? Like, there's so many attack vectors, you know what I mean? And, like, you have a feedback channel that, like, you know, users can post feedback into, and now your bot is reading it,right?

And so I think that, like, the work we've put in with auto mode and, you know, we have a general Swiss cheese defense of, like, security,right? We also, like, yeah, you know, like, RL against this stuff and things like that.

I think this is really what makes Claude Tag work. It, like, just works seamlessly with your permissions, and yeah, like, you know, you don't want to be prompt injected in your Slack, yeah, yeah.

Simon Willison35:54

Do you have any, are there any more security things in the pipeline beyond, that go beyond auto mode?

Thariq Shihipar36:02

I, I think, I mean, I think we're very secure. Like, so we, with Claude Tag, you can

provision your own, like, sort of credentials for Claude, so it doesn't need to act on your behalf. You can have, like, Claude as an identity, and that also makes it easier to audit and inspect what Claude is doing.

Simon Willison36:21

Well, I guess because Claude Tag is influenced by anyone who can talk to it, so it's got a much wider pool of people who are telling it what to do.

Thariq Shihipar36:28

That'sright. Yeah, yeah. And of course we have probes as well, like with, like, Mythos and, sorry, with Fable. And that's also, like, a downstream effect of our safety and research work, and I think this is the moment where you sort of see AI, like Anthropic being an AI safety company really paying off when you, like, you know, we really want Claude to be able to run in an aligned way over long periods of time, and, like, yeah, auto mode has to be basically flawless for this to work,right?

And it's sort of, like, all downstream of our, like, you know, our being an AI safety company.

Cat Wu36:59

We also launched trusted devices for the remote control users out here who want to be safer. And for all of our remote environments, we support credential injection. So if you want, like, Claude Code to be able to access Datadog, but you don't want Claude Code itself to hold the Datadog credential, you can set up our identity credential management system so that the Datadog credentials are only usable by the agent but not accessible by the agent.

So we insert it on the fly when the agent tries to make a Datadog request.

Simon Willison37:35

This is that, that token, the proxying trick,right? Where the proxy knows anytime somebody calls this an api.datadog.com address with a token, replace the token with the real thing. I love that pattern. I'm seeing that in a whole bunch of places.

It feels so obviouslyright to me. Let's talk a little bit about the human element. And you touched on this in the keynote this morning, but a lot of people are feeling a sense of loss now that so much of what they consider to be their role in building software is being subsumed by the models.

Human Element38:11

Simon Willison38:11

How do you think about that? Like, firstly, how has the past year and a half changed the way you think about your own craft and the value that you add?

Thariq Shihipar38:20

Yeah, I think for me, and I think Cat is always such a good reminder, Cat and Boris are such good reminders of, like, you have to be more ambitious. They're always like, you know, you have to, like, you know, we're growing so fast, we have to be on the edge, we have to do, like, the best work we can.

I think that that's kind of, like, a constant reminder for me where I'm like, anytime I'm, like, kind of, like, slow on something, I'm like, okay, can I do it faster? Can I be more ambitious here? I think the, like, point on, and, like, oftentimes the answer is Claude because Claude is getting better as you go.

So I'm like, oh, the last time I tried this, it was with the previous model or something. I think with their point on loss, I think this is real. And I do feel that, like, if you're only trying to do the same work you were doing before LLMs and now it's, like, a prompt, it is, like, I think, kind of a sad feeling.

And I think the way you offset that is by being more ambitious,right? And you're like, you know, like, I love, like, I think Jared is such a good example where he's, like, hand wrote all of the Zig code in his Oakland apartment in, like, a year.

He barely left his house, you know? And then, and he had so much fun doing that. And now I seem, like, rewrite all of Bon into Rust, and he's having so much fun doing that,right? And it's, like, so much more ambitious.

And that's how, like, he sort of, like, offsets that. And I think just generally being like, okay, like, how do I do the bigger thing and do more? And I think success is fun, you know? And that's how I kind of, like.

Simon Willison39:42

Right. It's changing your ambition. It's changing what you do because what you did before is a lot easier, in quotes, but now we can take on these bigger challenges.

Thariq Shihipar39:52

Yeah, I think there's just, like, on average, everyone has things they wish they did, you know what I mean? And they were better at, and I think now it's like, let's do it, you know? Like, let's, yeah, like.

Simon Willison40:01

And Cat, what does that look like from a sort of product management perspective?

Cat Wu40:05

I feel like the product role just changes every single month, and it's very much just identifying, okay, what are, like, all the PMs on our team are, like, this, like, mix of engineer, designer, PM. Most of the engineers on our team actually used to be full-time engineers in the past.

And so for us, it really means, like, plugging in whenever there's any kind of gap. So if it's like, okay, we have this idea and we didn't inspire any engineer to go build it, then, like, we should just build it and then put it into a notebook and inspire people to take this to production.

Or if the designs look a little off, well, let's take a page that's similar and do a first-pass design and tag in someone who's very detail-oriented to, like, fill in the gaps. Or if we notice that, like, hey, now our team and our product adoption is a bit bigger within the company and more people need to know what's coming down the pipe for Claude Code, Claude Tag, and cowork, what we do then is, like, okay, let us, like, automate figuring out our whole launch calendar.

Let's automate getting those status updates asynchronously so we're not bugging people. And then let's figure out, okay, these are our three internal announce channels and make sure that our updates there are fully detailed and to the point. And so for us, it's very much just understanding what is the gapright now between a great idea and getting something to our customers, and then how do we automate it as much as possible.

Simon Willison41:37

It sounds to me like with product management, there's always more to do,right? I feel like one of the things that makes me feel good is I've never worked at a company that didn't have a backlog of a thousand things they wanted to do and didn't have the resources to take on.

So what's a moment when Claude has surprised you? Like, when the model has done something that genuinely surprised you that you didn't think it would be able to do? Thariq?

Surprises41:59

Thariq Shihipar41:59

Yeah, I mean, I've posted a lot about Claude video editing, but, like, most recently, I gave a talk at the ACM Agentic conference, and I was like, hey, guys, do you have the edited video? I'd love to post it and share it with my comms team.

And they're like, oh, it's taking so long. And I'm like, okay, could you send me the raw files? So they send me the video of me talking on stage, the video of the deck, and the audio file, and they're like, good luck.

And so I, like, give this to Claude. I give it my HTML deck as well, and I'm like, hey, can you just, like, edit this together, you know? And what it does is, like, honestly incredible. Like, I'm ready to ship it.

Like, so it transcribes the entire video. It notices that sometimes the video of my deck is a little bit weird. There's, like, a pop-up of, like, an auto update in the middle, and it's like, oh, I probably shouldn't use the video of your deck.

Actually, what I'm going to do is I'm going to slice up and figure out which slide you're on and instead use your HTML source,right? And so it's displaying the HTML source. Then it's got a video of me, but, you know, like, I'm only taking up a small part of the stage, and so it's cropping dynamically where I am on the stage, and, like, I'm pacing.

So it's, like, tracking me as I'm pacing, and I've got, like, this crop of me, the deck, and then, like, it's transcribing what I'm saying.

Simon Willison43:16

This was Fable,right?

Thariq Shihipar43:17

This is Fable, yeah, yeah, yeah. Absolutely, yeah. And it's just like, you know, it was a good prompt, but it was a one-shot prompt. And then I asked it to, like, add some, like, interesting animations and graphics, and I was just, like, blown away, kind of, you know?

And it just, like, does all this stuff. It does FFmpeg, it does Remotion, it does.

Simon Willison43:35

Okay, so I have to ask the follow-up. What can't it do? What are the things where you're still disappointed and you're waiting for Claude Fable 6 to figure out for you?

Cat Wu43:44

I want it to have better design and UX taste.

Simon Willison43:47

Uh-huh.

Cat Wu43:49

Like, I feel like it's now at the point where if I give it, if I write out a prompt with a detailed spec of how I want a feature to behave, it will usually behave that way, but, you know, the paddings might be off or, like, the interface is just not delightful yet.

I think it kind of leans on, like, existing best practices for apps, for how apps are designed, but I feel like for frontier AI products, there's so many new interaction experiences that we still have to have yet to design.

Simon Willison44:23

I feel like that's an Opus aesthetic. You can look at something and go, yeah, that was created by Opus. It'd be good if we could move beyond that.

Cat Wu44:29

Yeah, yeah. Like, I'm very excited for future models to hopefully be, like, interaction design thought partners.

Thariq Shihipar44:37

What can't it do? I think I would love to see, you know, interact more with the real world. Like, okay, like, can it do this, like, you know, can it solve science,right? Like, can it, like, orchestrate, you know, the experiments?

And there's some amount of coding that goes into that, but there's also this, like, other taste of, you know, like, the broader world that it needs, so.

Simon Willison44:55

Claude Science is a new product that just came out a few days ago,right?

Thariq Shihipar44:58

Yeah, but I have no context on it.

Simon Willison45:00

I was going to ask, is that part of Claude Code or is that a separate, separate section, actually?

Cat Wu45:04

It's our partner team.

Simon Willison45:05

Gotcha.

Cat Wu45:05

Right out, though.

Simon Willison45:08

So we've got, I've got a couple of closing questions. Which parts of Anthropic's company culture do you think uniquely help Anthropic be productive with these tools that other companies should steal? What are the cultural hacks that people should be adopting from you?

Culture & Fun45:08

Cat Wu45:24

I'll share one, and then you go. I'll share one for Claude Tag. So Claude Tag works best when you have it in a public channel and when most of your channels are public. Claude Tag is able to search across all public channels to get as much context as possible to give you the highest accuracy answer, and it's only able to do this if it has access to everything.

Thariq Shihipar45:48

Yeah, I mentioned this in my keynote, but I think it's so important to me. I want to reemphasize, like, I think the co-founders say, like, we don't negotiate against ourselves, you know? And I think this is really important, where you're, like, you can imagine trade-offs in your head and talk yourself out of doing something ambitious, you know?

Or you can just try and do the ambitious thing. And I think that, like, we're just so often being like, okay, what if we just did it? Like, what if, like, you know, like, is this a real trade-off or not,right?

Or, like, and if so, like, why? Like, where's the proof that it's a real trade-off and not just, like, it sounds reasonable,right? And so I think just, yeah, like, you know, make the trade-offs show themselves to you, be as ambitious as you can.

Simon Willison46:30

That's so because that goes against I've got 25 years of software experience that says the default answer should be no. Everything is a trade-off. Everything has a cost. And now we're having to reimagine all of those intuitions. It's kind of fascinating.

Okay, and so final question for both of you. What is something, what's one of your favorite absurd things that you've built with Claude just because you could build it?

Thariq Shihipar46:55

I can go while you think. I'm working on a 2D Street Fighter fighting game with me as a character and, like, my friends as well. And it uses Claude Code to prompt, you know, Gemini, and honestly, the Seedance model is pretty good, like, to make, like, video animations.

And it works great. Like, it's so good at prompting. It's like, you know, it can verify, like, the frames to check if this was a good animation.

Simon Willison47:21

Is this Street Fighter 2 level 2D sprites that you're generating?

Thariq Shihipar47:25

Yeah, yeah, exactly. Yeah, yeah, yeah. Like, 2D sprites. The animation looks amazing, and it can also figure out hitboxes. It can be like, oh, you know, your fist is like, here, I'll draw the JSON and hitbox. Yeah, yeah, yeah.

It's like, incredible. Yeah, yeah, yeah. So I don't know if I'll put this out, but it's.

Simon Willison47:39

I feel like we need a screenshot at least.

Thariq Shihipar47:42

Sure, yeah. I can make a screenshot happen. Yeah, yeah, yeah.

Cat Wu47:45

Mine's is much more simple. I'm a big rock climber, and a lot of my friends climb, and so we have this little app that we built with Claude Code where we just log all the projects that we're working on, and we also go outdoors together a lot.

So we have Claude do all this research with Workflows. Workflows is amazing. Like, we brand it as a coding tool, but it's amazing for doing deep research, for travel. I also plan our team offsites, and it's good at finding venues that can fit all of us.

Yeah, it has a lot of side benefits. But anyway, I also use Workflows to just research all the climbing destinations that we might want to go to, what has direct flights from, where all of us are located. It goes to Mountain Project and finds all the climbs that are in our grade level.

It finds the Airbnb, and it actually maps out. Like, I don't like hiking, and so I care a lot about it having a very short approach, so very short walking distance from where the car parks to where the rock actually is.

And so it filters for this. And so, like, with existing apps, I have to, like, manually click through Mountain Project, but with this, I just put in all of our preferences, and it's just a custom app for us.

Simon Willison48:57

So you're basically vibe-coding Jira for mountain climbing.

Cat Wu49:00

Exactly.

Simon Willison49:01

That's pretty fantastic. You know what? We have time for a couple of audience questions. If you want to share, if you want to come forward and say them to me, and I will repeat them so everyone can hear them.

Q&A49:13

Simon Willison49:13

But yeah, tell you what, anyone who gets here first gets to ask a question. Sorry for people at the back. Hey.

Sai49:21

Tell you what, actually, yeah. Yeah, my question is that do you have any plan to build more eval tools for us to build eval dataset or anything like that and more observability tools to monitor the performance of agents and workflows?

Cat Wu49:41

We've considered building eval tools, but I think the limiting factor actually tends to be that it takes a long time for customers to build really high-quality evals. And so I think the tooling is less of the constraint and more of the skill set of how do you build a great eval, and that's an area where we're excited to both invest internally and also hopefully we can share some of the best practices externally.

Sai50:04

Hey, Kat. My name is Sai. So my question was because I'm more interested in the memory and the multiplayer. How is memory being designed? So two questions,right? So how is memory being designed today? I assume it's around files.

And second part of it is, have you thought about thinking in anorthogonal direction where you would actually need a data store to store these memory instead of files to scale it better? So I think that's my question.

Thariq Shihipar50:32

Yeah,right now for Claude Tag, the memory is channel specific. So every Claude in that channel has a shared memory, and then, you know, the instances have a session, but, like, the session can contribute back to main memory. We do a lot of memory research, and it's, you know, can be kind of unintuitive, like, what is theright way to do memory.

But yeah, we're always working on this, so yeah.

Sai50:52

You've thought about.

Thariq Shihipar50:54

Yeah, I mean, we're always running memory experiments. I don't have, you know, anything to, yeah, like, how it worksright now in Claude Tag is a markdown file per channel. Yeah.

Sai51:01

Okay, thank you.

Simon Willison51:03

So I'm afraid we are out of time. Please join me in thanking Kat and Thariq, and we will be around for more questions in the hallway.

Thariq Shihipar51:10

Thanks, guys.

Cat Wu51:11

Thank you.