Hey there! Thanks for the detailed report. You’re right this shouldn’t happen, and it’s an issue we’re tracking.
The reliable way to stay safe until it’s fixed: commit or git stash push -u in the worktree before archiving (the -u grabs untracked files too). Once your work is on a branch or stash, archive can’t take it. Also note Cmd+Shift+E in the Agents Window is Archive, not Explorer, so it’s easy to hit by habit, use Cmd+G for the file tree. Unarchiving restores the chat but not a removed worktree, so committing first is the key.
There’s an existing thread following this same behavior, so I’ll merge yours into it and post updates there: Archiving an agent deletes its dirty worktree without confirmation.