I was excited with the release of Cursor 2.0 with parallel agents.
However, in practice with their current state, they have a big problem and I’m surprised I don’t see more issues brought up regarding this problem.
This is the workflow I would like:
Within a project:
-[Agent A] start an agent with a task A
-[Agent B] start an agent with a task B
If I apply the changes from Agent A to a project, I might find that I would like to make some adjustments. In the meantime, though, I might need to shelve the task and work on other tasks.
If I click “Undo Apply” changes it puts the changes back on the worktree.
I go about my business working on other tasks.
I then decide I want to circle back to Agent A. I ask it for some of the additional changes and it changes one file.
I want to now apply all the changes from the Agent A again to my repo to test them in action with my requested change.
I would expect all changes to be applied from the worktree, but it only applies changes from the 1 file from my most recent request.
I’m not sure if this is intended behavior, but I hope not, because I am unable to cleanly context-switch between agents on the fly because of this.
The root cause is the same. After Undo Apply, the review card only shows the combined diff from the agent’s latest message, not all the accumulated changes in the worktree.
I’ve shared this with the team again. There’s no ETA yet, but repeated reports for the same workflow really do help with prioritization. I get that this basically breaks context switching between parallel agents.
For now, the only workaround is to avoid Undo Apply. If you need to “pause” work, use git diff main inside the worktree to see all changes and apply them manually later.
Were you able to grab the Request ID from your previous report in thread 150303? That would still be helpful for the engineers.
Thanks for providing feedback.
I’m not sure when it happened, but I tried again (I’m on 2.4.31)
and all changes are coming over from the worktree now on subsequent requests after “Undo Apply”
The chat will only show changed files related to my most recent request with the agent, but when it actually applies the changes, it applies the entire worktree (which is what I want).
I start a new agent in worktree mode
I ask for something - it produces 5 file changes
The chat shows “5 files changed”
I click apply and it applies all 5 files to my main repo
I then Undo Apply
I request an additional change - the change occurred in 1 existing file
The chat shows “1 file changed” and I only see that file in the changed list
I click “Apply” - All 5 files are reapplied (This is good! It didn’t do this before)
I click “Undo Apply” again
Now the chat shows all 5 files as changed (instead of just 1)
So the weirdness now is just that the chat only shows the most recently updated files in the changed list and not all the files from the worktree on each of the agent’s follow-up responses, but if you Undo Apply it will go back to showing all the files as changed in the chat (until you request more changes).
Overall though, even if the ui is behaving a little wonky with the files it is showing as changed, I can actually shelve work now and come back to it later and ask for more changes and be assured the entire worktree is applied on subsequent applications.
Glad to hear the main issue is fixed in 2.4.31. This is exactly the fix we were expecting: Apply now correctly pulls in all accumulated changes from the worktree, not just the last request.
About the UI quirk with files showing up in chat, for now this is expected behavior. The chat shows the diff from the agent’s last response, not the full worktree diff. After Undo Apply, it recalculates and shows everything, just like you described.