Skip to content
| Marketplace
Sign in
Visual Studio Code>Other>Portable VS Code UpdateNew to Visual Studio Code? Get it now.
Portable VS Code Update

Portable VS Code Update

utialy

| (0) | Free
Adds an Update button for portable (ZIP) VS Code on Windows. Downloads the latest stable release, verifies it and replaces the program files.
Installation
Launch VS Code Quick Open (Ctrl+P), paste the following command, and press enter.
Copied to clipboard
More Info

Portable VS Code Update

VS Code installed from the ZIP archive can tell you that an update exists, but it cannot install it. This extension adds an Update button to the status bar that downloads the latest stable release, verifies it and replaces the program files for you.

Requirements

  • Windows x64 with VS Code 1.85 or later installed from the ZIP archive (with or without a portable data folder).
  • Windows PowerShell 5.1, which ships with Windows.
  • HTTPS access to update.code.visualstudio.com and to the official download hosts listed below.

The button does not appear in VS Code installed with the User or System setup program, which updates itself, or on macOS and Linux.

Usage

  1. Click Update in the status bar, or run Update Portable VS Code from the Command Palette.
  2. A separate PowerShell window checks for the latest version and downloads it.
  3. When the window asks you to, save your work and close every VS Code window started from this installation. Keep the update window open.
  4. The program files are replaced. Do not reopen VS Code until the window reports that the update finished.

The window waits up to 120 minutes for VS Code to close. If VS Code is still open after that, the update stops without changing any program files.

What it does

  • Asks update.code.visualstudio.com for the latest stable Windows x64 ZIP and its SHA256 hash.
  • Downloads the ZIP over HTTPS, only from vscode.download.prss.microsoft.com, az764295.vo.msecnd.net or vscode.download.azure.cn.
  • Checks the SHA256 hash and the Microsoft Authenticode signature of Code.exe before changing anything.
  • Replaces only the top-level entries contained in the new release. Your settings and extensions (the data folder or your user profile) are not touched.
  • Moves the replaced files to a backup under .portable-update in the installation folder. If replacing fails, the previous files are restored and the partial install is kept in a failed-install folder for inspection.

Automatic cleanup

Thirty seconds after VS Code starts, the extension removes files left over from earlier updates. It runs only in installations where this extension's updater has run at least once (those with a .portable-update folder), and only when a window of the installed version is running.

  • Kept: the current version, the previous version, one recovery backup, any version still used by a running process, backups it cannot identify, and every recovery file while a failed-install folder exists.
  • Removed: older versions and their backups, downloaded ZIP files and temporary extraction folders.
  • Cleanup stops without deleting anything if a path is outside the installation folder, contains a link, or cannot be verified. It never runs while an update is in progress.

What was removed is recorded in .portable-update/last-cleanup.json. Errors appear in the Portable VS Code Cleanup output channel. Disabling or uninstalling the extension stops automatic cleanup.

Running the scripts manually

The scripts are in the scripts folder of this extension:

  • Portable mode: <install folder>\data\extensions\utialy.portable-update-button-<version>\scripts
  • Otherwise: %USERPROFILE%\.vscode\extensions\utialy.portable-update-button-<version>\scripts

Run them from a separate PowerShell window, not from the VS Code integrated terminal, because closing VS Code also closes that terminal. Pass the installation folder (the one containing Code.exe) as an absolute path:

$scripts = "$env:USERPROFILE\.vscode\extensions\utialy.portable-update-button-1.1.2\scripts"

# Check for an update without installing it
powershell -NoProfile -ExecutionPolicy Bypass -File "$scripts\Update-VSCode.ps1" -InstallRoot "D:\Tools\VSCode" -CheckOnly

# Update and start VS Code again afterwards; wait at most 30 minutes for VS Code to close
powershell -NoProfile -ExecutionPolicy Bypass -File "$scripts\Update-VSCode.ps1" -InstallRoot "D:\Tools\VSCode" -Restart -WaitMinutes 30

# List what cleanup would remove, without deleting anything
powershell -NoProfile -ExecutionPolicy Bypass -File "$scripts\Cleanup-VSCode.ps1" -InstallRoot "D:\Tools\VSCode" -AppRoot "D:\Tools\VSCode\<version hash>\resources\app" -Preview

Both modes require a running window of the current version, and -AppRoot must be the resources\app folder of that version. With -Preview the script only prints the plan; without it, it removes the listed files.

Disclaimer

This is an unofficial extension. It is not affiliated with or endorsed by Microsoft. Visual Studio Code is a trademark of Microsoft Corporation.

  • Contact us
  • Jobs
  • Privacy
  • Manage cookies
  • Terms of use
  • Trademarks
  • Your Privacy Choices
  • Consumer Health Privacy
© 2026 Microsoft