- Claude Code is Anthropic's agentic coding assistant, designed for end-to-end development directly within the terminal, integrating with existing developer tools and IDEs.
- It functions as an orchestrator, taking prompts to explore codebases, make changes, and even write tests, shifting the development paradigm from handwriting code to reviewing agent-generated solutions.
- Leveraging Anthropic's advanced Claude 4 models, Claude Code excels at understanding intent and "one-shotting" complex tasks, and can be integrated into GitHub Actions for automated background coding assistance.
A conversation on Claude Code
- Terminal-Native Agentic Coding: Claude Code operates directly in any terminal (including IDE terminals, SSH, TMAX), providing an agentic coding experience that uses bash and file editing to understand context and make code changes.
- Easy Installation: Install Claude Code via NPM (
npm install @anthropic-ai/Claude-code), requiring Node.js, and then simply runClaudeto initiate the guided setup and interaction. - IDE Integration: Running Claude Code within an IDE terminal enhances its power by allowing visual file edits directly in the IDE and leveraging additional signals for more intelligent assistance.
- Claude 4 Model Advantage: The latest Claude 4 models (Opus, Sonnet) significantly improve Claude Code's ability to follow instructions and "one-shot" tasks like writing perfect unit tests, reducing manual intervention compared to previous models.
- Automated GitHub Actions: Integrate Claude Code into GitHub Actions by running
slash install GitHub Actionin the terminal, enabling it to automatically fix issues or write tests when mentioned (e.g.,@Claude fix this) in PRs and issues. - Orchestration over Handwriting: Embrace a mental shift towards orchestrating AI agents to write code, focusing more on reviewing and guiding the AI rather than manually typing out every line.
- Strategic Prompting: For complex tasks, first ask Claude Code to "make a plan" or "brainstorm ideas" before writing code; for deeper context, instruct it to "read files first, then pause," then "think and brainstorm."
- CLAUDE.md for Context and Memory: Utilize
CLAUDE.mdfiles (repository root, local, global, or nested directories) to provide Claude Code with specific instructions, architectural decisions, and preferences, functioning as its memory and team knowledge base. - Personalized Learning: Use memory mode (
#) during conversations to explicitly tell Claude Code to memorize specific instructions or preferences for future interactions, enhancing its tailored assistance. - Cost Consideration: Claude Code is designed for serious work, often targeting enterprises, with pricing ranging from approximately $50 to $200 per month, or available as part of an unlimited Claude Max subscription.
Agentic coding— An approach where an AI system takes multiple steps, uses tools (like bash or file editing), and autonomously performs complex coding tasks based on a high-level prompt, rather than just suggesting completions.NPM— Node Package Manager, a command-line utility for managing packages (libraries, tools) in Node.js projects.IDE— Integrated Development Environment, a software application that provides comprehensive facilities to computer programmers for software development, like VS Code or Eclipse.Dogfooding— The practice of an organization using its own products or services, often to test and improve them before release.One-shotting— The ability of an AI model to successfully complete a complex task or generate correct output on its first attempt, without needing further clarification or iterations.GitHub Actions— An automation platform that allows developers to automate tasks (e.g., build, test, deploy) directly within their GitHub repositories.CLAUDE.md— A special Markdown file used by Anthropic's Claude Code to store instructions, context, and memory for the AI, shareable across projects and teams.AutoXEP mode— An execution mode in Claude Code (activated by Shift-Enter) where the agent autonomously executes a task and notifies the user upon completion, allowing for hands-off operation.Extended thinking— A technique where the user explicitly prompts the AI to first gather context (e.g., read files), then pause and process that information, brainstorm, and only then proceed with actions or code generation.Ray limits— A term likely referring to rate limits, which restrict the number of requests or actions a user or system can perform within a given timeframe, often to manage resource usage.
Is this secret sauce? Are we sure we want to give it to people? Is this the same tool everyone at Anthropic use it's every day? Hey, I'm Alex, I lead Claude Relations here at Anthropic. And I'm Boris. I'm a member of Technical Staff and Creator of Claude Code. Today, we're going to be talking about Claude Code. Boris, to start what is Claude Code and how did it come about? Yeah, Claude Code is a way to do each end of coding in the terminal. So you don't have to adopt new tools. You don't have to use new IDs. You don't have to use the particular website or anything. It's just agent-acoding and it works wherever you work. And I think that actually came out of the way and Anthropic engineers and researchers use tools to get the job done. Because people have all sorts of different stacks. It's super weird. There isn't one normal stack everyone uses. There's people that use the ZID and there's people that use VS Code. And then there's people that are like, you're never going to take my VIM for my cold dead hands. And we wanted to build something that works for everyone. And that's how we kind of ended up in the terminal. I see. So the terminal is almost like the most universal of all the interfaces and that it's flexible and it's kind of incorporated into everybody's workflow already. Exactly, exactly. And it also just happens to be the simplest. And because it's so simple, we get to iterate really fast. And that's kind of in hindsight, it turned out to be a good thing. But definitely wasn't the intent from the start. Interesting. So if I'm a new developer and I want to be using Claude Code, what does that look like to actually get this product working? Yeah, it's pretty simple. So you just download it from NPM. It's NPM installed, that she add Anthropic, dash AI, slash Claude, dash code. So it's a little bit of an incantation. So you download it, you just need no JS on your system and a lot of people have that. And that's it. You open it up and it'll walk you through everything else. Wow. So you just type Claude into the terminal, hit Enter. And then that's it. And it's just like Claude will guide you through the rest of the process and you can just start talking to it and it'll start coding. Exactly. Exactly. Yeah. You install it and then you run Claude. One of the cool things is Claude works in any terminal, like you said. So if you use like I term 2 or Apple Terminal or whatever terminal you use, even like in a SSH session or TMAX session, it'll work. One of actually the top ways that people use Claude Code is within IDE terminals. So one thing you can do is run Claude within, for example, VS Code Terminal. And it'll become more powerful. So instead of seeing file edits in the terminal, you're going to see them nice and big and beautiful in the IDE itself. And we kind of use more signals from the IDE also to make more intelligent. But the experience is the same. You just run Claude in the terminal. Okay. So there's a lot there that I want to get to in a second. But before we get to that, so we release Claude Code in February. Yeah. So it's been about over three months. What's it been like? What's the reaction been from the community? Yeah, just insane. So unexpected. But before we release it, we weren't sure if we want to release it. It was this tool that internally is just, it makes our engineers and researchers so productive. And we were having this debate where like, is this secret sauce? Are we sure we want to give it to people? Because this is the same tool everyone that athropic uses every day. And yeah, I think it turned out to be kind of the right decision. Because it makes people more productive and people like it. What was the moment that you knew we had to ship it? So it started kind of in a small group. And it was just a few people in our team using it. And then at some point we gave it to all anthropic employees. And there was this DAU chart. So like the DAU Actives, just looking at employees. And it was vertical for like three days straight. Wow. And we were like, all right, this is crazy. This is a hit. And then at some point we gave it to a few people externally just to see, you know, are we crazy? Is this useful? And all the feedback was just super positive? And I think it was pretty obvious. And so it really took fire within anthropic first. And then all the engineers, all the researchers were using it themselves. And that made it pretty obvious for us that we should put it out in the world as well. Yeah, yeah. And that's a big way that we develop this thing. Like, Claude Code is written using Claude Code. That's almost all the code in Claude Code has been written and rewritten and rewritten using Claude Code. And yeah, we're very big believers in dog food. It's just, it's so important. Because when you use a product that has obviously been dog fooded, you can feel it. You know, like in the products I use every day, I can feel like this is something that the team uses all the time. And this is not. And yeah, we just wanted this to be one of those products that when you pick it up and try it, it's obvious. A lot of love went into it. And it's something that we use ourselves. Who do you think is the ideal Claude Code customer right now? Like who is using Claude Code, what type of person, what type of developer? Yeah, so I think the biggest thing is Claude Code is pretty expensive. So, you know, if you're coding on the weekends, you can try it for a little bit. So, you know, you get an API key and put in five bucks and you can just try it. But if you want to use it for more serious work, it'll cost you, you know, $50, $200, $200 bucks a month, something like this. There's kind of a big range. It depends what you're using it for. But generally expect maybe like $50 bucks a month. You know, there's a lot of enterprises that are using it. So, you know, if you're in a big company, it tends to be a really good fit. It's amazing at big code bases. There's no, you know, there's no indexing step. There's no extra stuff to set up. You just run it and it works out of the box for pretty much every big code base in any language. What's this integration with Claude Max? How does that work? Yeah, so one thing that we found is when people were using API keys to pay for this, they were a little worried about their usage. Yeah. And they didn't use it as much as they wanted. And so, we shipped Claude Code as part of Claude Max. So, you pay for the max subscription. It's like $100 a month or $200 a month, you get to pick the price point. And there's different usage limits. And you get pretty much as much Claude Code as you want. And practically, you're not going to hit any ray limits. Very few people do. It's unlimited Claude Code. Wow, so unified between your claude.ai, then your Claude Code accounts is just like this one subscription. Exactly. Okay. So, if I'm developer and I'm using Claude Code, and I have my code base that I'm working on on my computer, I get into my terminal type Claude, hit Enter. What happens next? Yeah, Claude gets to work. Okay. So, it's going to use tools. It's going to go out and do what's thing. It's going to take many steps. Okay. So, if you've only used coding assistants in IDs before, and you're used to an experience where what the system does is it, you know, completes the line, or completes a few lines or something, it's not this at all. It's super duper agentic. So, Claude will understand your query, and it's going to use all the tools that it's disposed of. That's bash, file editing, and so on. To export the code based, read files, get the context it needs, and then edit files, make any changes that you want. Wow. So, this is maybe like a new form factor of coding, compared to like how we've been doing it for the past 20 or 30 years or so. Yeah, you know, from, from me, like my journey for coding goes way back my, so like, you know, I've been coding for a while, but my grandpa was actually one of the first computer programmers in the Soviet Union back in like, Oh, wow. The 1940s or something. Wow. And he programmed using punch cards because programming with software wasn't the thing yet. And what he would do is he would take these big punch cards, and in the US there was, you know, this like IBM thing, that was sort of the idea of the time, and he would use that to program these paper punch cards. And that's how he programmed. And he would bring these home every night, and my mom would tell me stories growing up about how she would draw over these with crayons, and like for her, that was part of her, you know, experience growing up. And since then programming has evolved. So it was punch cards, and then we had kind of assembly, and then we had these first type of all languages. So, you know, cobalt went in Fortran, and then we got into, in the 80s, into like Java, and these like typed languages in Haskell, and that was really exciting. And then in the 90s, we got into JavaScript and Python, you know, these are interpreted languages that still give you a lot of safety. And I kind of think about the programming language, and the experience of using the programming language as evolving and walk-step. Because around the time that JavaScript started appearing, you saw, you know, for example, the Eclipse IDE, and it had the first type of head features. Like, you could type a character, and then you get a drop down. And the idea is like, do you mean this or this and this? And it was just incredible. Because as a human, you didn't have to read the code anymore. And so I see this as the evolution. The languages have sort of, I think, leveled out, kind of all the modern languages, belong to kind of similar families. You know, there's like a few big families of languages, and they're pretty similar if you kind of, if you glance. But the experience is now really evolving, where now you don't have to deal with punch cards or assembly or even code you do with prompts, and the model figures out the coding part. And this is just hugely exciting to me. It was a programmer. I love that. I think I'm from punch cards to prompts, basically. Yeah. Well, I have a couple of questions for you on that front later, but before we get into that, I want to talk a little bit on the model front. So up until just recently, Claude Code was powered mainly by CloudPuponf7sonnet. So now with the Cloud4 models, powering Claude Code under the hood, what is this unlocked? And where do you think we're headed? Yeah, maybe a couple months or so before the models came out, we started trying them out internally. And I just remember my jaw dropping, how much more capable it feels. So I think there's all these new use cases that are unlocked. When you're using Claude Code synchronously in a terminal, I think one of the big changes is, is that the Claude is just much better following your instructions. And so you tell it to do something either in a prompt or in CloudMD, and it'll tend to just do that and stick to it. And this is a big change because 370 was kind of a beast. It's an amazing coding model, but man, it's like, it's hard to steer. Like you try to write tests and you would just like mock all your tests. And you're like, no, that's not what I mean. And usually you say that once or twice and it figures it out. But it was just so powerful that it was worth it. And I feel like now with this new generation of four models, you don't have to do that anymore. They typically do what you want at first shot. And Opus is, it feels like this next level above Sonnet where not only does it understand my intent really well, but also it's able to one shot a lot of things that previous models just couldn't. So for example, I haven't written a unit test in months. Wow. Because Opus just writes my tests. And almost every time it will one shot it perfectly the first time. And this is pretty useful in a terminal. It makes it so it can be a little bit more hands off. But I think one of the coolest use cases is running it in GitHub Actions. And other environments where you can give a task. And then the model would just go off and do its own thing. And when it comes back with the right result, the first time that feels amazing. So with GitHub Actions now, we can within GitHub Act Claude, and then have it go off and work on the task in the background and then bring it back with a result in a new PR. Exactly. Yeah, you open up Claude in the terminal, like normal, just run Claude, and then you run slash install GitHub Action. And that'll walk you through this kind of install step. There's a few steps. It's all automatic. You just have to click a button or two. And it'll install the Claude app in your GitHub repo. And yeah, the experience is pretty cool. So in any issue, you can add mention Claude, just add Claude. I use it in PRs every day. A coworker will put up a poor quest. And instead of asking them, hey, can you fix this thing? I'll just say, hey, add Claude, fix this thing. And then it'll fix it. And instead of asking, can you write tests? And I always feel kind of guilty when I have to do that. I'll just say, hey, add Claude, right, tests. And it's just not a thing anymore. I mean, that feels incredible to me. That is an entirely new aspect of programming right there, where we can basically pull in your always on-demand programmer to go fix these issues for you, not even on your computer, but operating in background. Yeah. I think it's the beginning of interacting with a model like you would with a fellow programmer. So instead of at mentioning a coworker, I would at mention Claude. How does this change software engineering? When we move into that model, we're managing all these Claude codes in the background. I think there's a little of a mental, there's a bit of a mental shift that has to happen, where some people really love controlling the code. And you know, like if you're used to handwriting code, I think now the industry is shifting to a place where you're orchestrating agents that write your code. And it's more about reviewing code than handwriting code. And yeah, I think people have to kind of deal with this transition. And I think as a programmer, it's incredibly exciting because you can do so much more, so much faster. And there's still some stuff I'll have to dip down and kind of hand write code, but now I kind of dread it, because Claude is just so good at it. Interesting. And I think increasingly as models get more capable, these kind of, these windows where you have to hand write code, either because it's a complex data model or is this something really sophisticated, like the interaction between a bunch of system components or something that's hard to type out in a prompt? I think this will keep receding, and more and more programming will be about orchestrating agents. So I want to dive into that a little bit more on your type of workflow. So how are you currently using the combination of all these things from like the IDE integration to just Claude Code as it is in the terminal to these background actions in GitHub? Yeah, I think there's two kinds of work that I do. Some things are really easy. So for example, writing some tests or making a little bug fix or something. And usually I'll ask Claude to do it in GitHub issues. Or the other thing I'll do is I have a couple of Claude running in parallel. Usually I have a couple of checkouts of our code base. And so in one of these terminal tabs, I'll ask Claude to do something. I'll hit Shift-Enter, to enter into AutoXEP mode. And then I'll come back in a few minutes, and I'll get a terminal notification when Claude is done. Oh wow. There is a second kind of work where you have to be a little bit more involved. And I think this is still the majority of engineering. Most engineering, you can't one shot. It's still hard. And so what I'll do is I'll run Claude in my IDE terminal. And I'll ask it to do something. And at some point it will get stuck or the code won't be perfect or something. And so I'll go in and edit in my IDE to get that last mile of edits. I see. So there's this spectrum almost of like difficulty of task compared to where you're interacting with Claude. Yeah. Yeah. There's a running period. When you first start using this kind of tool, I think something people do sometimes is try to use it for too much. And you give it something too hard, and it gets choked up. And you're not happy with the result. And this is a warning that everyone has to go through to kind of get internally calibrated on what can Claude do, what can it one shot, what can it two shot, and what's that interaction like. And unfortunately it changes with every model. So you can't just run it once. Every time there's a new release, the capability grows. And Claude's able to do more stuff correctly the first time. And so you can ask it for a little bit more. Right, I've noticed that just generally, you've been outside of code where these models are changing so fast and improving so fast, that if you were to have tried a model six months ago and kind of wrote it off for a task, it's not correct to still assume that frame in the present day, like you almost have to reset your intuitions every single time. Yeah, exactly. I'm curious for other maybe tips or tricks that you're seeing from usage from devs or from people within Anthropic, what are some cool things that folks are doing with Claude Code? Yeah, I'd say the biggest thing that I've seen in Power User start to do in an Anthropic is ask Claude to make a plan before it starts to code. And something people will do sometimes when they first start using Claude Code is, they'll be like, hey, right, this is a really big complicated feature and then they get frustrated when it doesn't do it the way that they imagined in their mind. And a really good way to kind of align what you want to do with what Claude wants to do is ask it to make a plan and run it by you first. And I'll explicitly say sometimes, here's the problem I want to solve, before you code brainstorm some ideas and make me a list of ideas for how to approach it and don't write any code yet. And Claude will give me option one, option two, option three, and I might be like, okay, option one and three sound good, what's combined it, now you can start coding. And it's certainly pretty good at listening. Another thing to kind of take this to the next level is ask Claude to use extended thinking. And this works best if Claude has some context already. It doesn't work very well if Claude doesn't have any context yet and it just thinks. And it's sort of like a human, right? Like you can think as long as you want, but until you go in and read the code, you won't actually know what it is you're doing. And it's the same thing with Claude. Just ask it to read files first, then pause. And then I'll ask it to think and brainstorm some ideas, and then I'll ask it to go. Interesting. So that sort of inner-leaved approach where it's able to call out to a tool, think about the results, think about what it needs to do next, and then call another tool and continue that back and forth. Yeah, exactly, exactly. And we actually see this on internal benchmarks too. When we do internal benchmarks of different kind of e-vells, generally if you get context first and then think, and then use tools to edit and use bash, and so on, the results are a lot better. And this is what it feels like to us user. Yeah. Tell me about Claude MD files. These seem really powerful. Yeah, Claude MD, we use it for everything. It's Claude's memory, it's instructions to Claude that you want to share across your team. It's instructions that you want to share across all your projects. So yeah, it's very powerful. There's a lot of different kinds of Claude MDs. And so the simplest kind is a file called Claude.MD, and you put it in the root of your repositories. It's a markdown file. It's a markdown file. Yeah, Claude in all caps, MD, work is. And Claude will automatically read it when you start Claude in that folder. So it'll be automatically read into context. Any kind of instructions you want Claude to do every time. So bash commands that you want it to run frequently or files that it should really know about when making changes or big architectural decisions, anything like that, MCP servers. Just put it in the Claude MD. There's a second kind of Claude MD, and this one you check in. And so you want to share it with your team. You want to write it once and then share it with everyone across your team so people don't have to read it themselves. Interesting. The second kind of Claude MD is just for you. And that's called Claude.local.md. And this one, it also goes in the same place. And it's just for you, you don't share it with your team. You get to ignore it so you don't check it in. The third one is a global Claude MD. And that goes in your dot Claude folder in your home directory. Most people actually don't use this one. But if you want, you can put any kind of instructions you want to share a Claude across Claude's there. And then the final one is you can put Claude MDs in any nested file and any directory in your code base. Oh wow. And Claude will put in automatically when it thinks it's relevant just to get instructions about working without part of the code base. So these are like, yeah, specific instructions or even your preferences for just like coding style or anything like that about how Claude should interact, what it should know about you, how you like to work, be anything. Exactly. And sometimes when I see Claude do something really good or really bad during a conversation, what I'll do is I'll hit the pound sign and this goes into memory mode. And I'll tell Claude, hey, you should memorize this. And it could be an instruction, for example, whenever I make code changes, always run the winter. Yeah. And I'll tell you that and it will incorporate it into the right memory file. Interesting. I need to do more of that, I think. What's next for Claude Code? Yeah, I think there's two directions we're thinking about. So one is how to make Claude work even better with all your tools. And it started with working with every terminal. Now it can work with many IDEs. And it can also work with a lot of CI systems. And we've been thinking about what's next there. Just to make sure it works with all the tools used, Claude should know how to use them, and it should work with the tools natively. The second thing is how to get Claude better at these sort of easy tasks that you may not want to open a terminal for. So what if I could tag Claude in a chat app or something like this and have it fix an issue for me, the same way that I can do on GitHub? And what does this mean and what feels good to use? We've been trying a bunch of options here. We want to make sure that it feels really good before we give it to users. That's exciting. Well, I'd love to see Claude Code everywhere. So looking forward to it. And thank you for this for the conversation. Yeah, thank you.
TL;DR
- Claude Code is Anthropic's agentic coding assistant, designed for end-to-end development directly within the terminal, integrating with existing developer tools and IDEs.
- It functions as an orchestrator, taking prompts to explore codebases, make changes, and even write tests, shifting the development paradigm from handwriting code to reviewing agent-generated solutions.
- Leveraging Anthropic's advanced Claude 4 models, Claude Code excels at understanding intent and "one-shotting" complex tasks, and can be integrated into GitHub Actions for automated background coding assistance.
Takeaways
- Terminal-Native Agentic Coding: Claude Code operates directly in any terminal (including IDE terminals, SSH, TMAX), providing an agentic coding experience that uses bash and file editing to understand context and make code changes.
- Easy Installation: Install Claude Code via NPM (
npm install @anthropic-ai/Claude-code), requiring Node.js, and then simply runClaudeto initiate the guided setup and interaction. - IDE Integration: Running Claude Code within an IDE terminal enhances its power by allowing visual file edits directly in the IDE and leveraging additional signals for more intelligent assistance.
- Claude 4 Model Advantage: The latest Claude 4 models (Opus, Sonnet) significantly improve Claude Code's ability to follow instructions and "one-shot" tasks like writing perfect unit tests, reducing manual intervention compared to previous models.
- Automated GitHub Actions: Integrate Claude Code into GitHub Actions by running
slash install GitHub Actionin the terminal, enabling it to automatically fix issues or write tests when mentioned (e.g.,@Claude fix this) in PRs and issues. - Orchestration over Handwriting: Embrace a mental shift towards orchestrating AI agents to write code, focusing more on reviewing and guiding the AI rather than manually typing out every line.
- Strategic Prompting: For complex tasks, first ask Claude Code to "make a plan" or "brainstorm ideas" before writing code; for deeper context, instruct it to "read files first, then pause," then "think and brainstorm."
- CLAUDE.md for Context and Memory: Utilize
CLAUDE.mdfiles (repository root, local, global, or nested directories) to provide Claude Code with specific instructions, architectural decisions, and preferences, functioning as its memory and team knowledge base. - Personalized Learning: Use memory mode (
#) during conversations to explicitly tell Claude Code to memorize specific instructions or preferences for future interactions, enhancing its tailored assistance. - Cost Consideration: Claude Code is designed for serious work, often targeting enterprises, with pricing ranging from approximately $50 to $200 per month, or available as part of an unlimited Claude Max subscription.
Vocabulary
Agentic coding— An approach where an AI system takes multiple steps, uses tools (like bash or file editing), and autonomously performs complex coding tasks based on a high-level prompt, rather than just suggesting completions.NPM— Node Package Manager, a command-line utility for managing packages (libraries, tools) in Node.js projects.IDE— Integrated Development Environment, a software application that provides comprehensive facilities to computer programmers for software development, like VS Code or Eclipse.Dogfooding— The practice of an organization using its own products or services, often to test and improve them before release.One-shotting— The ability of an AI model to successfully complete a complex task or generate correct output on its first attempt, without needing further clarification or iterations.GitHub Actions— An automation platform that allows developers to automate tasks (e.g., build, test, deploy) directly within their GitHub repositories.CLAUDE.md— A special Markdown file used by Anthropic's Claude Code to store instructions, context, and memory for the AI, shareable across projects and teams.AutoXEP mode— An execution mode in Claude Code (activated by Shift-Enter) where the agent autonomously executes a task and notifies the user upon completion, allowing for hands-off operation.Extended thinking— A technique where the user explicitly prompts the AI to first gather context (e.g., read files), then pause and process that information, brainstorm, and only then proceed with actions or code generation.Ray limits— A term likely referring to rate limits, which restrict the number of requests or actions a user or system can perform within a given timeframe, often to manage resource usage.
Transcript
Is this secret sauce? Are we sure we want to give it to people? Is this the same tool everyone at Anthropic use it's every day? Hey, I'm Alex, I lead Claude Relations here at Anthropic. And I'm Boris. I'm a member of Technical Staff and Creator of Claude Code. Today, we're going to be talking about Claude Code. Boris, to start what is Claude Code and how did it come about? Yeah, Claude Code is a way to do each end of coding in the terminal. So you don't have to adopt new tools. You don't have to use new IDs. You don't have to use the particular website or anything. It's just agent-acoding and it works wherever you work. And I think that actually came out of the way and Anthropic engineers and researchers use tools to get the job done. Because people have all sorts of different stacks. It's super weird. There isn't one normal stack everyone uses. There's people that use the ZID and there's people that use VS Code. And then there's people that are like, you're never going to take my VIM for my cold dead hands. And we wanted to build something that works for everyone. And that's how we kind of ended up in the terminal. I see. So the terminal is almost like the most universal of all the interfaces and that it's flexible and it's kind of incorporated into everybody's workflow already. Exactly, exactly. And it also just happens to be the simplest. And because it's so simple, we get to iterate really fast. And that's kind of in hindsight, it turned out to be a good thing. But definitely wasn't the intent from the start. Interesting. So if I'm a new developer and I want to be using Claude Code, what does that look like to actually get this product working? Yeah, it's pretty simple. So you just download it from NPM. It's NPM installed, that she add Anthropic, dash AI, slash Claude, dash code. So it's a little bit of an incantation. So you download it, you just need no JS on your system and a lot of people have that. And that's it. You open it up and it'll walk you through everything else. Wow. So you just type Claude into the terminal, hit Enter. And then that's it. And it's just like Claude will guide you through the rest of the process and you can just start talking to it and it'll start coding. Exactly. Exactly. Yeah. You install it and then you run Claude. One of the cool things is Claude works in any terminal, like you said. So if you use like I term 2 or Apple Terminal or whatever terminal you use, even like in a SSH session or TMAX session, it'll work. One of actually the top ways that people use Claude Code is within IDE terminals. So one thing you can do is run Claude within, for example, VS Code Terminal. And it'll become more powerful. So instead of seeing file edits in the terminal, you're going to see them nice and big and beautiful in the IDE itself. And we kind of use more signals from the IDE also to make more intelligent. But the experience is the same. You just run Claude in the terminal. Okay. So there's a lot there that I want to get to in a second. But before we get to that, so we release Claude Code in February. Yeah. So it's been about over three months. What's it been like? What's the reaction been from the community? Yeah, just insane. So unexpected. But before we release it, we weren't sure if we want to release it. It was this tool that internally is just, it makes our engineers and researchers so productive. And we were having this debate where like, is this secret sauce? Are we sure we want to give it to people? Because this is the same tool everyone that athropic uses every day. And yeah, I think it turned out to be kind of the right decision. Because it makes people more productive and people like it. What was the moment that you knew we had to ship it? So it started kind of in a small group. And it was just a few people in our team using it. And then at some point we gave it to all anthropic employees. And there was this DAU chart. So like the DAU Actives, just looking at employees. And it was vertical for like three days straight. Wow. And we were like, all right, this is crazy. This is a hit. And then at some point we gave it to a few people externally just to see, you know, are we crazy? Is this useful? And all the feedback was just super positive? And I think it was pretty obvious. And so it really took fire within anthropic first. And then all the engineers, all the researchers were using it themselves. And that made it pretty obvious for us that we should put it out in the world as well. Yeah, yeah. And that's a big way that we develop this thing. Like, Claude Code is written using Claude Code. That's almost all the code in Claude Code has been written and rewritten and rewritten using Claude Code. And yeah, we're very big believers in dog food. It's just, it's so important. Because when you use a product that has obviously been dog fooded, you can feel it. You know, like in the products I use every day, I can feel like this is something that the team uses all the time. And this is not. And yeah, we just wanted this to be one of those products that when you pick it up and try it, it's obvious. A lot of love went into it. And it's something that we use ourselves. Who do you think is the ideal Claude Code customer right now? Like who is using Claude Code, what type of person, what type of developer? Yeah, so I think the biggest thing is Claude Code is pretty expensive. So, you know, if you're coding on the weekends, you can try it for a little bit. So, you know, you get an API key and put in five bucks and you can just try it. But if you want to use it for more serious work, it'll cost you, you know, $50, $200, $200 bucks a month, something like this. There's kind of a big range. It depends what you're using it for. But generally expect maybe like $50 bucks a month. You know, there's a lot of enterprises that are using it. So, you know, if you're in a big company, it tends to be a really good fit. It's amazing at big code bases. There's no, you know, there's no indexing step. There's no extra stuff to set up. You just run it and it works out of the box for pretty much every big code base in any language. What's this integration with Claude Max? How does that work? Yeah, so one thing that we found is when people were using API keys to pay for this, they were a little worried about their usage. Yeah. And they didn't use it as much as they wanted. And so, we shipped Claude Code as part of Claude Max. So, you pay for the max subscription. It's like $100 a month or $200 a month, you get to pick the price point. And there's different usage limits. And you get pretty much as much Claude Code as you want. And practically, you're not going to hit any ray limits. Very few people do. It's unlimited Claude Code. Wow, so unified between your claude.ai, then your Claude Code accounts is just like this one subscription. Exactly. Okay. So, if I'm developer and I'm using Claude Code, and I have my code base that I'm working on on my computer, I get into my terminal type Claude, hit Enter. What happens next? Yeah, Claude gets to work. Okay. So, it's going to use tools. It's going to go out and do what's thing. It's going to take many steps. Okay. So, if you've only used coding assistants in IDs before, and you're used to an experience where what the system does is it, you know, completes the line, or completes a few lines or something, it's not this at all. It's super duper agentic. So, Claude will understand your query, and it's going to use all the tools that it's disposed of. That's bash, file editing, and so on. To export the code based, read files, get the context it needs, and then edit files, make any changes that you want. Wow. So, this is maybe like a new form factor of coding, compared to like how we've been doing it for the past 20 or 30 years or so. Yeah, you know, from, from me, like my journey for coding goes way back my, so like, you know, I've been coding for a while, but my grandpa was actually one of the first computer programmers in the Soviet Union back in like, Oh, wow. The 1940s or something. Wow. And he programmed using punch cards because programming with software wasn't the thing yet. And what he would do is he would take these big punch cards, and in the US there was, you know, this like IBM thing, that was sort of the idea of the time, and he would use that to program these paper punch cards. And that's how he programmed. And he would bring these home every night, and my mom would tell me stories growing up about how she would draw over these with crayons, and like for her, that was part of her, you know, experience growing up. And since then programming has evolved. So it was punch cards, and then we had kind of assembly, and then we had these first type of all languages. So, you know, cobalt went in Fortran, and then we got into, in the 80s, into like Java, and these like typed languages in Haskell, and that was really exciting. And then in the 90s, we got into JavaScript and Python, you know, these are interpreted languages that still give you a lot of safety. And I kind of think about the programming language, and the experience of using the programming language as evolving and walk-step. Because around the time that JavaScript started appearing, you saw, you know, for example, the Eclipse IDE, and it had the first type of head features. Like, you could type a character, and then you get a drop down. And the idea is like, do you mean this or this and this? And it was just incredible. Because as a human, you didn't have to read the code anymore. And so I see this as the evolution. The languages have sort of, I think, leveled out, kind of all the modern languages, belong to kind of similar families. You know, there's like a few big families of languages, and they're pretty similar if you kind of, if you glance. But the experience is now really evolving, where now you don't have to deal with punch cards or assembly or even code you do with prompts, and the model figures out the coding part. And this is just hugely exciting to me. It was a programmer. I love that. I think I'm from punch cards to prompts, basically. Yeah. Well, I have a couple of questions for you on that front later, but before we get into that, I want to talk a little bit on the model front. So up until just recently, Claude Code was powered mainly by CloudPuponf7sonnet. So now with the Cloud4 models, powering Claude Code under the hood, what is this unlocked? And where do you think we're headed? Yeah, maybe a couple months or so before the models came out, we started trying them out internally. And I just remember my jaw dropping, how much more capable it feels. So I think there's all these new use cases that are unlocked. When you're using Claude Code synchronously in a terminal, I think one of the big changes is, is that the Claude is just much better following your instructions. And so you tell it to do something either in a prompt or in CloudMD, and it'll tend to just do that and stick to it. And this is a big change because 370 was kind of a beast. It's an amazing coding model, but man, it's like, it's hard to steer. Like you try to write tests and you would just like mock all your tests. And you're like, no, that's not what I mean. And usually you say that once or twice and it figures it out. But it was just so powerful that it was worth it. And I feel like now with this new generation of four models, you don't have to do that anymore. They typically do what you want at first shot. And Opus is, it feels like this next level above Sonnet where not only does it understand my intent really well, but also it's able to one shot a lot of things that previous models just couldn't. So for example, I haven't written a unit test in months. Wow. Because Opus just writes my tests. And almost every time it will one shot it perfectly the first time. And this is pretty useful in a terminal. It makes it so it can be a little bit more hands off. But I think one of the coolest use cases is running it in GitHub Actions. And other environments where you can give a task. And then the model would just go off and do its own thing. And when it comes back with the right result, the first time that feels amazing. So with GitHub Actions now, we can within GitHub Act Claude, and then have it go off and work on the task in the background and then bring it back with a result in a new PR. Exactly. Yeah, you open up Claude in the terminal, like normal, just run Claude, and then you run slash install GitHub Action. And that'll walk you through this kind of install step. There's a few steps. It's all automatic. You just have to click a button or two. And it'll install the Claude app in your GitHub repo. And yeah, the experience is pretty cool. So in any issue, you can add mention Claude, just add Claude. I use it in PRs every day. A coworker will put up a poor quest. And instead of asking them, hey, can you fix this thing? I'll just say, hey, add Claude, fix this thing. And then it'll fix it. And instead of asking, can you write tests? And I always feel kind of guilty when I have to do that. I'll just say, hey, add Claude, right, tests. And it's just not a thing anymore. I mean, that feels incredible to me. That is an entirely new aspect of programming right there, where we can basically pull in your always on-demand programmer to go fix these issues for you, not even on your computer, but operating in background. Yeah. I think it's the beginning of interacting with a model like you would with a fellow programmer. So instead of at mentioning a coworker, I would at mention Claude. How does this change software engineering? When we move into that model, we're managing all these Claude codes in the background. I think there's a little of a mental, there's a bit of a mental shift that has to happen, where some people really love controlling the code. And you know, like if you're used to handwriting code, I think now the industry is shifting to a place where you're orchestrating agents that write your code. And it's more about reviewing code than handwriting code. And yeah, I think people have to kind of deal with this transition. And I think as a programmer, it's incredibly exciting because you can do so much more, so much faster. And there's still some stuff I'll have to dip down and kind of hand write code, but now I kind of dread it, because Claude is just so good at it. Interesting. And I think increasingly as models get more capable, these kind of, these windows where you have to hand write code, either because it's a complex data model or is this something really sophisticated, like the interaction between a bunch of system components or something that's hard to type out in a prompt? I think this will keep receding, and more and more programming will be about orchestrating agents. So I want to dive into that a little bit more on your type of workflow. So how are you currently using the combination of all these things from like the IDE integration to just Claude Code as it is in the terminal to these background actions in GitHub? Yeah, I think there's two kinds of work that I do. Some things are really easy. So for example, writing some tests or making a little bug fix or something. And usually I'll ask Claude to do it in GitHub issues. Or the other thing I'll do is I have a couple of Claude running in parallel. Usually I have a couple of checkouts of our code base. And so in one of these terminal tabs, I'll ask Claude to do something. I'll hit Shift-Enter, to enter into AutoXEP mode. And then I'll come back in a few minutes, and I'll get a terminal notification when Claude is done. Oh wow. There is a second kind of work where you have to be a little bit more involved. And I think this is still the majority of engineering. Most engineering, you can't one shot. It's still hard. And so what I'll do is I'll run Claude in my IDE terminal. And I'll ask it to do something. And at some point it will get stuck or the code won't be perfect or something. And so I'll go in and edit in my IDE to get that last mile of edits. I see. So there's this spectrum almost of like difficulty of task compared to where you're interacting with Claude. Yeah. Yeah. There's a running period. When you first start using this kind of tool, I think something people do sometimes is try to use it for too much. And you give it something too hard, and it gets choked up. And you're not happy with the result. And this is a warning that everyone has to go through to kind of get internally calibrated on what can Claude do, what can it one shot, what can it two shot, and what's that interaction like. And unfortunately it changes with every model. So you can't just run it once. Every time there's a new release, the capability grows. And Claude's able to do more stuff correctly the first time. And so you can ask it for a little bit more. Right, I've noticed that just generally, you've been outside of code where these models are changing so fast and improving so fast, that if you were to have tried a model six months ago and kind of wrote it off for a task, it's not correct to still assume that frame in the present day, like you almost have to reset your intuitions every single time. Yeah, exactly. I'm curious for other maybe tips or tricks that you're seeing from usage from devs or from people within Anthropic, what are some cool things that folks are doing with Claude Code? Yeah, I'd say the biggest thing that I've seen in Power User start to do in an Anthropic is ask Claude to make a plan before it starts to code. And something people will do sometimes when they first start using Claude Code is, they'll be like, hey, right, this is a really big complicated feature and then they get frustrated when it doesn't do it the way that they imagined in their mind. And a really good way to kind of align what you want to do with what Claude wants to do is ask it to make a plan and run it by you first. And I'll explicitly say sometimes, here's the problem I want to solve, before you code brainstorm some ideas and make me a list of ideas for how to approach it and don't write any code yet. And Claude will give me option one, option two, option three, and I might be like, okay, option one and three sound good, what's combined it, now you can start coding. And it's certainly pretty good at listening. Another thing to kind of take this to the next level is ask Claude to use extended thinking. And this works best if Claude has some context already. It doesn't work very well if Claude doesn't have any context yet and it just thinks. And it's sort of like a human, right? Like you can think as long as you want, but until you go in and read the code, you won't actually know what it is you're doing. And it's the same thing with Claude. Just ask it to read files first, then pause. And then I'll ask it to think and brainstorm some ideas, and then I'll ask it to go. Interesting. So that sort of inner-leaved approach where it's able to call out to a tool, think about the results, think about what it needs to do next, and then call another tool and continue that back and forth. Yeah, exactly, exactly. And we actually see this on internal benchmarks too. When we do internal benchmarks of different kind of e-vells, generally if you get context first and then think, and then use tools to edit and use bash, and so on, the results are a lot better. And this is what it feels like to us user. Yeah. Tell me about Claude MD files. These seem really powerful. Yeah, Claude MD, we use it for everything. It's Claude's memory, it's instructions to Claude that you want to share across your team. It's instructions that you want to share across all your projects. So yeah, it's very powerful. There's a lot of different kinds of Claude MDs. And so the simplest kind is a file called Claude.MD, and you put it in the root of your repositories. It's a markdown file. It's a markdown file. Yeah, Claude in all caps, MD, work is. And Claude will automatically read it when you start Claude in that folder. So it'll be automatically read into context. Any kind of instructions you want Claude to do every time. So bash commands that you want it to run frequently or files that it should really know about when making changes or big architectural decisions, anything like that, MCP servers. Just put it in the Claude MD. There's a second kind of Claude MD, and this one you check in. And so you want to share it with your team. You want to write it once and then share it with everyone across your team so people don't have to read it themselves. Interesting. The second kind of Claude MD is just for you. And that's called Claude.local.md. And this one, it also goes in the same place. And it's just for you, you don't share it with your team. You get to ignore it so you don't check it in. The third one is a global Claude MD. And that goes in your dot Claude folder in your home directory. Most people actually don't use this one. But if you want, you can put any kind of instructions you want to share a Claude across Claude's there. And then the final one is you can put Claude MDs in any nested file and any directory in your code base. Oh wow. And Claude will put in automatically when it thinks it's relevant just to get instructions about working without part of the code base. So these are like, yeah, specific instructions or even your preferences for just like coding style or anything like that about how Claude should interact, what it should know about you, how you like to work, be anything. Exactly. And sometimes when I see Claude do something really good or really bad during a conversation, what I'll do is I'll hit the pound sign and this goes into memory mode. And I'll tell Claude, hey, you should memorize this. And it could be an instruction, for example, whenever I make code changes, always run the winter. Yeah. And I'll tell you that and it will incorporate it into the right memory file. Interesting. I need to do more of that, I think. What's next for Claude Code? Yeah, I think there's two directions we're thinking about. So one is how to make Claude work even better with all your tools. And it started with working with every terminal. Now it can work with many IDEs. And it can also work with a lot of CI systems. And we've been thinking about what's next there. Just to make sure it works with all the tools used, Claude should know how to use them, and it should work with the tools natively. The second thing is how to get Claude better at these sort of easy tasks that you may not want to open a terminal for. So what if I could tag Claude in a chat app or something like this and have it fix an issue for me, the same way that I can do on GitHub? And what does this mean and what feels good to use? We've been trying a bunch of options here. We want to make sure that it feels really good before we give it to users. That's exciting. Well, I'd love to see Claude Code everywhere. So looking forward to it. And thank you for this for the conversation. Yeah, thank you.