Skip to content
| Marketplace
Sign in
Visual Studio Code>Other>NVM ManagerNew to Visual Studio Code? Get it now.
NVM Manager

NVM Manager

Jenesei Software

|
87 installs
| (0) | Free
Manage Node.js versions with nvm from VS Code: view installed versions, switch the active one, and auto-switch per project via .nvmrc.
Installation
Launch VS Code Quick Open (Ctrl+P), paste the following command, and press enter.
Copied to clipboard
More Info

NVM Manager

Marketplace Version Platform License

A VS Code extension for nvm: see every installed Node.js version, switch the active one, and let a project pin its version through .nvmrc - all without leaving the editor.

Works with nvm-windows on Windows and nvm-sh on macOS/Linux: switching repoints the global nvm symlink on Windows and updates the integrated terminal environment on macOS/Linux.

Screenshots

NVM Manager
Versions

Features

  • Project view: the Node.js version a project declares and where it comes from (.nvmrc, .node-version, package.json engines.node), whether it matches the active version, and the package manager - declared (packageManager / devEngines), detected from lockfiles, actually in use, and whether it is available on PATH.
  • Registry awareness: the Project view shows which npm registry the project resolves packages from - the project .npmrc, .yarnrc / .yarnrc.yml or bunfig.toml, the global ~/.npmrc, and scoped registries - and flags when the project registry differs from the global one.
  • Versions view in the activity bar: installed versions with the active one marked, plus an Available list (nvm list available / nvm ls-remote) you can install from.
  • Switch in one click from the tree, the status bar, or the command palette (NVM: Switch Node.js Version...).
  • Switch without admin rights: when nvm use cannot repoint the global symlink (nvm-windows without admin rights / Developer Mode), the version is applied to VS Code's integrated terminals through PATH - no system change, no elevation. The nvmManager.switchMode setting selects auto, system or terminal.
  • Works without nvm: if nvm is not installed at all, the extension falls back to discovering Node.js installations on disk and switching them in integrated terminals. nvmManager.nodeVersionsRoots adds extra locations.
  • Active version in the status bar - click it to switch.
  • Auto-switch per project: reads .nvmrc, then .node-version, then package.json engines.node, resolves it against the installed list (22, v22.16.0, 22.16, lts/*, node) and switches.
  • Global and per-project toggles in the sidebar Settings panel:
    • global auto-switch,
    • project override (inherits the global value until you change it),
    • "ask when off" - prompt before switching when auto-switch is disabled.
  • Manage versions: install, uninstall and copy a version from the context menu, with end-of-life markers on outdated majors.
  • Install on demand: when a project pins a version you have not installed, the notification and the Project view offer to install it, resolving engines.node ranges against the remote list.
  • Pin a project version: NVM: Pin Active Version to Project writes the active version to .nvmrc (or .node-version).
  • Status bar awareness: the status bar warns when the active version differs from the project declaration and switches to, or installs, the right version on click.
  • Diagnostics: NVM: Doctor prints the platform, nvm location, PATH, symlinks and workspace trust to the output channel.
  • Workspace Trust aware: in an untrusted workspace the extension shows information but never auto-switches, installs or probes anything declared by project files.
  • Localized in English, Russian, Simplified Chinese, Spanish, Japanese and German - following your VS Code display language.

Requirements

  • Windows: nvm-windows installed and nvm available. Auto-detects nvm.exe from NVM_HOME, then PATH, or set nvmManager.nvmPath.
  • macOS / Linux: nvm-sh installed. Auto-detects NVM_DIR or ~/.nvm, or set nvmManager.nvmDir. Switching applies to VS Code's integrated terminals.

Installation

  • From the Visual Studio Marketplace, or from the Command Palette (Ctrl+P / Cmd+P): ext install jenesei-software.nvm-manager.
  • Or install a local build: Extensions view > ... > Install from VSIX....

Getting started

  1. Open the NVM Manager icon in the activity bar.
  2. The Versions view lists what is installed; the active version has a green check.
  3. Click a version (or the status bar item) to switch. On macOS/Linux, open a new integrated terminal to pick up the change.
  4. Open Settings in the same container to configure auto-switch.

To pin a project version, add .nvmrc at the repository root:

22.16.0

Settings

Setting Default Scope Description
nvmManager.nvmPath "" machine-overridable Windows only. Absolute path to nvm.exe. Empty means auto-detect.
nvmManager.nvmDir "" machine-overridable macOS / Linux only. Path to NVM_DIR. Empty means auto-detect.
nvmManager.autoSwitch false resource Auto-switch the active version from .nvmrc / .node-version / package.json. Set globally or per workspace.
nvmManager.askWhenAutoSwitchOff true window Ask before switching when auto-switch is disabled.
nvmManager.registryAdvanced false window Resolve the global npm registry with npm config get registry (includes environment variables) instead of only reading ~/.npmrc.
nvmManager.switchMode auto window auto tries nvm use and falls back to VS Code terminals when admin rights are required; system always uses nvm use; terminal only switches inside VS Code terminals.
nvmManager.nodeVersionsRoots [] machine-overridable Extra directories scanned for Node.js installations when nvm is not available.

When auto-switch is on, opening a workspace silently switches to the pinned version. When it is off and Ask when off is on, a notification offers Switch and Always for this project.

Commands

Command Description
NVM: Refresh Reload the installed list and the active version.
NVM: Switch Node.js Version... Pick a version from a quick pick.
NVM: Refresh Available Versions Reload nvm list available.
NVM: Toggle Auto-switch (Global) Flip the global auto-switch setting.
NVM: Toggle Auto-switch (This Project) Flip the project override.
NVM: Pin Active Version to Project Write the active version to .nvmrc / .node-version.
NVM: Doctor (Diagnostics) Print an environment report to the output channel.

Security

  • Runs nvm locally and reads project files (.nvmrc, .node-version, package.json) from the open workspace; it has no server component and no telemetry.
  • Values taken from project files are validated before they reach nvm: version strings must match a strict allowlist, arguments passed to a shell are quoted, and the package manager probe only runs known binaries.
  • In an untrusted workspace the extension shows information but never auto-switches, installs or probes anything declared by project files.
  • Terminal switching only prepends PATH for VS Code's integrated terminals: it needs no administrator rights and never changes the system, the global symlink or the user PATH.
  • nvm install / nvm list available reach the network through nvm itself.

Support the project

NVM Manager is free and open source. If it is useful to you:

  • ⭐ Star the repository on GitHub — it helps other people find it.
  • ☕ DonationAlerts — a one-time donation keeps the project alive.

License

MIT

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