Skip to main content

All Features

This page lists user-facing features in NVM for Windows v2. The list comes from the product (CLI, shims, settings, and license gates), not from the Features sidebar alone. See What's new in v2 for a shorter v2 summary.

Runtime​

FeatureDescription
Operating ModesRun in shim mode or link mode. You can switch at any time.
Shim modeZig shims intercept node and package-manager commands. See node shim and Package Manager Shims.
Link modeA PATH junction points at the active Node.js directory. There is no per-command intercept.
One-shot version overridePass --nvm-use or --nvm-use=<version> on a shimmed command. NVM strips that flag before Node.js runs.
Show resolved NodePass --nvm-which on a shimmed command. The shim prints source, requested version, effective version, path, then runs Node.js.
On / offnvm on manages Node.js. nvm off stops management and unlinks .nodejs.
No mandatory adminTypical user operations do not need administrator rights.

Install and versions​

FeatureDescription
InstallInstall one or more Node.js versions. Specs include latest, lts, lts/<codename>, and x.x.x.
Parallel installationsEach requested version installs in its own goroutine.
Compact .7z archivesDownloads are Windows .7z archives (x64 or arm64). Size is about 40% smaller than the old layout.
Native extractionNVM uses installed 7-Zip when present. Otherwise it uses the embedded extractor.
Force reinstall--force backs up an existing version, then reinstalls it.
Insecure TLS--insecure or allow_insecure_downloads allows expired or invalid TLS certificates.
Copy global modules--copy-from copies globals from another installed version. --from reinstalls them.
Auto-installed globalsauto_installed_modules installs a defined set of globals with each new Node.js version.
Native toolsnvm install native-tools runs the newest install_tools.bat after Authenticode checks. allow_tool_install can block this.
UninstallRemove one or more versions. --purge also drops cache. --from-apps is a quiet Apps & features uninstall.
UseSet the default version. --install can install a missing version. --local picks the latest installed partial match.
Use latestnvm use latest selects the newest installed semver that has node.exe.
Use LTSnvm use lts or nvm use lts <codename>.
Use lastRestore the previous default (last_version).
List installedList installed versions. Marks the default. Supports JSON and a major-version filter.
List releasesList the download catalog. Marks installed, cached, LTS, and security releases.
DefaultShow the default version and the last version.
AliasesName a version with nvm alias. Reserved names such as latest and lts are blocked.
Process architectureArchive architecture follows the NVM process (amd64 → x64). There is no --arch flag.

Automation​

FeatureDescription
Version resolutionIdentify a version from a specifier, alias, LTS name, or project file.
Version filesDefault detect files are .nvmrc, .node-version, package.json, and package-lock.json. You can change the list.
PinWrite the version to the detect file or to package.json engines. Optional install.
Per-directory auto-useIn shim mode, the shim reads project files and runs that Node.js without changing the system default.
Auto-install missing versionsInstall a required version when a project needs one that is not present.
Auto-install promptauto_install_prompt asks before that install.
Reshimnvm reshim rebuilds global module shims and re-trusts package-manager entrypoints.
Job objectReshim child processes exit when the parent closes, so they do not lock installs.

Cache and offline​

FeatureDescription
Download CacheKeep Node.js archives on disk. --cache / --no-cache override cache_downloads.
Cache addDownload into the cache without installing.
Cache list / removeList or remove version archives, metadata, malware stamps, malware.db, and mirror JWTs.
Local Installationslocal_dir is the archive source. local_install_only never falls back to the network.
Air-gappedair_gapped skips live JWKS, uses offline COSE, and prefers cached Authenticode. Certified MSI ships a build-time malware.db seed; live feed wins when reachable. Skip scans only when no trusted db exists.
Download MirrorsOrdered Node.js mirrors and npm registry URLs. The first successful response wins.
Network deadlinesCatalog, mirror, reachability, and download budgets. --relax-deadlines and --timeout-*-ms override them. nvm doctor can measure them.

Security​

