How Warp Went From Terminal to Agentic Development Environment ![rw-book-cover](https://wsrv.nl/?url=https%3A%2F%2Fimage.simplecastcdn.com%2Fimages%2F1425ebfd-95bd-4a66-b963-a0b885c75680%2Fbb688835-10e4-4197-b01f-34221ccb5d38%2F3000x3000%2Ftns-makers-logo-simplecast.jpg%3Faid%3Drss_feed&w=512&h=512) ## Metadata - Author: [[The New Stack Podcast]] - Full Title: How Warp Went From Terminal to Agentic Development Environment - Category: #podcasts - URL: https://share.snipd.com/episode/b29a0b8f-ce74-42cb-9f1e-5425f2c0d294 ## Document Notes ## Highlights - **Terminal Reimagined As Agentic Platform** - Warp started to modernize the terminal by making common developer workflows easier and more discoverable. - Zach Lloyd says Warp evolved into an agentic development platform, not just a terminal. Transcript: Zach Lloyd We first spoke um yeah we were like started off trying to build a better terminal. It's kind of the short of it. The general idea behind Warp at the outset was that there's this tool that is one of the two main tools that developers live in. I think it's the terminal and the code editor. Um, I think that there had been a sort of, you know, I'd seen a lot of, uh, enterprise apps or like productivity apps kind of have their experiences improved. Everything from like, I think Zoom was like a huge improvement over WebEx and Slack was a big improvement over HipChat or whatever came before it. And I was looking at tools that I regularly use as a developer and was like, why does the terminal work this way? And it's a super powerful tool if you learn to use it well. Like a lot of the best developers I ever worked with just knew how to like do stuff with it that I couldn't do or just like never actually, I was like kind of lazy. I never like learned how to fully like master it. I was like, why is this power locked in such a old antiquated interface And if you looked at the workflows developers do in the terminal, can we build something that makes those workflows Easier? Can we make it feel more like a modern app? Can we make the mouse work? Can we make copy-paste work? And so we started the company. It was just like, let's build the product that we thought would be most useful or that I thought would be most useful here. And I didn't think it would look like the 40-year terminal. And so it was meant to be something very different. And the business model at that point was something totally different than what it is today. Like this was pre-AI, the business model that we sort of planned on building out, which we actually, you know, have some traction on, is much more of a collaboration platform around Doing things in the command line. And this goes back to sort of, you know, my background, which I don't know if we'll talk about it or not, but I used to be the engineering lead and a principal engineer on Google Sheets and Google Docs. And we thought there would be a way of making sort of collaborative and team workflows work better in the command line. And then when AI came along, and even before ChatGPT, we'd start putting AI features into warp. But that's totally transformed, not just the business model, but what the app actually is at this point. We don't even really, we don't even call it a terminal anymore. It's a, it's really a platform for developing with agents that happens to have a form factor that looks a lot like a terminal and you can still use it as a terminal, but now it's an agentic Development environment. ([Time 0:02:20](https://share.snipd.com/snip/c31a1180-eaf9-49d9-b5ee-dce438947219)) - **Google Docs Lessons Shaped Warp's Build** - Zach draws on his Google Docs/Sheets experience to build for quality and scale even at a startup. - Warp was built in Rust with a custom GPU-accelerated UI before AI reshaped the product. Transcript: Zach Lloyd It was just like, let's build the product that we thought would be most useful or that I thought would be most useful here. And I didn't think it would look like the 40-year terminal. And so it was meant to be something very different. And the business model at that point was something totally different than what it is today. Like this was pre-AI, the business model that we sort of planned on building out, which we actually, you know, have some traction on, is much more of a collaboration platform around Doing things in the command line. And this goes back to sort of, you know, my background, which I don't know if we'll talk about it or not, but I used to be the engineering lead and a principal engineer on Google Sheets and Google Docs. And we thought there would be a way of making sort of collaborative and team workflows work better in the command line. And then when AI came along, and even before ChatGPT, we'd start putting AI features into warp. But that's totally transformed, not just the business model, but what the app actually is at this point. We don't even really, we don't even call it a terminal anymore. It's a, it's really a platform for developing with agents that happens to have a form factor that looks a lot like a terminal and you can still use it as a terminal, but now it's an agentic Development environment. And to call it a terminal creates a set of expectations around what it is and what it does, which don't match what the product actually is today. Speaker 3 I'm really curious about that time at Google and what you learned there and how it influenced the development for Warp. We have so many engineers out there who are dealing with software like from google or from microsoft and they have to fit it into their entire enterprise stack and now ai comes along and It you know it makes things easier to some extent but it also adds some complexities and complications and how ai fits into the overall stack is a big question, especially with the way Linux distributions are, you know, are set up, right? They're very much layered. And so you have all these different APIs, all these different issues. So I'm curious on how that work at Google influence Warbrain is in its current direction. Zach Lloyd Yeah. So when you're working at google and you're building a product like google sheets or google docs like you're building it for scale is one thing and you're building it for quality um you Know it's if you work on any google product it's going to be used at a minimum by millions and more likely by tens hundreds of millions or, or I think Google Docs now has a billion users. And so the type of engineering that you do to build something like that, it's like you have to build it so that it can support that type of load. And so that means it's got to be sort of horizontally scalable on the server side. It means that you have to have a pretty rigorous process around QAing it. It has to work in 40 different languages or more. It has to support bi-directional layout. It has enterprise customers who have requirements around data privacy security and the thing working offline. And so it just creates like, you know, kind of like a heavyweight engineering process, engineering mindset, where you do a lot of like upfront work to make sure the design of the thing Is right before you build it. At work, I think we've like carried over, it's like, you can't really do that at a startup. Like at a startup, the problem is not building for scale so much. The problem is building for like, for speed and wanting to make sure you build something useful that people are going to find value in. We, I think, are different from most startups in that we did take a long-term way of building Warp from the start. So Warp is built in Rust, which is not at all the fastest way to get a product to market. It's built with a custom UI framework. And, you know, we do all the rendering all the way up to, you know, through like it's all GPU accelerated. We have all this shader code, our own UI framework. And so we, you know, we built this all, actually we built it before AI existed. ([Time 0:04:00](https://share.snipd.com/snip/116adacd-65f7-4742-b275-95afa8e7122f)) - **Agents As Commands Fits Developer Flow** - Treating an agent like a terminal command aligns interaction models and leverages developer muscle memory. - Warp maps launching agents to running commands so agents fit naturally into developer workflows. Transcript: Zach Lloyd So that's not actually how we built like the agent interaction warp. The agent interaction and warp actually fits much more with the paradigm of using the terminal, which I think makes a lot of sense. And so the kind of key thing from a product standpoint that we've done is like, we realized that, well, okay, what do you want if you're working with agents as a developer? You want the ability to like prompt them. You want the ability to attach context. You want to see a log of what they're doing. You want to be able to run multiple of them in parallel and you want them to have like the ability to do like tool calls in a way that makes sense for the agent. And so the insight that we had is like, okay, launching an agent is very, very similar, like running a terminal command. And the terminal command can be like a one-off thing that you run and get a response to, or it can be something that's more like a long running process. And so, you know, we just made it so that the primary way you interact with a terminal is no longer just running commands. It's like telling your computer what to do in English or command. And most of the same interface that works that we were already improving for like improving the terminal interaction works super duper well for an agent interaction. ([Time 0:11:06](https://share.snipd.com/snip/6279d4a0-4c06-427d-857a-b35a7396d854)) - **Speak Intent In English** - Use natural language to express intent instead of memorizing complex terminal flags. - Let agents translate English into commands to unlock terminal power faster. Transcript: Zach Lloyd Yeah. So I think AI plus the terminal is like the perfect fit. So the traditional product problem with using the terminal is that you have to remember a gajillion complicated commands. So it's like an infinitely powerful interface in the sense of like, you could have a command that has any number of options and flags and can do anything. But you as the human operator of that command have to speak in terminal language or shell language, whatever you want to call it in order to invoke it. And like, that's annoying. And so the, you know, the terminal has like, traditionally, like you have things like autocomplete and history searched and man pages and grep and all this stuff to like, try to get good At using it. But what AI has done is has made it so you just have to express your intent in English, which is way easier. And the agent can take that intent and walk you through doing a terminal task. And it can do it in multiple steps. It can come up, it like basically knows every command that exists. If it doesn't know commands that are internal to like your organization, it can learn them. ([Time 0:12:46](https://share.snipd.com/snip/a3dbe178-59e5-4a87-a043-b9d2c1d16c0f)) - **From Codex To Agent-First** - Warp progressed from Codex-powered English-to-command to a chat panel and then to full agent-first input. - The team found chat panels insufficient and shifted to agent-as-primary interaction. Transcript: Zach Lloyd And the first AI feature we had was something where you could type the hash key and then you could type a sentence in English and it did English to command translation. And that's like the most basic thing. That's like, kind of like literal translation of your English, like find me all files in this directory matching this string. And it would do like, you know, find dash name or whatever. And that worked. It was cool. But it doesn't raise the abstraction layer. It certainly doesn't turn the terminal into an agent. The next thing that we did was what I think a lot of apps did when ChatGPT came out, which was like we put a chat panel in work, and we made it like easy to like attach a terminal output into The chat panel. And like, that was fine, but that's like very much a bolt on solution and not an agent, in my opinion. Like, uh, you can't really have an agent running in a chat panel. Like an agent needs to be like the primary thing the app is doing. And so we realized we had that experience. I don't know, for like three six months, something like that. ([Time 0:14:39](https://share.snipd.com/snip/9ab5a9cf-1ffa-4a28-aa00-56e609d5a5a0)) - **Multi-Agent Work Is Emerging** - Multi-agent development is early but supported by running agents in separate terminal sessions or panes. - Warp expects future models where agents share context and coordinate as swarms. Transcript: Zach Lloyd So I think we're still early stages of like really, really effective multi-agent development. The way it works in Warp today is that it's just sort of like roughly like one terminal session is a container for an agent. And so you can just like you can run, you know, multiple terminal sessions in a single terminal. You can run multiple agents in Warp just by splitting off new panes or new tabs or new windows. And that's its own agent container, its own conversation context. If you want it to effectively write code on the same code base, you either have to have multiple clones of repo or something like get work trees to do it. And the agents still basically have their own context. Now, I think this is going to change where what you want is something more like agents sharing context and having the ability to coordinate with each other and have like, you know, a swarm Of agents that are working on a task together. You know, you see that a little bit with like some concepts of sub agents and splitting off agents and coordinating them. I think the right paradigm for this is still TBD. Like Google has a sort of protocol around this. I think it's called the, oh God, it's like agent to agent protocol. Yeah. So we're still exploring this, but we will definitely build something here because we're seeing a very common work pattern now where people will, you don't want to just like sit there, Watch one agent do its work. ([Time 0:18:00](https://share.snipd.com/snip/ee648330-a96e-472b-ba29-c15bfe95688a)) - **Sandbox Agents With Containers** - Use containers or remote machines to give agents hermetic sandboxes and consistent toolchains. - Run agents headless in the cloud for CI, cron jobs, or background automation. Transcript: Zach Lloyd So you can like SSH into, you know, either a remote machine or a container. And you can, again, because of how Warp's built, it will basically turn that into a, like what we call a Warpified session. So you'll get something that like has all the capabilities of Warp's agent, but that agent can run inside of like Docker or some remote machine. There's some limitations that we have at the moment that we're fixing around like ability to do like complex coding tasks and have all of the tools available for an agent inside a container. But I think agents plus containers makes a ton of sense for like sandboxing different types of like, especially like development workflows. Speaker 3 Yeah, I was just wondering too, cause you were mentioning, you know, how you're starting to see the emergence of sub-agents for instance, does every agent need its own container? So I think if you, again, people work in different ways. Zach Lloyd I think today, the most common workflow that I see is developers doing local development with multiple agents across multiple repos or Git work trees. I think that in the future, you will see more of like, let me spin up an agent in a container on a cloud. And some people are doing this already, just to be clear, but like, it's not nearly as common. And so if you do that, then you're going to need some sort of like context sharing mechanism across these different containers. If that's, if, if the agents need to share context. I think another thing that you're going to see in that we're also working on a warp is the ability to have the agent decoupled from the app. Meaning like right now in warp, it's very much an interactive agent where you prompt it and then it goes off and does something, but you watch it do it. I think it makes, we have now something that we just launched in our, to our preview community where it's like you can get a headless version of our agent and you can run it on a remote machine. ([Time 0:20:27](https://share.snipd.com/snip/d265831c-ff57-46ce-90b9-48f1894bdae6)) - **Code‑Review Agents As They Work** - Review and guide agent work continuously instead of abandoning results for later review. - Demand explanations and stepwise diffs so you can stand behind code before sending it for human review. Transcript: Zach Lloyd That's like what I see. And that's really kind of like, that just means like individuals can be pushing more PRs. I'll just speak for Warp as a software development team. Everyone's still, as individuals, responsible for the code that they're asking other people on the team to review. They still are getting code reviews from other humans in the exact same way that they've been doing it before. It's just like, when I go to start working on some coding task, I tend to start it by prompting the agent to help me understand how I should do the task. I tend to work with the agent to come up with a plan. And then I tell the agent what I want to do. And then I, I personally review the agent's code before I attach my name to it and ask someone else on my team to review it. That's like the flow that I see today. And the way that, you know, I think that the way to improve that flow and actually the problems with that flow, I don't know if you asked this, but I'll say it is like, if you look at like the Stack Overflow survey of like how people use agents and what the number one complaint is, is that you have agents writing a bunch of code that they don't understand and has subtle bugs, That they're scared to push up for code review, that they're scared to get introduced to a security hole. And so what you actually need to make this workflow more effective right now, at least are tools for comprehending and guiding and making sure you, as the engineer who's working with The agent, can stand behind the code that you're asking someone else on your team to review. That's where I think we're at right now. Alex Williams Yeah, because the naysayers on Hacker News when it comes to this are often, they'll often say, well, it's taken me longer to review this mediocre code that the agent has written for me Than it would have taken me to build it, right? But are you saying they're not doing it right? Zach Lloyd Yeah, I'm saying they're not doing it right. I'm saying they're not doing it right and the and the tools aren't supporting that's the way to the way to do it right which is this was what our release on warp today was all about was like The right way to do it in my opinion is is with today's level of model and intelligence is you need to work really, really closely as the agent goes. And you need to tell the agent how to make the change and verify the agent is making the change in the way that you want it made. And the failure mode today is just telling an agent, I want you to build X feature. Here's some screenshots. I'm going to walk away because what you're going to come back to, even in a really, really strong agent, whether it's warp or cloud code or whatever, is you're going to come back to something Where it's like, this looks kind of right. Maybe it's like when I run the app, it looks kind of right. But I don't understand what it did. I don't, it's not with our coding conventions. I don't understand data flow. And so you then are in this weird position as a developer where like, do I push this up and ask someone to review it? And I think that's a mistake. And so what you need in the tools today are like something that shows you the agent's work, the explanation the agent has at every single step that it goes. And to me, that is a solved problem almost. It looks like code review. It's just you want a human code reviewing the agent as it's writing the code. ([Time 0:28:35](https://share.snipd.com/snip/5768c577-d03f-4fff-bc24-e68e8d04f742)) - **Keep A Live Agent Log And Work View** - Effective agent workflows combine a live log, a prompt/plan pane, and a view of the agent's completed work. - This scaffolding prevents opaque agent outputs and preserves developer control. Transcript: Zach Lloyd Yeah. So my, what I show in the video, what Warp just launched today, is I think generally as a developer, you're going to, when you're working, you're going to want to be looking at two things. You're going to want to be looking at like one sort of like log of what an agent is doing and one place where you're prompting it and asking it to work and get into a plan with it. And then next to that, you're going to want to be looking at like, what's the work the agent has done so far? Right. And why is it done it? And then you're going to notice as the agent is doing work that you either don't understand it or, and you need it to explain to you, or that you see that it's wrong and you need to tell the Agent to do it the right way. And even if you're really, really good at coding, you're going to find that that saves you a tremendous amount of time if you get good at that style of doing it. What you don't want to do, in my opinion, is just have a view that's like just the agent log going and doing things. And you come back at the end and are like, what did it do? Because I think you're going to, it's just a recipe for causing lots of problems. Or slowing you down, just like losing the benefit. ([Time 0:32:31](https://share.snipd.com/snip/e076d037-cbcd-4be2-9c2f-d12e72a2d461)) - **Steer Agents Mid‑Execution** - Steer agents mid-run using persistent input rather than killing and restarting them. - Pause the agent, adjust its task list, then resume to redirect work safely. Transcript: Zach Lloyd We also added the ability so that as the agent is running, you don't have to kill the agent to redirect it. So this is like, we call it like our persistent input. So that's a nice feature that lets you like steer it as it goes. We added something which other tools already support. So we're not new in this, but the ability to like have project-based rule files. So you can have a warp.md file, or you can use agents.md, which is the standards one or cloud Kind of a spec thing. And so lots of stuff like that so that when you're coding in warp, you get this really, really good feedback loop with the agent and keep it on track all the way up to the point where you feel Like this is a this is a change that I understand that's tested that I can like send up to someone to review the steering part is super interesting to me because I've you know I've sat there Alex Williams And I saw the agent just do things I'm like don't do that that should go in circles yeah but then I have to either stop the whole thing and start it again but that's not what you're doing right Zach Lloyd How do you how are you doing that technically to to re-steer the agent in the middle it's pretty cool so the agent um the way that we've built it is it it maintains an internal task list? Which is like a set of steps that it thinks it needs to do to complete whatever your prompt was. And as it's going, it's completing, you know, it's like checking off things on the task list. And so what we do when you steer it is that we temporarily pause it and have it adjust the task list in light of the new instruction and then go back to completing the task. And so that's like, you know, it's a very, it's like, it knows what it's doing at some higher level than just that initial prompt and what it's done. ([Time 0:35:18](https://share.snipd.com/snip/41e4d1c4-820a-4aea-b02b-215deefee1d4)) - **Persist Agent Context Between Sessions** - Terminals and agent conversations both carry state, so Warp persists agent context across restarts. - Warp rebuilds conversation context from saved history and compacts it when necessary. Transcript: Zach Lloyd Complication around this. So typically a terminal session does have state. And so we've always had issues with this where it's like if someone sets like an environment variable or whatever, that sets it for the lifetime of the terminal session, Right. And then agent conversations also kind of have state. And so, you know, what we're, what we're trying to do is find a way so that if you are like doing some amount of work right now and you have to like step away or quit warp or want to like pick Up that work someplace else you can do it right now we do that by sort of persisting as much as we can and like a local database essentially so sqlite where if you quit warp and restart it We try to get you back to the state uh that you were in it's imperfect because like a terminal session is not a serializable thing. Essentially, it's like you can't serialize and then bring it back. But an agent conversation basically is. And so all of the LLM APIs are totally stateless. And so what we do is, you know, if you quit warp and reopen it, we basically can rebuild exactly what your context was up to that point, modulo any things that we've had to do to compact the Context if it succeeded the context window, that type of thing. ([Time 0:37:50](https://share.snipd.com/snip/98e492ec-3e09-4c5c-9a91-b34bd69a2bb2)) - **Pick Models By Task And Quantified Eval** - Warp chooses default models by measured performance and uses different models for tasks needing different latency or reasoning. - Zach describes a quantified approach combining benchmarks, internal evals, and qualitative preview testing. Transcript: Zach Lloyd This is something we're constantly tweaking. So the product philosophy is like, just give users the most powerful model by default, whatever that is today. And that's changing very frequently. When a new model comes out and it's something that we want to contemplate either putting in warp or making the default in warp, because most people will keep it as the default, about 20% Of people will switch it and we let people pick a model. We basically run all the public benchmarks against it with Warp's harness and then we run a whole set of internal evals that we've made and we basically try and do it like a quantified Approach. We'll also do some stuff just like where we use it internally and then we put it on our preview build and get qualitative feedback as well. But my sense is it's pretty measurable, the quality of these different models at this point. So we just try to give the best one that we can. We also are using different... Sorry, go ahead. Alex Williams No, no, no. Go ahead. Go ahead. Zach Lloyd I'd say we also use different models for different things. So like we have one model which drives like the main agent, but there's a bunch of different features in Warp that are LLM powered where it makes more sense to use either like a slower but Like higher reasoning model, like maybe at the moment that you're coming up with a plan or like a faster lower latency model. Like we have this feature that we just launched. ([Time 0:39:30](https://share.snipd.com/snip/14715d7d-6284-476d-8606-6e421d4dbced)) - **Horseback Launch For Attention** - Warp launched with a tongue-in-cheek Western ad titled 'Code on Warp' and Zach literally rode a horse in the shoot. - The stunt aimed to stand out amid many conventional product launches. Transcript: Zach Lloyd So the theme of the launch, it's really stupid. You got to put your hat on. Alex Williams You got to put your hat on. I feel bad. I should have a hat on at this point. I don't any. Zach Lloyd The theme of the launch is Code on Warp, which is cow, C-O And we were talking about like, what would be, just like, what would be like funny, honestly, or what would be like memorable? Because like when you look at, I don't know every other launch for one of our competitors we've done this too it's usually like some tech person in an office like you know sitting on like A you know set of stairs or like a nice chair like explaining what their feet like what the new features are and we're like i don't know i thought it'd be kind of fun to to do it to just do it On a horse and so that was like that was where like people probably noticed that first of all and there's so many uh there's so many releases in our space like we're like what what would People notice and think is think is like memorable uh and and so then we're like you know why not also make a Western ad? So this is like where we're at. What was the horse's name? Cody? It was not Cody. What the heck was it? It was like Stringer or something like that. And you can see me on the horse. I'm not loving being on the horse. I'm not riding horses all the time. ([Time 0:41:34](https://share.snipd.com/snip/bce3ea2c-ed2a-4be1-86d8-540847afb5cb)) - **AI Made Warp Monetizable** - AI transformed Warp's monetization by delivering clear, time‑saving developer value that users will pay for. - Zach reports fast revenue growth and customers on high-tier plans who exceed limits happily. Transcript: Zach Lloyd I think that there was value in what we were building before, just from the extent of it being a very, very useful product for people. But it was useful in terms of like, this is a much nicer app. I think it was going to be hard to monetize just based on that. But when you add in, you know, the agent functionality and some of the collaboration functionality, honestly, it's like you have a thing where it's like, we get people writing us and They'll be like, hey, this thing that would have taken me like two weeks to do and I was hating my life trying to figure out how to do it, or figured out how to do it for me in like an hour. And so that's like a different type of value than like what you could provide by just making the interface of the terminal better. And so, yeah, it's really transformed. Like people will pay a lot for that, obviously. I think even what we charge and not just unique to us, like compared to the value people get out of it is like a crazy good deal for, you know, how much more it can help you do. So I do think it's unlocked a ton of business opportunity for us. ([Time 0:44:39](https://share.snipd.com/snip/53bfb55c-2f7c-43b1-b129-f5f71b8badcd)) - **Start Tasks With Structured Prompts** - Start coding tasks by prompting an agent and document prompts and failures for team learning. - Avoid outcome-only prompts; tell the agent how to build the feature stepwise. Transcript: Zach Lloyd Um, we keep evolving it, but like the gist of it is we ask everyone, every engineer on the team to start every coding task with a prompt in warp. We don't enforce that you finish the coding task with a prompt. Um, if you can't finish it with a prompt, we ask that you, you know, share your prompt, share what you try to do. What went wrong? Was there a problem with the product that we could fix? Is there a way that it could have been prompted better? We have specific guidelines on how you prompt, which is that you should prompt by telling the agent how to build the feature. And we specifically avoid what I call outcome-based prompting, where it's just like, you know, you tell, you just describe from the user perspective what you want built and have the Agent do it because it's too likely that you're not going to understand what you're doing at this point. And so we have all of these guidelines, but, and again, I wish we could measure. There are certain cases where it's super duper clear that it's adding a lot of value. ([Time 0:50:20](https://share.snipd.com/snip/b9646d98-ccd3-43da-b44d-79116b9f54a8))