# Cursor 2.5: Async Subagents

**URL:** <https://forum.cursor.com/t/cursor-2-5-async-subagents/152125>\
**Category:** Release Discussions\
**Tags:** performance, subagents\
**Created:** [February 17, 2026, 6:52pm UTC](https://forum.cursor.com/t/cursor-2-5-async-subagents/152125 "2026-02-17T18:52:55Z")\
**Posts on this page:** 18\
**Page:** 1

<div class="post-metadata">

**Author:** ![Colin](https://sea3.discourse-cdn.com/cursor1/user_avatar/forum.cursor.com/colin/32/90452_2.png) [@Colin](https://forum.cursor.com/u/Colin)\
**Post date:** [February 17, 2026, 6:52pm UTC](https://forum.cursor.com/t/cursor-2-5-async-subagents/152125/1 "2026-02-17T18:52:55Z")

</div>

_New in Cursor! · [Full changelog](https://cursor.com/changelog/2-5) · [Main announcement](https://forum.cursor.com/t/cursor-2-5-plugins-and-async-subagents/152123/2)_

* * *

Subagents just got a big upgrade. Previously, all subagents ran synchronously (the parent agent had to wait for each one to finish before moving on). Now subagents can run asynchronously, so the parent keeps working while subagents handle tasks in the background.

Subagents can also spawn their own subagents, creating a tree of coordinated work. This opens up bigger tasks like multi-file features, large refactors, and complex debugging where research and fixes can happen in parallel.

We’ve also improved subagent performance since 2.4, with lower latency, better streaming feedback, and more responsive parallel execution.

**We’d love your feedback!**

- How are async subagents handling your larger, more complex tasks compared to before?
- Have you noticed the performance improvements in subagent latency and streaming?
- What kinds of tasks would benefit most from deeper subagent trees?

If you’ve found a bug, please post it in [Bug Reports](https://forum.cursor.com/c/support/bug-report/6) instead, so we can track and address it properly, but also feel free to drop a link to it in this thread for visibility.

---

<div class="post-metadata">

**Author:** ![foxted](https://sea3.discourse-cdn.com/cursor1/user_avatar/forum.cursor.com/foxted/32/14510_2.png) [@foxted](https://forum.cursor.com/u/foxted)\
**Post date:** [February 18, 2026, 1:24am UTC](https://forum.cursor.com/t/cursor-2-5-async-subagents/152125/3 "2026-02-18T01:24:02Z")

</div>

I must have missed something, I’m using Cursor 2.5.17 and I still can’t get a subagent to run in the background, or have the coordinator/subagent pattern working. Do you have any tips to get this going?

---

<div class="post-metadata">

**Author:** ![DotDev](https://avatars.discourse-cdn.com/v4/letter/d/ecccb3/32.png) [@DotDev](https://forum.cursor.com/u/DotDev)\
**Post date:** [February 18, 2026, 3:24am UTC](https://forum.cursor.com/t/cursor-2-5-async-subagents/152125/4 "2026-02-18T03:24:54Z")

</div>

I made this to help get started:

> **[GitHub - tmcfarlane/oh-my-cursor: Like “oh-my-opencode”, but for Cursor IDE....](https://github.com/tmcfarlane/oh-my-cursor)**
>
> Like “oh-my-opencode”, but for Cursor IDE. Multi-agent orchestration, natively, using nothing but a few config files.

I find it much more repeatable to tag every agent in the starting prompt and say “Orchestrate among these subagents to complete the plan/task/etc.”

Recently, I’ve seen significant improvement in the rules helping with subagent orchestration. Because of that, I’ve put together [this orchestration rule](https://github.com/tmcfarlane/oh-my-cursor/blob/main/rules/orchestrator.mdc) that gives all the context the agent needs to start orchestrating subagents.

You don’t have to use this, I just opened it up to make it helpful to others. But you can also copy this repository as a template by instructing your agent in Cursor:

```auto
Copy the subagent/rule setup in this repo https://github.com/tmcfarlane/oh-my-cursor but set it up like.... <insert any preference>

```

That’s what open-source means right? Copy/pasta? 😜

 ![image](https://us1.discourse-cdn.com/cursor1/original/3X/c/6/c6d97c705c32640289d990d00c85f35e262d6033.png)

See how it even uses a subagent to read the rule? Cursor has gone FULL SWARM 😃

---

<div class="post-metadata">

**Author:** ![liquefy](https://avatars.discourse-cdn.com/v4/letter/l/edb3f5/32.png) [@liquefy](https://forum.cursor.com/u/liquefy)\
**Post date:** [February 18, 2026, 1:47pm UTC](https://forum.cursor.com/t/cursor-2-5-async-subagents/152125/6 "2026-02-18T13:47:04Z")

</div>

is this update related to the `is_background` flag in subagent definition or is this a separate thing?

---

<div class="post-metadata">

**Author:** ![juanluisrto](https://sea3.discourse-cdn.com/cursor1/user_avatar/forum.cursor.com/juanluisrto/32/98706_2.png) [@juanluisrto](https://forum.cursor.com/u/juanluisrto)\
**Post date:** [February 18, 2026, 4:58pm UTC](https://forum.cursor.com/t/cursor-2-5-async-subagents/152125/7 "2026-02-18T16:58:02Z")

</div>

Hi! How do enable a subagent to run asynchronously and to spawn new subagents? Updated cursor but this does not work out of the box

---

<div class="post-metadata">

**Author:** ![swordsith](https://sea3.discourse-cdn.com/cursor1/user_avatar/forum.cursor.com/swordsith/32/98636_2.png) [@swordsith](https://forum.cursor.com/u/swordsith)\
**Post date:** [February 18, 2026, 6:45pm UTC](https://forum.cursor.com/t/cursor-2-5-async-subagents/152125/8 "2026-02-18T18:45:17Z")

</div>

It would be really handy if we could use subagents with composer 1.5, it’s my go to model and it can’t even spawn subagents, only models charged on API can, I’d rather pay API costs on composer 1.5 and have access to the features I’m paying for.

---

<div class="post-metadata">

**Author:** ![DotDev](https://avatars.discourse-cdn.com/v4/letter/d/ecccb3/32.png) [@DotDev](https://forum.cursor.com/u/DotDev)\
**Post date:** [February 18, 2026, 7:17pm UTC](https://forum.cursor.com/t/cursor-2-5-async-subagents/152125/9 "2026-02-18T19:17:26Z")

</div>

I made this to help get started:

> **[GitHub - tmcfarlane/oh-my-cursor: Like “oh-my-opencode”, but for Cursor IDE....](https://github.com/tmcfarlane/oh-my-cursor)**
>
> Like “oh-my-opencode”, but for Cursor IDE. Multi-agent orchestration, natively, using nothing but a few config files.

I find it much more repeatable to tag every agent in the starting prompt and say “Orchestrate among these subagents to complete the plan/task/etc.”

Recently, I’ve seen significant improvement in the rules helping with subagent orchestration. Because of that, I’ve put together [this orchestration rule]([oh-my-cursor/rules/orchestrator.mdc at main · tmcfarlane/oh-my-cursor · GitHub](https://github.com/tmcfarlane/oh-my-cursor/blob/main/rules/orchestrator.mdc)) that gives all the context the agent needs to start orchestrating subagents.

Still, results vary. I still prefer to tag all the agents in the prompt and tell it to orchestrate.

---

<div class="post-metadata">

**Author:** ![nedcodes](https://sea3.discourse-cdn.com/cursor1/user_avatar/forum.cursor.com/nedcodes/32/99923_2.png) [@nedcodes](https://forum.cursor.com/u/nedcodes)\
**Post date:** [February 18, 2026, 11:03pm UTC](https://forum.cursor.com/t/cursor-2-5-async-subagents/152125/10 "2026-02-18T23:03:55Z")

</div>

is it supposed to just work if you tell the agent to parallelize, or do you need to structure the prompt a specific way? the docs don’t really explain the handoff between parent and child

---

<div class="post-metadata">

**Author:** ![DotDev](https://avatars.discourse-cdn.com/v4/letter/d/ecccb3/32.png) [@DotDev](https://forum.cursor.com/u/DotDev)\
**Post date:** [February 19, 2026, 4:10pm UTC](https://forum.cursor.com/t/cursor-2-5-async-subagents/152125/12 "2026-02-19T16:10:53Z")

</div>

I find it much more repeatable to tag every agent in the starting prompt and say “Orchestrate among these subagents to complete the plan/task/etc.”

---

<div class="post-metadata">

**Author:** ![Peter\_Cox](https://sea3.discourse-cdn.com/cursor1/user_avatar/forum.cursor.com/peter_cox/32/100910_2.png) [@Peter\_Cox](https://forum.cursor.com/u/Peter_Cox)\
**Post date:** [February 22, 2026, 8:52am UTC](https://forum.cursor.com/t/cursor-2-5-async-subagents/152125/13 "2026-02-22T08:52:53Z")

</div>

The subagents make Composer 1.5 blazingly fast when grepping, reading etc.

Its rare that I do more than 1 chat at once since its launch.

Do I know what they do under the hood, no, do I love the speed yes

---

<div class="post-metadata">

**Author:** ![Colin](https://sea3.discourse-cdn.com/cursor1/user_avatar/forum.cursor.com/colin/32/90452_2.png) [@Colin](https://forum.cursor.com/u/Colin)\
**Post date:** [February 24, 2026, 9:46am UTC](https://forum.cursor.com/t/cursor-2-5-async-subagents/152125/14 "2026-02-24T09:46:20Z")

</div>

> [@Colin](#):
>
> Now subagents can run asynchronously, so the parent keeps working while subagents handle tasks in the background.

This is:

> Now subagents can run asynchronously, so the parent keeps working while subagents handle tasks in the background.

Additionally, subagents can now spawn other subagents.

---

<div class="post-metadata">

**Author:** ![charles](https://avatars.discourse-cdn.com/v4/letter/c/6f9a4e/32.png) [@charles](https://forum.cursor.com/u/charles)\
**Post date:** [February 28, 2026, 1:31am UTC](https://forum.cursor.com/t/cursor-2-5-async-subagents/152125/15 "2026-02-28T01:31:58Z")

</div>

Yeah nothing I do can seem to trigger async mode unfortunately. It would be especially helpful if I asked a question if it didnt cancel all the subagents so the main agent could answer it

---

<div class="post-metadata">

**Author:** ![Colin](https://sea3.discourse-cdn.com/cursor1/user_avatar/forum.cursor.com/colin/32/90452_2.png) [@Colin](https://forum.cursor.com/u/Colin)\
**Post date:** [February 28, 2026, 6:50pm UTC](https://forum.cursor.com/t/cursor-2-5-async-subagents/152125/16 "2026-02-28T18:50:35Z")

</div>

@charles I’m checking on this with the team. Adding notes in the description seems to do a good job of telling the subagent to run in the background, but `is_background: true` does not.

> [@Can't get async subagents, nested subagents to work](https://forum.cursor.com/t/cant-get-async-subagents-nested-subagents-to-work/152573/6):
>
> Done a bit more testing with async subagents – try adding something to the description like “Run in background” --- name: docs-generator description: Generates or updates documentation for code. Run in background. Reads source files, infers purpose and usage, and produces clear, concise docs. model: inherit readonly: true --- ... I’m following up with the team on why is\_background: true doesn’t seem to be doing anything!

---

<div class="post-metadata">

**Author:** ![foxted](https://sea3.discourse-cdn.com/cursor1/user_avatar/forum.cursor.com/foxted/32/14510_2.png) [@foxted](https://forum.cursor.com/u/foxted)\
**Post date:** [March 1, 2026, 7:00am UTC](https://forum.cursor.com/t/cursor-2-5-async-subagents/152125/17 "2026-03-01T07:00:57Z")

</div>

So far, I’m only able to run subagent on Sonnet and GPT 5.3 Codex, Composer 1.5 doesn’t want to run subagents for me.

I do have to explicitly request the agent to “use parallel subagents whenever safe and possible”

---

<div class="post-metadata">

**Author:** ![Giridhar\_Addagalla](https://avatars.discourse-cdn.com/v4/letter/g/cab0a1/32.png) [@Giridhar\_Addagalla](https://forum.cursor.com/u/Giridhar_Addagalla)\
**Post date:** [March 1, 2026, 6:23pm UTC](https://forum.cursor.com/t/cursor-2-5-async-subagents/152125/18 "2026-03-01T18:23:57Z")

</div>

> [@Colin](#):
>
> - How are async subagents handling your larger, more complex tasks compared to before?
> - Have you noticed the performance improvements in subagent latency and streaming?
> - What kinds of tasks would benefit most from deeper subagent trees?

I ran it to build a feature I explicitly mentioned to create subagents and make it run parallel they are good. But I see the parent agent is not verifying the work it is missing the proper verification.

I created feature adding both my UI and API in same workspace and task to plan and add test cases also sub agent worked well but that is the only thing verification is what I didn’t satisfy

---

<div class="post-metadata">

**Author:** ![Colin](https://sea3.discourse-cdn.com/cursor1/user_avatar/forum.cursor.com/colin/32/90452_2.png) [@Colin](https://forum.cursor.com/u/Colin)\
**Post date:** [March 2, 2026, 11:14am UTC](https://forum.cursor.com/t/cursor-2-5-async-subagents/152125/21 "2026-03-02T11:14:26Z")

</div>

> [@Colin](#):
>
> I’m checking on this with the team. Adding notes in the description seems to do a good job of telling the subagent to run in the background, but `is_background: true` does not.

This will be fixed in 2.6, coming very soon.

---

<div class="post-metadata">

**Author:** ![Colin](https://sea3.discourse-cdn.com/cursor1/user_avatar/forum.cursor.com/colin/32/90452_2.png) [@Colin](https://forum.cursor.com/u/Colin)\
**Post date:** [March 10, 2026, 5:20pm UTC](https://forum.cursor.com/t/cursor-2-5-async-subagents/152125/22 "2026-03-10T17:20:55Z")

</div>

Closing this thread since it has been a while since this was announced. Any new questions, or loose ends from this thread should be filed as new reports in the appropriate forum category!

---

<div class="post-metadata">

**Author:** ![Colin](https://sea3.discourse-cdn.com/cursor1/user_avatar/forum.cursor.com/colin/32/90452_2.png) [@Colin](https://forum.cursor.com/u/Colin)\
**Post date:** [March 10, 2026, 5:20pm UTC](https://forum.cursor.com/t/cursor-2-5-async-subagents/152125/23 "2026-03-10T17:20:58Z")

</div>

Closed on March 10, 2026, 5:20pm UTC


