Remote Control hangs on “preparing environment” and deletes uncommitted local files

Where does the bug appear (feature/product)?

Cursor IDE

Describe the Bug

/remote-control is supposed to keep the working tree on the local machine. The agent loop moves to the cloud, but file edits should still run locally.

What happened: the session hung on a “preparing environment” style message, became unusable, and uncommitted files were deleted from the local working tree. This was not a full project wipe. Pre-existing / ignored files remained; the new uncommitted source files were gone.

This has happened more than once after Remote Control. I will not reproduce it, because it deletes work.

Steps to Reproduce

I am not reproducing this (data loss). Sequence of the latest incident:

  1. Local agent session in a git-backed workspace, with substantial uncommitted changes.
  2. Run /remote-control to continue the same session from the iOS app.
  3. UI hangs on “preparing environment” (or equivalent) and never recovers.
  4. The original session is dead.
  5. Uncommitted source files are gone from disk.

Expected Behavior

Per the Cursor for iOS | Cursor Docs :

Tools keep running on the local computer.
The local working tree is unchanged by the handoff itself.
If handoff fails, the session should fail without deleting local files.

Operating System

MacOS

Version Information

Cursor IDE:
Version: 3.19.13 (Universal)
VS Code Extension API: 1.128.0
Commit: dd066f332fcea7382764400fde902f61920648d0
Date: 2026-09-04T17:41:16.065Z
Layout: IDE
Build Type: Stable
Release Track: Default
Electron: 42.10.0
Chromium: 148.0.7778.280
Node.js: 24.18.1
V8: 14.8.178.38-electron.0
xterm.js: 6.1.0-beta.291
OS: Darwin arm64 24.6.0

macOS 15.7.9 (Build 24G830)

For AI issues: which model did you use?

Auto

For AI issues: add Request ID with privacy disabled

bc-af9147f1-3b52-4f99-8966-92d30e44cfb5

Additional Information

Hardware: Mac mini (Apple Silicon).

There is no Request ID for the hang. The session was archived, and /remote-control never completed a chat turn, so Copy Request ID is not available. The Background Agent id is bc-af9147f1-3b52-4f99-8966-92d30e44cfb5.

This contradicts the published Remote Control model (“working tree never leaves the computer”). Around the hang, Cursor also created a cloud-agent snapshot on my git remote (a cursor/cloud-agent-* branch, commit message “Cursor: Apply local changes for cloud agent”). The deleted work was later recovered from that snapshot. I am not posting branch names or commit hashes; they are on a private repo.

I will not use Remote Control until this is fixed. Please do not ask me to run it again on a dirty tree.

Does this stop you from using Cursor

No - Cursor works, but with this issue

Hey, thanks for the detailed report. First, the main thing: your files are almost certainly not lost.

When you ran /remote-control on a tree with uncommitted changes and picked “Include Changes” in the dialog, Cursor pushed a snapshot branch the cursor/cloud-agent-* one you found and moved your local changes into git stash. Please check:

git stash list

Look for an entry like “Cursor: moved local changes to cloud agent”. To restore everything, including untracked files:

git stash pop

Or use git stash apply stash@{N} for a specific entry. You already restored from the snapshot branch, so this is mainly so you know where the files went.

What you’re describing isn’t how Remote Control should behave, and it’s not related to your setup. Remote Control runs on your existing checkout, so stashing changes here is wrong. I’ve passed this to the team. Until this is fixed, if you use /remote-control on a dirty tree, pick “Exclude Changes” in that dialog, or commit your changes first. This skips the snapshot and stash, and the agent works with files as they are.

About the snapshot branch with uncommitted files showing up on your git remote, yes, that’s exactly what the “Include Changes” path does. I’ve shared this with the team too.

The hang on “preparing environment” is a separate issue. The worker on your Mac stopped properly advertising the repo, so sessions had nowhere to route. A full restart helps: fully quit Cursor, then in Activity Monitor end any remaining cursor-agent processes, then reopen the workspace. If you can check, after restarting please go to Cursor Settings > Agents, make sure Remote Control is enabled, and let me know if a fresh Remote Control session connects within a minute.

I’ll post here when there’s an update.

Thanks. I did see the “Include Changes” dialog; I didn’t understand that it would stash and reset the working tree. The result was not what I intended.

git stash list still has:
“Cursor: moved local changes to cloud agent (source agent af9147f1-…)”
timestamp 12:44:34, same moment as the hang.

I already restored from the cursor/cloud-agent-* snapshot branch, so I will not git stash pop. The stash content matches what I restored.

About the hang: after it stuck on “preparing environment”, I pressed Stop, fully quit Cursor, and relaunched. The hung session stayed hung. Until I archived that chat and the workspace went away, new chats added to the same workspace disappeared immediately. After the archive, that did not keep happening.

I won’t retry /remote-control on a dirty tree until this is fixed. Happy to hear when there’s an update.

Great that the stash is still there and the files are already restored from the snapshot branch. You can leave git stash pop alone since the contents match.

Thanks for the detail about the hang too. The fact that the stuck session stayed stuck after a restart, and that new chats in the same workspace disappeared until you archived the stuck chat, is a really helpful signal. I passed that to the team along with the rest.

Same guidance for now. Until this is fixed, if you have a dirty tree, choose Exclude Changes in the dialog, or commit your changes before /remote-control. That way you won’t get a snapshot branch or a stash, and the agent will work with your files as they are.

I’ll reply here when there’s an update.