FeatureDescription
AuthenticodeWinVerifyTrust on node.exe and package-manager binaries. See Understanding Security.
Allowed publishersallowed_signers is an organization allow list. allowed_thumbprints pins certificate leafs.
Revocationauthenticode_revocation is online, cached, or disabled. Air-gapped prefers cached.
Verify cacheA signed cache of trusted binaries. A miss runs full Authenticode. nvm reshim reseeds it.
DACL hardeningProtected DACLs on install, data, .shim, and proxy trees. nvm doctor --autofix can repair them.
Shim self-checkA shim launched from .shim compares itself to the installed shim.
Directory trust gateThe proxy blocks package managers when the active Node.js directory is writable by other users (NVM4305).
Delegated command trustThe proxy refuses an unknown, unsigned, or untrusted package-manager entrypoint (NVM4306). Run nvm firewall trust module <name>.
Malicious Package BlockerOpenSSF name/version lookup in signed malware.db. Not a file scanner. Default on in shim mode.
Direct dependency checksCommunity Builds check the named package and direct package.json dependencies. They do not read a lockfile.
Transitive dependency checksCertified Builds also read the project lockfile. They check it when node starts in the project directory.
Malware allow listPolicies-hive patterns (Governance) that clear an OpenSSF hit. Byte-for-byte. * clears every OpenSSF hit.
Organization malware block listCertified Builds only. Extra Policies-hive block patterns (Governance). Community Builds ignore this list.
Malware trust conflictCertified Builds only. prevent (default) still blocks a trusted or approved OpenSSF hit. continue lets that trust through.
Skip malware checksskip_malware_checks skips shim lookups. The definition file still updates. HKLM Policies win only with Governance; otherwise preferences apply.
NVM FirewallYour version, module, and trust lists. This is not the Malicious Package Blocker.
Version firewallGovernance. nvm firewall allow version and deny version write VersionAllowList / VersionBlockList. Lists are ignored without a Governance license.
Module firewallGovernance. Allow or deny npm/pnpm/yarn/npx/vlt installs with local lists. Lists are ignored without a Governance license.
Trust firewallCommunity Builds and Certified Builds. nvm firewall trust module and distrust module. Default seeds include npm, npx, yarn, yarnpkg, corepack, pnpm, and vlt.
Untrusted module actionprompt, allow, or deny when a global CLI self-updates.
Node permission modelShim prepends --permission (Node 23+) or --experimental-permission (20–22).
Default / allowed grantsInsert --allow-* from policy. Drop caller --allow-* tokens that are not in the allow list.
Permission grant auditWrite nodejs.permission_grants when flags are supplied, applied, or removed. The command still runs.
Freeze V8 globalsShim prepends --frozen-intrinsics (Node 12+).
Disallow evalShim prepends --disallow-code-generation-from-strings.
Package minimum ageCooldown for npm/npx/pnpm/yarn/yarnpkg, vlt, and bun/bunx (when the bun wrap is on). Governance can force it.
Package-manager mismatchpm_mismatch_action is ignore, warn, or error when npm/pnpm/yarn does not match Node.js.

Package managers​

FeatureDescription
Package Manager ShimsProxy npm, npx, yarn, pnpm, and similar commands through proxy.exe.
Global Module ShimsReshim writes PATH shims for global CLI commands.
CorepackProxy trampolines yarn/pnpm through corepack.js. Reshim runs on enable, disable, prepare, hydrate, and use.
vltThe proxy treats vlt like other package managers for firewall argv and global reshim.
Bun wrapWrap existing bun / bunx so OpenSSF checks run. NVM does not install bun and does not switch bun versions. Default off on Community Builds. Default on on Certified Builds.

Windows integration​

FeatureDescription
Windows AppsEach installed Node.js version appears in Apps & features.
Event LoggingCommunity Builds write critical events to the Windows Application log.
Structured loggingAdvanced Logging add-on for Certified Builds. Adds EventName and Payload for SIEM. See SIEM.
Desktop NotificationsNative Windows Notification Center. Missed notifications stay until you acknowledge them. Upgrade, install, or apply a build from the notification.
Notification collectionsMute Releases, Hotfixes, Pre-releases, or News in Windows Settings. nvm config cannot flip an OS mute.
Windows RegistryUser preferences live under HKCU. Machine policy can override them on Certified Builds.
nvm:// protocolNotification actions: upgrade (Update / Install / Apply), firewall Trust, and mute malware definition notices.
Code signingCommunity Builds and Certified Builds are code-signed. The publisher is Author Software Inc.

Configuration and diagnostics​

FeatureDescription
Confignvm config list, get, set, reset, and docs. HKLM Policies win over preferences only with Governance; otherwise machine/user preferences apply.
EnvEnvironment report: mirrors, sizes, antivirus, permission flags, license. JSON is available.
DoctorDetect and repair common issues. --autofix can restore DACLs and verify-cache.
UpgradeUpgrade NVM for Windows. disable_upgrade blocks in-app upgrade.
News and releasesBackground sync shows news and update notifications. disable_announcements hides those. License expiry still runs.
Sync taskBackground tick: license, malware definitions, news, and releases.

Builds, policy, and add-ons​

FeatureDescription
Dual BuildsCommunity Builds (MIT) and Certified Builds (EULA). See Choosing a Build.
Community feature modeA Certified Build without a commercial license keeps running with Community features.
LicenseHidden nvm license writes HKLM. Certified Builds, Advanced Logging, and Governance need a sitewide license.
License expiry notificationsCertified Builds warn at 7, 3, and 1 day, on the expiry day, and daily in the 7-day grace window.
Author MirrorGovernance host https://mirror.author.io/runtime/nodejs. JWT version lists. EOL/ALPHA/MAINTENANCE need this host.
Basic HTTP proxyProxy URL, user:pass, or Bearer. WinINET fallback. Community Builds and Certified Builds.
Advanced proxyIWA (NTLM/Negotiate) and PAC/WPAD. Governance add-on.
Administrative templatesADMX/ADML lock or override preferences. See Administrative Templates and Governance.
Active DirectoryDeploy Certified Builds with GPO.
IntuneDeploy Certified Builds as a Win32 app. The installer runs as System.
Trust ArtifactsSigned Bill of Materials (SBOM), SLSA Attestations, SAST results, Open-source license report, and VEX Reporting. Certified Builds add-on.
OEM / Factory ImagesPreconfigure NVM for Windows on a Windows image.