~/home

Обновление редактора, которое удаляет редактор

· windows, инструменты

TL;DR: Cursor и другие редакторы на базе VS Code под Windows могут удалить сами себя при обновлении, если stdio MCP-сервер ещё работает на встроенном в редактор node.exe. Чтобы восстановиться, перенесите подготовленную сборку из папки _, а перед обновлением убивайте эти процессы.

Дважды за месяц автообновление под Windows оставило меня вообще без редактора. Ярлык вёл в пустоту, а лог обновления рапортовал об успехе.

Что происходит

Редактор (Cursor, но апдейтер достался ему от VS Code) складывает новую сборку в подпапку _. Затем апдейтер удаляет старую установку до того, как переносит новую на место. А перед началом проверяет только, не запущен ли основной .exe.

При запуске stdio MCP-серверов редактор ставит свой встроенный node.exe первым в PATH. Поэтому npx some-mcp-server работает на node редактора, и этот процесс живёт и после закрытия окна. Удаление натыкается на заблокированный файл, после нескольких попыток сдаётся и оставляет наполовину удалённую установку, а новая сборка так и лежит в _.

Как восстановить

Переустанавливать не нужно. Удалите выпотрошенную папку resources, перенесите всё из _ на уровень выше и удалите _.

Как не допустить

Я отключил автообновление ("update.mode": "none") и перед ручным обновлением проверяю, не остались ли висеть процессы:

Get-Process | Where-Object { $_.Path -like '*\cursor\resources*' }

Выключить сервер в настройках MCP недостаточно: у одного сервера дочерние процессы пережили выключение. Верьте списку процессов, а не интерфейсу. MCP-серверы по HTTP локально ничего не запускают, так что важны только stdio.