When the Cursor main agent wants to start a Subagent it is stuck at “New Subagent - Starting up” without continuing. This feature breaks workflows that requires or triggers Subagents.
Steps to Reproduce
Ask the Agent to start an subagent or run a Subagent task.
This is a confirmed UI bug. As @Tsuk1ko correctly noted, the subagent is actually running in the background — it’s just the progress display that’s stuck on “Starting up.” Your work should still complete; you just can’t see the real-time progress.
Our team is actively working on a fix. You may also find this related thread helpful, which describes the same pattern.
In the meantime, you can try Reload Window (Cmd+Shift+P → “Developer: Reload Window”) — some users have found this temporarily restores the subagent display for the current session.
I compared my local state.vscdb between working historical task_v2 dispatches and the currently-broken ones. Posting in case it helps narrow it down:
Working dispatches used to produce two writes:
A composerData:task-<toolCallId> row with its own bubbles, status, and modelConfig.
A copy of that metadata stamped into the parent bubble under toolFormerData.additionalData.composerData.
Broken dispatches are missing both. The result itself still lands in agentKv:blob:<sha256> (which is why the main agent still gets the response), but there’s no child composer row, so the Agents-window card has nothing to open, and the “Open” button is a no-op.
Reproduces across explore, generalPurpose, and custom subagents in my DB.
I’m trying to build an agentic workflow for my team and the lack of visibility into subagent logs is currently the biggest issue for me. Would really appreciate a fix, thanks!
@gdgf – understood that the Reload Window workaround isn’t helping. It’s not a reliable fix, just something that temporarily restores the display for some users. Appreciate you confirming it doesn’t work in your case.
@vladbond – really appreciate the detailed state.vscdb analysis. That’s exactly the kind of diagnostic info that helps our team narrow this down. I’ve passed it along.
This is still actively being worked on by our engineering team. The core issue is on the UI/display side (the subagent does run and return results, but the progress card and Agents window don’t populate correctly). No ETA to share yet, but it’s a high-priority item.
Quick question to help narrow this down – after the subagent appears stuck on “Starting up,” does the parent agent eventually continue and show the subagent’s results? With the confirmed UI bug in this thread, the subagent is running and tokens are being consumed – it’s just the progress display that doesn’t update. If your parent conversation eventually receives the results, you’re hitting the same display issue.
If the parent agent never gets results and the conversation seems truly stalled, that could be a different variant. Could you share:
Your Cursor version (Help > About)
A request ID from one of the affected sessions (Settings > General > toggle off “Use Privacy Mode,” then reproduce and copy the request ID)
That’ll help us figure out if this is the same display issue or something else.
no it does not show any updates or results. I clearly noticed it because I was working on developing subagents orchestrator skills right before I updated Cursor. After the update it stucks, no files update, no tokens uses and etc.
Two new reproductions today with an identical fingerprint:
Dispatch succeeds end-to-end: Cursor returns an agentId, and the subagent’s result persists as agentKv:blob:<hash>.
The child composerData:<agentId> row never gets written, so subagentComposerIds on the parent stays [] and the card has nothing to open.
Both failing sessions share status = "completed" and hasChangedContext = true.
A session I kept continuously open (still status: "aborted" / live) on the same Cursor binary materialized every dispatch cleanly.
One small nuance on the “UI/display” framing: the full subagent conversation isn’t just missing from the UI, but it’s missing from disk. Only the terminal result blob survives; the bubbles are gone. So the data-loss half of this bug is downstream of a failed persistence write, not purely a rendering issue.
@vladbond – really appreciate the continued deep analysis. Your finding that the conversation data isn’t persisted (while the result blob does land) is a good one. You’re right that this goes beyond a pure rendering issue. I’ve passed this along.
@Duc_Trung_Mai – thanks for confirming. What you’re seeing (diffs growing but no visible progress) matches the confirmed UI variant. The subagent is working, just the progress display isn’t updating.
@Sergei_Kundriukov – what you’re describing sounds like a different issue from this thread. The confirmed bug here is a UI/display problem where the subagent IS running in the background (tokens consumed, files updated) but the progress card doesn’t update. You’re reporting that nothing happens at all – no file changes, no token usage. That points to the subagent genuinely failing to start, which would have a different root cause. Could you create a new thread for this so our team can investigate your specific issue properly? That way, we can track and diagnose your issue separately from the display bug.
I’ll continue to follow up here as we get updates from the team on the display issue.
one of my solution is to tell agent “do not spawn new agent, I don’ t need parallel processing”, doing “single threaded” task is faster because I can see performance of multi agents are pretty bad, slower than I use 1 agent, and with 1 agent I can see its progress
I am using a SKILL which describes the coding process. This SKILL must have spawn specific subagents described in dedicated files for subtasks e.g. coding, testing, reviewing. After I updated Cursor to v3.0+ it stopped working.
I see the chat is trying to start new agent but it does not change anything, does not spend tokens and etc. Nothing happens for hours.
Steps to Reproduce
make a SKILL which tells to Cursor it should spawn subagents for coding, reviewing, testing
make a command with a simple instruction like "Use the myskill skill at skills/myskill/SKILL.md. Do not perform any work outside that skill.`
run it as the prompt /mycommand implement...
wait until it starts spawning subagents
Expected Behavior
Everything works, I can open the subagent’s information and see what it is doing. Code updates, tokens spends
3.1.17 There’s still a problem. It’s so uncomfortable. I don’t know what this subagent is doing. It’s not moving at all, which seriously affects the user experience,