Cursor 2.0: Composer, in-app browser, voice & more

Hey everyone — it’s an exciting week!

Since our v1 launch in June, Cursor has grown a lot - packed with features and refinements to help you be more productive in whatever you build.
Today, we’re bundling those improvements - plus a fresh set of new features - into our biggest release yet: Cursor 2.0.

This update includes major additions like our new flagship model, Composer, an in-app browser, voice input, and much more.

You can read more about Cursor 2.0 here:

And as always, a detailed changelog of the new features in Cursor 2.0 can be found here:
Cursor 2.0 - New Coding Model and Agent Interface

Huge thank you for all your support and feedback — many of the changes in this release came directly from this community and from conversations across the web.

10 Likes

It’s more focused and designed from the ground up to be centered around agents rather than files.

Why? :confused: I have never seen Agents actually accomplish anything useful. They run around in circles for hours and don’t solve the problem or produce useful code…

8 Likes

@danperks
Can we get some pricing and benchmarks on the Composer 1 new model ? It would be great to know what’s its capabilities … otherwise nice update :smiley: Thanks :slight_smile:

5 Likes

About voice input, does it count towards our usage limit or is it completely included in our plans?

3 Likes

What does 4x agent cycle with the same agent do?

2 Likes

What happened to /Generate Cursor Rules? Did that get replaced or removed?

I don’t really understand multi-agents or the “agent count” setting. Is there a good explanation somewhere of what the use case is for this? What does a workflow for this look like? How would you work on multiple different things at the same time without having the agents bump into each other or overwrite each other’s code in different branches (if that’s what work trees is about?)?

Edit: Nvm, i see from other threads it’s about running multiple agents on the same task, not different tasks and comparing their outputs.

3 Likes

Astonishing. In a sad way.

Use Multiple is completely broken right now:

  • You cannot @-include the results of multi-agent execution or their chat contexts in another agent’s chats
  • Hence, you cannot run an agent to choose the best result for you
  • Hence, you have to manually scroll through results of N agent executions and attempt to merge them
  • Merging from worktrees to local is broken. Like, really — it automatically merges first one, but try second one, and it stacks up <<< merge boundaries like a kid trying to learn git rebase. I cannot even do it using AI — are you kidding?
  • Right now it’s much better to run multiple chat tabs instead. They cooperate on the same codebase and you don’t have to spend time merging results.

Voice mode…

  • No hotword to activate
  • Using any keyword to submit instead of, well, submit, leads to voice mode sending empty messages to the chat in 70-80% percents of cases.
  • Voice mode has no way to patch previously dictated things. COME ON. Apple dictation has “delete the last sentence“ and similar phrases working for YEARS.
  • Voice mode doesn’t support submit cyrillic codewords. Maybe chinese too, who knows.
  • Voice mode doesn’t support @. Like, really? You couldn’t do it?
  • Voice mode doesn’t support selecting a model, or mode, or anything.
  • Voice mode has to be activated over and over after each submit — manually using shortcut…
  • …shortcut that is not valid. Cmd+Shift+Space is already reserved for Trigger Parameter Hints in default macos vscode preset.
  • So, it’s 20 times worse than built-in macos apple dictation.

And that is what I’ve stumbled upon in the first 20 minutes testing.
Guys, stop this disgrace. Hire a good software engineer for once. Or smash your manager in the face for forcing you to release majors without testing. Former or latter, you have my email if you need some help.

4 Likes

2 Likes

Hey, what the hell is this? Why did my layout entirely change without my input?

Please don’t do that.

I’m not vibe coding, and I don’t want anything other than a code editor with crazy good autocomplete! (And the occasional “Ask” mode request)

Also, why can we not @Web anymore? I don’t want to type out “Make a web request” every time. Why are we being limited in what context we can manually specify? Using heuristics and determining context with AI is great, but that doesn’t mean we shouldn’t be able to add context explicitly.

10 Likes

Cheetah is good tho. Fancy pants wants to be called composer, w/e

2 Likes

It’s quite a quirky product—how could they possibly make it like this?

why there isn’t multiple models option in ask mode in cursor 2.0

Agent Layout: failed to “Move Primary Side Bar Left”

1 Like

I can confirm this as well. I thought I’d be cool and add a new submit keyword, but it just submits an empty prompt and off the agent goes guessing what you want by the tab you had active and where the text cursor is.

Man, Composer is something else. The speed is not exceptional but it really goes deep in quality, and all the other models are praising it even if the knowledge is much smaller.

1 Like

I’m starting to think we are going to be on the hook to write a whole heck of a lot of our own commands now that built-in ones have been yoinked. I’m pondering a /web blah blah command to replace @Web

I am full of praises for Composer, really like the name too its kindling of Cursor’s roots. :alien_monster:

1 Like

When I use the in-app browser, I experience an endless loop of network calls like:
http://localhost:58528/mcp-poll/tab_3f51d562bcbeebc33532a85369

This didn’t go smooth: typescript extension keeps on crashing. I’ve disabled all plugins and restarted all. Keeps on crashing. Tried putting tsserver in verbose mode, but it crashes before logs are outputted. Tried switching ts versions, keeps on crashing.

Configuring first“update.mode”: “none” and then afterwards downgrading to 1.7 made it possible to get back to work without continuously getting the update in again.

Will enable again when it is more stable.