Skip to main content

Windows Desktop Notifications

NVM for Windows uses the native Windows Notification Center. You see important work without watching a terminal. Missed notifications stay in Notification Center until you clear them. Windows respects your Focus Assist and per-app notification settings.

Windows Notification Center

Why notifications matter​

Desktop notifications close the gap between a background sync task and a decision you must make.

  • You learn that a new NVM for Windows build is ready while you work elsewhere.
  • You can open the release notes or start the upgrade from the notification. You do not need to recall a command.
  • You see malware blocks and untrusted-module prompts when the console is not in front of you.
  • Certified Builds warn you before a sitewide license expires.

CLI notifications for install, nvm use, and config changes also appear when another process or agent runs NVM and your terminal is not focused.

Channels​

Windows registers four notification collections under NVM for Windows. Each collection is a muteable channel in Settings.

Channel (Settings name)Collection IDEvents
Releasesnvm.releasesStable product updates (x.y.z)
Hotfixesnvm.hotfixesHotfix builds (x.y.z-hotfix.N) for the installed major.minor.patch
Pre-releasesnvm.prereleasesAlpha, beta, rc, and other hyphenated product versions
Newsnvm.newsProject news feed entries

Security, firewall, license, malware, setup, and activity notifications use the default notifier. They have no collection. Windows cannot mute those types one by one. The app master Off, Focus Assist, and GPO still apply.

Sparse identity (an identity-only .msix registered per user, no extra UAC) makes the four collections appear. If registration fails (sideload GPO, missing package), notifications still fire through the AUMID AuthorSoftware.NVMWindows.

Mute and unmute​

Per channel (Windows Settings)​

  1. Open Settings → System → Notifications → NVM for Windows.
  2. Turn a channel Off or On: Releases, Hotfixes, Pre-releases, or News.

You can also mute one channel from the ellipsis on a notification. Unmute from the same Settings page. nvm config cannot clear an OS mute.

By configuration​

GoalHow
Stop news and product-update notificationsnvm config set disable_announcements=true
Stop malware-definition notifications (Certified Builds)Click Don't show again on that notification, or nvm config set notify_malware_definitions=false
Turn announcements back onnvm config set disable_announcements=false
Turn malware-definition notifications back onnvm config set notify_malware_definitions=true

disable_announcements skips news and release / pre-release / hotfix notifications only. It does not suppress license expiry, malware blocks, firewall prompts, or malware-definition notices. HKLM policy can force DisableAnnouncements and NotifyMalwareDefinitions. See Registry Policy Reference.

Actions and automations​

Many notifications include buttons. A button runs a protocol or opens a URL. You do not need to switch to a terminal first.

ButtonChannel / notificationWhat it does
ViewReleases, Hotfixes, Pre-releasesOpens the release page in your browser
UpdateReleasesStarts nvm://upgrade?version=…. NVM upgrades to that version with --force (no console prompt). Omitted when disable_upgrade is on
InstallPre-releasesSame upgrade protocol for a pre-release build. Omitted when disable_upgrade is on
ApplyHotfixesSame upgrade protocol for a hotfix on your current major.minor.patch. Omitted when disable_upgrade is on
ReadNewsOpens the news entry URL
Trust / CancelNVM Firewall (untrusted module)Accepts or declines trust for a self-updated global CLI
Don't show againMalware definitions (Certified Builds)Sets notify_malware_definitions to false
Open Developer SettingsSymlink helpOpens ms-settings:developers

Machine policy can block in-app upgrades with disable_upgrade. When that key is on, the notification omits Update / Install / Apply. View still opens the release page.

When notifications appear​

Most CLI notifications display only when NVM is not already in the foreground. If you run nvm in an interactive terminal and that window has focus, those notifications are skipped so the UI does not interrupt work you are already watching.

Background cases that still notify include:

  • Long-running installs started from another context
  • Scheduled sync and update checks (sync.exe)
  • License expiry reminders (Certified Builds)

CLI notifications​

These use Notification Center when the NVM process is not in the foreground:

TriggerTitleMessage (approx.)
Install finished(empty) or failure titleNode.js vX installed / Node.js vX Installation Failed (plus error text)
nvm use (default switch)(empty)Now using Node.js vX by default.
nvm uninstall(empty)Joined status lines (uninstalled, skipped, active switch, cache purge, and similar)
nvm config set(empty)key set to value
nvm alias add(empty)"<name>" now refers to vX.X.X
nvm alias remove(empty)<count> alias(es) removed successfully.
nvm pin(empty)Success text for .nvmrc / package.json engines updates
Symlink failure (Developer Mode off)Help Enabling SymlinksButton: Open Developer Settings

Sync and security notifications​

Scheduled maintenance and security paths also display notifications:

TriggerChannelTitleNotes
News feedNewsFeed entry titleBody is the entry description. Button: Read. Skipped when disable_announcements is true
Update availableReleasesUpdate Available or vX.X.X now AvailableNo summary: title is Update Available and the body says a new version is available. With a release summary: title is vX.X.X now Available and the body is that summary. Buttons: View and Update. Skipped when disable_announcements is true
Pre-release availablePre-releasesUpdate Available or vX.X.X now AvailableSame title and body rules. Buttons: View and Install. Skipped when disable_announcements is true
Hotfix availableHotfixesUpdate Available or vX.X.X now AvailableSame title and body rules. Only for a hotfix on the installed major.minor.patch. A summary is required when you cut the hotfix. Buttons: View and Apply. Skipped when disable_announcements is true
License expiry
(Certified Builds)
(default)NVM for Windows license expires in … / expiredNot suppressed by disable_announcements. At most one notification per milestone or day
Malware definitions
(Certified Builds)
(default)Malware definitions updatedSilent. Body is the added and removed counts. Don't show again sets notify_malware_definitions to false. Not suppressed by disable_announcements
Malware block, console in the background(default)Malicious package blockedAudible (Notification.Reminder). Names at most three packages, then and N more. Not suppressed by disable_announcements. On a Community Build joined to Active Directory, Entra, or Google Workspace, the body adds: Certified keeps a record of blocks like this for your security tools.
Untrusted module (notification path)(default)NVM FirewallButtons: Trust / Cancel. Used when the terminal is not in the foreground