Cursor CLI
The Cursor CLI lets you interact with AI agents directly from your terminal to write, review, and modify code—whether you prefer an interactive terminal interface or automation for scripts and CI.
Terms in this video
Transcript
Uh, thank you all for joining today. Uh, today we're going to be covering Cursor CLI. Um, with me I have Tim French, one of our all-star field engineers here who's going to be walking everyone through the presentation, some details, uh, and really hoping we get the most out of today's session. Um, for introduction's sake, I'm Trevor. I'm an account executive here at Cursor, and mostly I'm here to help with Q&A and manage the session. Uh, real brains behind the
operation here is Tim. So, I will go ahead and hand it over to him. Uh, and if you have any questions, feel free to just pop them in the chat, and then if whatever we don't get to, we'll try and address at the end of the session. So, Tim, over to you. Awesome. Thank you, Trevor. Uh, like we both have said now, great to see the global audience. Um, thank you so much for carving out an hour of your day to spend with us and to learn more about the Cursor CLI. Um, like Trevor said, uh, my name is Tim.
I'm on the field engineering team here at Cursor, and so my job is to do sessions like these to walk through the Cursor product, uh, answer questions, show off new features, um, and then get feedback from all of you cuz we want to make sure that we are building the types of things that our users around the world are going to, uh, going to take you or advantage of. I am going to pull up my screen share, and we're going to jump right in to uh, a session here on, I think, one of the much-loved
but, um, in some way in some ways least well-known, uh, elements of the Cursor platform, which is our CLI. So, I'm going to do a quick check here. Trevor, can you see should have a browser on the left and my terminals here on the right. You look great. Brilliant. [snorts] Um, very cool. So, yeah, today's session is on the Cursor CLI.
Uh, like I was just saying, one of the much-loved but, um, kind of in in some respects least well-known about, uh, elements of the Cursor platform. One thing that I'm going to say to preface from the beginning is that, uh, you know, there's this perception, I think, in some corners that Cursor is an IDE or more of a code-centric way of, uh, of using AI-assisted coding tools. Um, and obviously that was true, you know, a year ago, two years ago, uh, but one thing that was essential to our mission at Cursor is to provide the
best developer experience across all of the different surfaces uh, that developers want to be working in. And so, we have invested heavily in working through, uh, building out, um, you know, the the Cursor desktop app, you know, IDE. There's a new actually instant instance of Cursor, Cursor 3, uh, that we'll spend a little bit of time in here today, um, at maybe towards the the end of the session, and then a whole cloud ecosystem in addition to the
CLI, which is where we're going to spend the bulk of our time here today. So, I I I preface all of this with, um, the CLI is one of several, uh, Cursor surfaces, and we are aiming to provide the best, most seamless developer experience across all of them. So, excited to dive here into the CLI, um, today. Um, you can see here on the left-hand side, uh, I've got open running locally um, an instance of Grafana. We like to to do different demos and workshops
using this repository. It's a great open-source, uh, repository that many of you may be familiar with for observability. Um, it's it's a it's a pretty large code base, so it's good uh, representation of what it's like to work on a, uh, production, uh, environment here in Cursor. And then on the right, I've got a few different shells, which we'll be navigating through, um, as we as we get going. I I've already seen, I think, a couple of like hands raised and questions, which is which is
great. Um, Trevor, I know that you're going to be supervising the chat. One thing that I'll just say, uh, we should have a Q&A portion of the Zoom open, and if you can put your questions in the in the Q&A as opposed to the chat, it's a bit easier for us to kind of maintain and and track there. So, please do like throw your questions in the Q&A. Uh, Trevor will be answering them as we go, and then I'm going to have specific breakpoints to, um, to jump in there as well and answer as
different themes emerge. Um, all right. So, starting from, you know, Cursor CLI kind of 101, uh, level. Um, I've got a like I said, a few different shells here on the right. Couple of them have actually already instantiated, uh, a Cursor agent. And here in the bottom right, uh, I'm going to just instantiate another one by typing, uh, agent. And so, once you have installed the Cursor CLI on your machine, you can come into any terminal, any shell, type in agent,
and that's going to open up, uh, the Cursor agent, as you can see here. Now, for those of you who are familiar with Cursor, and maybe familiar with the Cursor IDE or Cursor 3, just working in a in a different kind of surface, one thing that you're probably used to is, you know, working with all of the different agent modes, right? So, um, I want to be in ask mode to just talk to my code base. I want to shift into planning mode to build a plan. I want to
actually shift into agent mode to execute, uh, a plan that maybe I've I've built. I also want to have the same type of model optionality that Cursor is famous for, so that I can shift back and forth between different models, and then use all of the same tools for customizing my agents, rules, skills, hooks, sub-agents, etc. Uh, and so, we're going to just get a sense a sense of in the CLI here having access to that entire, um, you know, ecosystem of Cursor tooling, uh, here, no matter the surface that
you're building it so. Um, let's start here in the top and just get, again, kind of a 101 level of familiarity with our CLI. So, the first thing I'm going to do is I'm going to open with a slash command, uh, and this is going to prompt me with a different with a menu of all of these different types of commands that I can scroll through here to get a sense of like how how can I actually start working, um, in the the Cursor CLI. What tools do I have access to? What skills, what commands are are built
in? What MCPs do I have access to? And one of the things that, um, you know, we'll start with here at the very very beginning is just like let's do something pretty basic. Let's switch from the model that I'm currently in, which I think is a Codex 53 model, uh, a very very, uh, powerful model, and search and and switch into something like Composer 2 fast. So, or if I wanted to go, uh, you know, switch into a model and then look for Opus, I I can do that.
So, the same type of model flexibility that you have in the Cursor desktop, you have in the the Cursor CLI. Let me actually go back to, um, oops. Let's do Codex 53, uh, which is one of my daily drivers. Um, so, again, just a forward slash command giving you access to all of the different models that you have. Another thing that I'm going to highlight, uh, here just as we get going, you know, auto run mode, right now I have it off, um, and I would like to, let's see, turn
that on so that we can actually just have, um, a pretty frictionless, uh, setup for our demonstration today. You can also come into the sandbox and customize your different settings. So, that's another thing that I would recommend. Um, as with everything in Cursor, you can configure the types of permissions, the types of, um, uh, you know, sort of rules and guardrails that you want to make sure that you're going to be running your agents, uh, with as as, you know, little
friction as possible, but with as, um, as much, uh, kind of flexibility and and seamlessness because we we definitely talk to developers a lot who say, "Hey, we want sensible defaults, but we don't want to be interrupted all the time as we're going, uh, constantly being asked for, um, approvals and and something like that." So, here in the, uh, my initial agent window that I've got here open, uh, we just looked at the forward slash command to change models, look at
different skills that we have access to. We'll spend a lot more time in that menu. The next thing I'm going to do is I'm just going to shift tab, and you can see here, uh, I'm able to shift back and forth between all of the different agent modes that Cursor supports. I'm going to start in ask mode, uh, a read-only mode, and so no code edits are going to be happening at this time. Just going to talk to the code base and say, "Hey, give me an overview of the, uh, Grafana
code base, and specifically the status of the open feature, uh, migration." So, I'm going to spin off that agent, which is going to just, again, it's in ask mode, it's going to do some research, uh, for me, and, um, uh, we'll see what it comes back with here soon. Next, I'm going to go to another, uh, another terminal that I've got right below it, and I am going to, um, see, let's ask our agent to pull in any tickets, uh, assigned to me using the Atlassian MCP. Uh, so, I have
configured, uh, you know, and and you can do this in the CLI just as you can in, uh, other Cursor surfaces, you know, extend your environment to to plug into different MCPs, different, um, different plugins, different integrations that you want to to use. So, that's going to get churning for me there as well. And then the final thing that I'm going to do just as we get started here in this bottom right, um, terminal that I have, is I am going to
just open with a little ampersand, so you can see ampersand, we've got a nice little, uh, purple, uh, color palette to highlight the the the, um, the kind of different mode here. And using that ampersand is going to, uh, let me spin off a cloud agent. So, um, this cloud agent is, for those of you who uh, are familiar or maybe not familiar with this this new cloud programming paradigm that cursor has invested heavily in over the past several months especially. These are
agents that are basically going to run asynchronously in the background and just as you can you know start a cloud agent from cursor.com/agents or from or or from the the IDE or the desktop app, you can invoke and spin up cloud agents here as well, which I've done with that ampersand command. So, I'm going to say hey, change the um >> [clears throat] >> theme toggle to use an icon. [clears throat] Also, add a few more front-end themes and show me a demo of your work. Um so,
this is going to again kind of pump off to a cloud agent. It's going to open up its own branch and now it's good like if I wanted to for this particular cloud agent that's going to be running asynchronously in the background, I could close my laptop and then I could come back and open it up an hour later and see what it's going to be going to be doing. So, we'll be able to check on the progress of that particular agent here at the end of the session. Now, let's
see what our top two agents have done. Looks like the original prompt still churning, still researching, which is is great. My middle prompt here, oops, sorry about that. It's pulled in a bunch of different tickets from Jira that are assigned to me. Um categorize them by in progress to do the complexity. I know it's a little bit hard to see here. Let me expand this window. It'll make it maybe a little bit nicer to view. Um Cool. So, I can go through and I can
see the tickets that have been assigned to me. And um let's choose one to work on. So, oops There we go. Make our windows a little bit more flexible. So, I'm going to shift here into plan mode and I'm going to say make a plan to tackle con eight, which is one of those tickets I think related to like an an observability for some of the different themes that we've got in this code base.
So, now I've shifted into plan mode. It's going to go ahead and build a plan. And one thing that I'll continue to highlight through this session is just a parity between the the work that you can do with the CLI and the work that you can do in the cursor desktop app. So, there's definitely a lot of back and forth that we can do here, which is is really nice. One of the questions that I often get is hey like when should I use the the CLI versus when should I use the desktop
app? I think that it you know for me it's largely a matter of preference. Um you know, sometimes I and I got my start with agentic coding you know in in the terminal. So, sometimes I like to to kind of have that interface. You can see I've got a bunch of different shells here and I can just toggle back and forth to run multiple agents in parallel. And so I think a lot of it is going to be your own personal preference for the types of environment that you want to build in because there is
going to be a lot of parity between the work that you can do in the CLI versus in the desktop app or other elements of the the cursor ecosystem. >> [clears throat] >> Um one thing that I'll also say we might get to to see this a little bit towards the end is you can run the the cursor agent in the CLI headlessly. So, if I were to do something like you know agent and just to fix this dash P flag and then give it a prompt, it's just going to not run interactively and this is particularly useful for
different like scripts that you want to invoke the agent in or like a CID CICD pipeline, things of of that nature. Um I'm also going to add here just because I can run multiple agents in parallel and the the agent here we've got up here is is planning. Uh which will be >> one quick simple question for you here I've got in the chat I figured I'd call out while we're on the screen. It looks There was one question around you know how do you get these three different
terminal panels? How do you set that up? Yeah, good question. So, I've done that here. I'm I'm using Ghosty, but you can use iTerm, you can use Warp, you can use whatever kind of your preferred terminal is. And I have you know just gone through and like split the different windows here. So, you know you can do that with let's see um There. I just opened up three more with a couple of commands. Um So, that's in in Ghosty that's that's command D on on my Mac. But you should be able to depending upon
your terminal of choice or your your your TUI of choice be able to set up multiple different commands. And now that I've done that, let's actually just spin up. Now we'll have six different uh six different cursor agents working for us. Um Which will be which will be fun. Now, I'm going to go here to my lower left agent. I'm also going to ask to to make another feature here. So, because it's a a slightly bigger feature, I'm going to shift back to plan mode. For those of you who have not attended
you know our best practice sessions or our cursor workshop on model selection and token efficiency, which we run pretty pretty regularly. So, I definitely come back to cursor.com/workshops and see an upcoming session on that topic. We definitely recommend using plan mode anytime you've got a task of medium or higher complexity. And we we recommend using a state-of-the-art frontier model anytime you're in plan mode. So, right now, you know, I'm in I'm using Codex 53 extra high, which is is is exactly in
that category of a state-of-the-art frontier model, which is great for planning. I like to think of the plan mode capability in cursor as like a prompt augmenter where anytime we feed it to you know feed a prompt into plan mode, it's not going to write any code for us yet, but it's going to do a bunch of research. It's going to build a really detailed specification. And then we can shift into a different model to actually go ahead and and execute
that plan. Let me actually here cuz we've got a couple of plans that have already been churning through Codex 53. I'm going to come down to actually use Opus 46, another great frontier model for planning. Say hey, make a plan to let's say build a new labs feature um in the drop-down below administration.
This feature should show all the feature flags that we expose. So, now I'm going to that we expose. So, now I'm going to have a couple of different couple different agents with a couple of different models going ahead and building plans that we will be able to review. Come back up here to our top agent and actually you can see here my context window 65% it's getting a little bit full. Again, not this is going to be um relevant no matter the surface that you're working in, be that the CLI or
the desktop app or or anywhere else. But you also want to be mindful of managing your context. And so, I can see that now I've got to you know I'm closing in on 70% of my context window being filled up. And the the closer that gets to 100%, the more and more you'll see the model performance start to degrade. So, this is actually a good opportunity for me to come in and compress the or summarize the the context window for this particular agent. So, it's going to go ahead and and compress and summarize exactly what
it's doing to free up a little bit more context so I don't see that that degradation. And it's helpful here in the CLI that we're going to show you exactly kind of what your context window consumption looks like across all of your your agents. Um Now that I've got another window open, I'm going to say like shift into ask mode here in the top right, give me a status update on the React router migration, which is another type of migration that I know
that this code base is undertaking. So, I'm just going to shift into ask mode, get a status update there. And this is where I think working in the CLI again, I don't want to keep repeating myself because everything that we're doing here in the CLI we can also do in the cursor desktop app. So, you can really go back and forth depending on your preferred surface.
But one thing that I'll note is you know, one of my the things that I think is most fun about working in this you know this this terminal interface that we've got open is right now you know we we feel like we are truly managing a a team or a swarm of of different agents. We're running a bunch of things in parallel across a bunch of different work cycles. And So, it's it's I've heard some people describe it as like playing a video game with you with your code base, which I think is definitely in some respects
accurate. I'm going to pause one more time. I think 20 minutes in it's a good good break point. Trevor, I don't know if there's any other initial questions that have been emerging or themes that you're seeing in the chat that I can I can talk through right now. There is one one that's come up probably three or four times and I figured we could kind of answer it all at the same time what and you started to allude to some of this as well as you were just
wrapping up there is what are the main differences from a capability standpoint between cursor CLI and our other interfaces? So whether it's the IDE or through the browser like what are there any limitations in the CLI that people should be aware of or are there any recommendations as to what interface to work in at any given time for any given reason? Yeah, great great question. Um, I I spoke a little bit about this a few minutes ago but I think
it bears repeating. Um So for for me personally a lot of it is is kind of personal preference. You know, and especially because we've been investing so heavily in building parity across all of the different surfaces like you know, as cursor builds out our our developer platform we do not want to have a fragmented experience where you know, some features are only in the desktop some features are only available in the CLI. That would be confusing for cursors users.
I don't think it would be a good developer experience and so there's a lot of active work being done literally as we speak and actually that's why just as a quick plug this session I think is very well timed because we we have recently staffed up our our team that's dedicated to working on the CLI and building out new features. And so if there is any feedback if there's any gaps that you yourself in your workflow are noticing we'd love to hear them. So so please you know, share them with
Trevor and and me here today but also reach out to your account representatives or our user operations team to get that feedback in front of us. Um Okay, so that that plug aside the the question you know, are there any gaps there's not really and again because of a lot of this work that we're doing to make sure that there's a consistent experience across every surface. I'd say that you know, one thing I know I mentioned this a few minutes ago.
Um one thing that the CLI is particularly good for is um you know, you because you can run it headlessly you know, you can invoke that agent command in in like a a script or you know, for in a in like a CICD pipeline. So that's a really good use case for you know, this like this this a headless CLI.
Um I think another great use case for the CLI has been what we're looking at right now, which is running all of these agents in parallel. So I've got six different agent windows open in in front of us and until recently I I think that managing agents in a terminal like a a true kind of team of agents was a bit easier to do here in the terminal. We will see towards the end of the session. I'll actually switch over to a a different cursor surface that uh
you can just as easily now I can think run parallel agents in cursor three. So we'll see that here in a bit. Um which yeah, kind of breaks down the divide. Go ahead Trevor. Yeah, Tim one final and this is just cuz I think we're on the screen see if we can answer this one quickly. There's a question are these tabs team muxed? Is there a resume session option? There is a resume session option. So if I let's see here. Yeah, so if I wanted to resume you know, a particular
session from you know, a previous iteration. I can definitely do that. I [clears throat] do not currently have like these sessions right now are not team muxed but I've done that before and and certainly can support that. So shouldn't shouldn't be any issues there. Um Cool. Well, Trevor I'll I'll have a couple more break points and as you continue to see themes emerge in the Q&A definitely interject. We want to make this as back and forth as possible. We
can see here that we've actually gotten some plans written, which is great. So I can go through I can read the plans. If I want to have a back and forth with the agent to to say hey like you know, update the plan here you know, change this add it add another to do delete. I I can do so in the interest of our time right here for this this con eight ticket. Let's just go ahead and build it and just for just for fun. So I'll build this one locally and down here I'll build this one in the cloud. So again, just
[snorts] showing you the the flexibility that you have from the CLI to work in a couple of different parts of the cursor ecosystem. So here we've I mean we built the plan one with codex 53 one with Opus 46. So we're getting to see a lot of the the great features of core cursor.
And here we're building one locally and here we're going to build a or we're going to spin spin this off to the the cloud. Let's see here. Am I getting an error or should be? No, actually it looks like it's building. So it should be spinning off in the cloud and we can check that um that here in a bit. Cool.
I'd mentioned at the beginning you know, that there's a few different cursor surfaces and the CLI is where we spent all of our time. It's obviously the core focus of today's session. Um but when I shift over here to another desktop that I've got open and what we're looking at now is the IntelliJ IDE. So I'm in a I'm not in a cursor IDE. I'm not in a cursor CLI yet.
Um but for those who have seen it this is this will be maybe familiar for those who haven't. I think it's really great to be aware of cuz it's yet another cursor surface and it's actually you know, it's related to the CLI is being able to bring cursor with you into other development environments. And so IntelliJ for example very popular amongst Java developers. There's a lot of great built-in tooling that IntelliJ has for Java specifically um to run and test and build Java applications. And for a long time you
know, we got feedback of hey like we want to have all of that kind of native Java IntelliJ tooling but we'd love to work with cursors agent inside of it and now with this new it's called ACP agent client protocol which is built kind of around the the CLI. You can do that you can do that now. So again, what we're looking at here on my screen now is you know, we we've been in just my my terminal app and we've still got these agents running. So we'll check in
on those shortly. But now I'm in IntelliJ. So I'm in a in in IDE that is probably going to be pretty familiar to Java devs and here on the right in this AI chat I pulled out in the AI chat. I've configured cursor through the ACP registry and now I can work with cursor you know, just as I could in the desktop app or in the CLI that we were just looking at. Um say give me an overview of this code base. So it's going to start churning ahead on some work here. I've also pulled out here at the bottom
of my IntelliJ IDE. I've pulled out a terminal here and just as we could on the previous desktop. I can type agent and this is going to open the cursor CLI that we were just looking at. So now it we're seeing a lot of different ways a lot of different places in which I can bring cursor wherever I want to bring it. I can bring that you know sort of in this chat interface via ACP into any of the JetBrains IDEs. I've opened up another shell here at the bottom
and here I'm going to say oops, I'm going to use that same kind of slash command. Um actually no, let's let's make a another plan and say make a plan to improve the test coverage in this application for the Java services specifically. So right now we're working in kind of a demo repository that I have. It simulates an e-commerce type of environment or or an e-commerce application.
It's a polyglot repo. So there's a bunch of different languages but I want to say hey like I'm in IntelliJ where I've got access to all that Java specific tooling. I'm going to open up my cursor CLI here and get to work on improving test coverage for our backend Java services. So um Yeah, I I think this is is really helpful to highlight because it's just to to to keep saying it a yet another cursor surface that you can work with your cursor agents in. You have
access to the same set of tools here in the ACP environment where I can shift between different modes. So I can ask I can plan I can execute and I have access to the same type of model flexibility to go back and forth between all of the different models that I want to be using in cursor two. So all of those same kinds of benefits that you're getting in the core cursor IDE that you're probably familiar with. You're getting here in the CLI in the ACP in whatever kind of
environment you want to to build in. So I've asked for a summary of the code base and our our agent here is churning ahead. I've also asked for a plan here to improve our test coverage and this is great. So, it's specifying a few different services here where we have incomplete test coverage. It's highlighting the number of new tests that we want to build.
Um It's finding specific specific methods in catalogs, I guess, a catalog service that we're going to improve test coverage in. As is always the case, if I want to go back and forth with my agent to build or, you know, make updates to this plan, I can certainly do that. I kind of like what it's put together and that was a pretty straightforward prompt to to build our build out our test coverage. So, now we're going to go ahead and and do that.
So, what one of the things that, um, you know, I love about this flexibility and and the CLI specifically is here in the space of 30 minutes, you know, we've got five or six agents here that are implementing new features in the Grafana repo. A few of those I've spun out to the cloud, so we'll be able to check in on the progress that our cloud or background agents are making.
Um, and I've also opened up another project and, you know, so now we're running, I think in total, seven or eight different agents in in parallel, [clears throat] which is which is quite fun. Um Hey, Tim. We've got a couple of, maybe questions we can chime in here with. On the kind of terminal interface, are all these agents working on the same branch? Are there recommended techniques to have these different agents operate in different branches on the same repo? Great question. So, we have support for,
let me come actually back into our terminal interface. So, if I do slash and slash work tree, you can create, and I think this is a best practice when you're working on the same repository across multiple different agents or multiple different terminal sessions here, you can kind of have each of them working in their own isolated work tree. So, they've got their If you're familiar with the concept of a Git work tree, it's basically, um, kind of like it's own isolated copy of a
repository. You're getting even more isolation than just like a branch, which you might have to resolve merge conflicts down the road. So, I'd recommend, you know, using this work tree command, having a bunch of different sessions When when you're working on like the same parts of the code base and there could be collisions, then using this this kind of built-in support for work trees can be quite helpful. So, yeah.
That would be the recommendation there. One other question while we're at a break here, can you share some headless cursor CLI invocation examples? Sure. And actually, Trevor, I might ask you or we can do this when we get towards the end of the session. There are some great examples of, um, headless invocations in our documentation. So, if we go to cursor.com/docs, search for like headless is the the tab under the CLI section. There's some great
examples. I I will show you right here, too. While while Trevor and I pull that up and we'll we'll share that here towards the end of the session. Um, oops. Actually, let me clear the session here. So, if I were to type say something like agent {dash} P, so {dash} P is going to be that flag where we're not going to run in interactive mode, but then I wanted to say like fix the kind of flaky test suite or, you know, if I'm plugging this into a CI pipeline, you know, whatever kind of command I
want to run there. And then but this {dash} P flag is going to basically be the way to to run it kind of headlessly, so it's not going to run interactively. And, uh, but yeah, more more good examples, um, in our our documentation. >> [sighs and gasps] >> Um Cool. So, let's keep plugging ahead here. I'm actually going to go back into interactive mode because I want to do a couple of different things just to continue to highlight the parity in the
things that you can do in the CLI specifically. For those who have been working with cursor for a while, you have probably invested a decent amount of time in customizing the behavior of your cursor agents. So, this could be building rules, building skills, building sub agents.
And the question that we often get is like, can we do the same type of thing if we're working in the CLI? And the the the answer is absolutely yes. So, once again, I'll invoke this forward slash and I'm going to say, hey, like create a skill, create a rule, create a hook, create a sub agent. So, you've got these built-in commands in, you know, in the in the cursor desktop app or here in the CLI. And, you know, I can create a sub agent for, um, let's say uh
create a security auditor sub agent that runs every time we build a new feature or patch a bug to scan for vulnerabilities. I'm going to shift into play I'm going to shift out of ask mode so that we're actually able to go and do this. So, I can create a a sub agent there.
Coming into another window, let's create a skill. In this Grafana repo, I know that there's some like some migrations happening. Uh So, let's create a skill for, um, let's say uh completing >> [snorts] >> open feature migrations from the legacy feature flagging setup. Look at our past chats and, uh, current in progress examples um, of how this migration is happening.
I could probably clean up that prompt a little bit, but just for the sake of our demo, what we're doing right now is again we're using these kind of built-in commands to create a special sub agent to create a a special skill. Just as you could in the cursor desktop, you can do the exact same thing here. Um, and then down here in my very bottom window, I'll try and make this a little bit bigger here at the bottom. Just as I've been invoking with these slash commands, a
lot of the built-in options that that cursor has, we'll see our like once our skills are have have finished building out or once our sub agent definition, so that security researcher is is there, I can say use this to scan our recent open feature migrations for any bugs. So, um See, use the task tool with sub agent type equals security. Yeah, okay. So, to scan for our most recent um open feature migrations. So, that's going to start to use a sub
agent to go ahead and do some security-focused work in the bottom left here. Uh, oh, I think that's our cloud agent that we're should still be be building up in the cloud. Um, so let me come to a different chat and let me actually just Oops. Let me make sure that I'm not getting some. There we go. I'm going to compress just cuz I see this is getting towards 60% almost of our context window being full. So, I a little bit more room to run, but because I have a a different
type of task in mind, we'll compress that to open up a little bit more context for us. Um, and what I'm going to do here is I'm going to create a skill to do tickets from from Jira. So, earlier in the session, if we can remember, you know, maybe 30 or so minutes ago, one of the initial agents that we had kicked off, I had asked an agent to go and scan or to use the the Jira the Atlassian MCP to pull in a bunch of tickets. And, you know, you can imagine in your the course of a development work workflow, you might be
doing that over and over and over and over. And so, what I'm going to do here is I'm going to create a skill. It's like a reusable type of workflow to actually just like help help me do this in a more streamlined kind of way. So, hopefully this is going to create a do ticket skill that we can then just go and reference, um, and streamline the process of pulling in a Jira ticket and then going and and implementing it. The bottom right, I'm being prompted. I'll do shift tab to run
everything for right now. So, here we can see that we're running a sub agent. Um and so it's really really nice to be able to kind of have a more seamless handoff between working with asynchronous agents in the cloud, working uh on things more more locally here.
Um and then the other thing that I'll mention and and show off here is uh you still have kind of the full suite of integrated cursor tooling. Um so you have your terminal and if I want to run side by side just as we've been doing all all day so far, I can type in agent and I've got my cursor agent here running in the terminal. I've got the integrated browser that I can look at. Let me ask an agent here to go ahead and debug why my localhost isn't running. And then if I do need or want to look at the
specific code, I've got my file tree here um and so that I can go in and, you know, look at any particular uh file um if and when I I need to. So even though it's it's less of a this is more of an agent forward surface, um let me expand this for you, too. Even though this is more of an agent forward surface, um there are still going to be times when you might need or want to go look at at the code and um all of that is integrated here into cursor cursor 3.
Um now another thing that uh I'll sort of highlight and this is a release that is brand new as of this week. I think we released it on Monday, which is um uh cursor 3.1. So that's the the version that I'm on right now. And one of the big features in 3.1 is the ability to tile your uh your surface. So I'm going to come here and I'm going to split and I'm going to split and um me in my original window here split one more time. So this is kind of similar to what we were just doing in
the terminal, right? We had a bunch of different interfaces, a bunch of different or a bunch of different shells rather, um where I have agents working in all of them. And now in cursor 3, I've got kind of the same thing. So um you know, at the beginning of the session, I I was saying uh several times and we even got a few questions in the chat, you know, when should I use one surface versus another and what features are available in, you know, the CLI that aren't in the, you know, desktop app or vice versa.
And I mentioned that, you know, we want to have parity across all these different surfaces. We want um you know, to be able to work with parallel agents, multiple agents, uh you know, teams and swarms no matter the surface that you're doing. So just as we were doing that in our terminal, now we can kind of do the same thing here in in cursor 3. So I'd highly recommend checking out cursor 3 if you haven't cuz just as we've been doing, you know, I can shift into all my different modes. I can say, you know,
give me uh an update on the Jira backlog similar to what we've been asking in other agent windows. Um I can say, "Hey, here, you know, uh give me an update on the labs feature we were building out." Uh and so now I can just run agents in all these different tiles um just as I was in uh in in the terminal. So, um we're covering this kind of very very quickly um at the end of our our session, but uh I did want to uh obviously we're not here in spending too much time in Cursor 3 because this is a CLI focus session, but
I just wanted to to highlight that again, no matter the surface that you're using, um as developers are working more and more in this kind of parallelized, you know, working with many agents at a time type of universe, um making that very very easy to do inside of Cursor, no matter the surface, is something that we are very very mindful of.
Um the last thing that I want to do before we kind of open it up to questions is let's go back. I I mentioned, you know, we'd started off a couple of cloud agents at the beginning of the session, and I want to just go and see how they're doing. So, let's go and uh I'm in my browser now. I'm at cursor.com/agents. Again, this is not a cloud-agent focused uh session, so there's there's so much more that we could talk about um with with cloud agents, um but let's see how one of the one of the really cool
things about cloud agents is that they'll return they'll build these artifacts for you. So, um it'll go ahead it's got its own virtual machine and uh we can kind of see uh the work that the agent has gone and and done. Um and there's a again a really tight handoff that we saw where we could spin off cloud agents from the CLI, which we did at the beginning to kind of see the work that it had done. This is one that I kicked off yesterday um with a similar type of prompt. It looks like our original one. Not sure
the the status update there, but um yeah, uh the last thing I'll say and then we'll open it up for questions, um cloud agents again, I I would definitely recommend finding a workshop um or or talking to your Cursor team about uh cloud agents specifically cuz there's just a a really uh exciting new uh programming paradigm that they unlock, but they're really really good at working on kind of long-running tasks. You can see that this one ran for an hour and a half, um and uh
there's yeah, there's just a lot of uh really great use cases for cloud agents specifically when you have, you know, big migrations or net new feature builds and you want something to go off and you want an agent to go off and work on your behalf for hours or even days at a time.
Um and so I definitely recommend checking that out and spinning them off from the the CLI as we have been looking at previously. Uh with that, I'm going to wrap and I'm going to so I'll stop my share. Um Thanks for listening to me for the last 50 minutes. Uh I hope this was helpful and then yeah, in the last few minutes that we have, if there are any questions that Trevor and I can answer, uh we we would love to. Yeah, maybe I'm going to continue I've
been I've been sorry to everyone if it's taking me a while to get to your question. There are a lot of them in the chat. I'm doing my best to pop them in here. Um maybe we can answer a couple live and I'll keep working on the side at the same time. Um quick and easy one, is there a quick way to jump between the CLI and the traditional IDE? Yes, let me test that. Uh there should there is a command. Um I believe it's {slash}cursor that you can jump back and forth pretty
easily. Let me uh >> Another question on the uh Cursor 3 side, is there can you help us understand how do you structure the multiple re- repos you had on the left pane? I don't know if that's easier if not, but but other two. >> I can I can definitely talk to to that. Give me 1 second. I actually want to pull up my um screen one more time. So, the question is there a way to kind of easily go back and forth? Uh the answer is yes, so there is that kind of
{slash}cursor command. Uh I I I hope you trust you can all see my terminal. So, just invoking that will open up the Cursor IDE, so I can go back and forth um between environments. When we were also looking at um you know, cur- Cursor the the new desktop app, um I had I I know it was fast, but um I had also pulled out my terminal here uh cuz there's an integrated terminal into into Cursor as well. So, if you want to kind of have a terminal uh right
next to your Cursor desktop app, you can you can do that here from this um this panel. Uh Trevor, the the second question, um how do I configure like these repos on the side? So, uh that was the question, correct? Yes. Yes, so um yeah, so there's a few different ways which you can customize the look and the feel, you know, when I'm opening up uh I can open up like any project or any folder, uh which is, you know, so I can kind of do that here and as soon as I do
open it, it'll be available to me here on the left. There's a few different ways of organizing, you know, do you want to organize it by uh specific project or repo? Do I want to um group them by status? So, things that I need to look at, um you know, organized by day?
Uh environment? Am I running something in the cloud? Am I running something self in in a self-hosted like or on-premise uh type of environment or am I running it locally? Um so here um in this little uh setting down here, you can customize the way in which you want that to render. Um And we'd definitely encourage you to to tinker with that um in the new Cursor 3 environment where yeah, it's it's really nice to have all your projects in a single pane of glass.
Absolutely. I'm going to throw some more at you here. Uh can you still run the cloud code extension in Cursor 3? Uh good question. I I've not personally tested it, so I don't know. I I don't think there's any reason why you couldn't, um but that one I'll take as a as a follow-up. Okay.
Uh how about this one? How to bring agents running in CLI to the IDE? How do I bring agents running in the CLI to the IDE? Um so, I try using that {slash}cursor command, uh which should port the conversation, but that's another thing I can can test. Okay. Uh boo boo. I believe this is a Go ahead, Trevor.
I'm just thinking, is Here we go. Can I resume work in IDE or cloud which is started in CLI or vice versa? Is that kind of the same question? Yeah, it's a good question. Um definitely in Cursor 3, we have invested heavily in in this and are making it even better. It's like a cloud-local handoff. So, you know, whe- whether you're in the CLI or in the Cursor 3 desktop, um you can spawn a cloud agent and then um in the CLI, pu- pulling down like a like pulling down from a cloud agent, um
can can check on that, but certainly in the Cursor 3 desktop, there's an option to like you'll see when you have a cloud agent, you can move locally. It'll pull down the work from that branch and then you can work with it locally and then so you so you have the handoff uh is there and you can go back and forth. See another question. Trevor, I'm just going to kind of go Yes. Uh uh but I be able to execute shell commands? Um yes, you can. Um So, that would be the the prefix there
is just an exclamation point. Um and that will allow you so, in the CLI, when you're running a when you're running a Cursor agent in in the CLI, um use the the the exclamation point and that will allow you to run shell commands. You definitely can. Is there a cap on the number of agents that can be created both here in the IDE in in CLI? Uh this is from Avinash. I hope I'm saying pronouncing your name correctly. If there is a cap, I haven't found it yet, so uh I don't think so.
Um Working with multiple agents simultaneously in the code base, how do you keep them from stepping on each other's toes? Good question, Andy. Uh we did mention this briefly, um and I think Trevor had put into the Q&A some documentation around using using work trees. So, we definitely recommend uh using work trees and there's built-in support for that both in the CLI and in Cursor 3 to uh keep that work isolated as you have multiple agents there. Um
Any known caveats and issues with switching models? This is from Michael or Michal? I again, I hope I'm getting these names correct. Um other than potentially different context window sizes. Um the the answer is a little bit nuanced. The answer is um Are there caveats or issues?
There there's not necessarily caveats or issues, but it's going to break the cache, which can have implications for uh just kind of like token usage and consumption cuz when you switch to a new model mid-conversation, that is going to uh you're basically going to kind of like need to reset the cache for the new model's context, um and check the models and pricing page in in our documentation because every model has different uh, prices for like cash reads, cash writes. Um, so
there's there's no you can do it. You you can definitely do it. Um, what I like as a better practice, uh, Michael is is I you know, keeping the main like the thread that you have with a single model, but then you can check its work um, with a different model. That could be invoking a sub-agent in the same thread, uh, where you've got it either delegating to a different model, uh, sub-agent to kind of check the work or referencing a past chat, um, use the at
symbol there where you can, you know, have a new thread uh, invoke the previous conversation, use a different model there. I think that would be a better approach. Um, >> [clears throat] >> how do I know how many tokens needed before submitting a job? This is from Ravi and I know we're 2 minutes over, so this will probably be the last question that we get to live.
Um, how do I know how many tokens I need before submitting a job? This is a it's a good question, Ravi. We don't really like I I I know it's probably not a satisfying answer, but because of the nature of LLMs and because of, you know, these are like probabilistic types of technologies, um, it is difficult to say like when you when you have a prompt or submit a prompt, how many tokens it's going to consume. There are some best practices for prompting. Uh, I think we have workshops on this, so I definitely recommend
checking out, uh, our workshops page, uh, and coming to one on model selection and token efficiency. Um, we're not able to preview. I don't think any it's it's just it can't be done. At least not not in the current state of AI, uh, saying hey, before you submit this prompt, it's going to take this many tokens.
Um, we are investing though uh, in this domain, so you you should see in the in the coming weeks, um, improvements to some of the auto routing capabilities that Cursor has where we're going to make our own routing smarter, um, and be able to kind of delegate to models in a in an even more intelligent way. So, I know it's not like getting directly to your question, but uh, something that will definitely help. Just want to thank everybody. Um, thank you to Trevor for I know there's a, you know, a flood of questions, which
is awesome and I appreciate your support there. Thank you to everybody who dialed in from around the world. And, uh, yeah, I hope it was helpful. Please check out more of these sessions. We're running several of them every single week and I hope to see you on another one here soon.
Thanks a lot, Tim. Appreciate it, everyone. We'll talk to you soon.