Archiving a chat is meant to clean up its isolated worktree, but it should skip that when another chat (like your fork) is still using the same worktree. Cursor also cleans up older worktrees periodically once you have more than 25 of them, so I want to pin down which of the two you hit.
Could you try this and tell me what you see?
Open the Agents Window and start a new chat in a fresh worktree.
Send one message so the agent creates a file in that worktree.
Hover over an assistant reply and click Fork, so a second chat opens.
In the forked chat, check the chat header. Does it show the worktree branch name, the same as the original chat?
Go back to the original chat and archive it.
Wait about one minute, then check whether the worktree folder still exists on disk.
Please reply with: whether step 4 showed the worktree in the forked chat, whether the folder was gone after step 6, and roughly how many worktrees you have under ~/.cursor/worktrees.
In the meantime, committing or running git stash push -u in the worktree before archiving keeps your work safe, and unarchiving a chat within about 30 seconds cancels the removal.
That tells me the archive step itself is behaving.
There is a second cleanup I should have mentioned: besides the 25-worktree count limit, Cursor also enforces a total size limit across all worktrees (50 GB by default, counting everything in each folder, including node_modules and build output).
When the total is over that limit, Cursor removes the oldest worktrees, even ones a chat is still using, and it checks this every 6 hours and about 30 seconds after Cursor starts. With 7 worktrees of a large project that is easy to hit, and if Cursor restarted around the time you archived, it would look like the archive did it.
Could you check two things?
Run du -sh ~/.cursor/worktrees in a terminal and tell me the total.
Run grep -r "WorktreeCleanup\|Removed worktree" ~/Library/Application\ Support/Cursor/logs/ and paste any lines from the day the worktree disappeared (paths are fine to redact).
In any case, you can raise or turn off the size limit in Cursor Settings → Worktrees → Max Total Size (GB) (set it to 0 to disable).