Package Managers

WinGet docs
Open an administrator shell, then install and update Windows apps from the command line with WinGet or Chocolatey.

Installing apps from the command line is faster than clicking through installers, and it makes a new machine reproducible. Windows has two popular options:

  • WinGet is Microsoft's package manager. It's preinstalled on Windows 11 and modern Windows 10 as part of App Installer, so start here.
  • Chocolatey is a community package manager with a larger catalog. It's optional; install it only if WinGet doesn't have something you need.

Open an administrator shell

Some installers need administrator rights. Pick whichever method suits you.

Press Win + X (or right-click the Start button) and select Terminal (Admin). Accept the User Account Control prompt; the tab title starts with Administrator:.

Only elevate when an installer asks for it. Never run your WSL shell, pnpm or npm as administrator.

WinGet

Check that WinGet is available:

winget --version

If the command isn't recognized, update App Installer from the Microsoft Store.

The commands you'll use most:

# Find a package and its ID
winget search vscode

# Install by exact ID
winget install --id Microsoft.VisualStudioCode -e

# List installed apps and available updates
winget list
winget upgrade

# Update everything
winget upgrade --all

# Remove an app
winget uninstall --id Microsoft.VisualStudioCode -e

--id with -e (--exact) avoids installing a similarly named package by accident. Browse IDs on winget.run or with winget search.

Chocolatey (optional)

Open an administrator PowerShell

Use one of the methods above. Chocolatey's default install and most of its commands need an elevated shell.

Check the execution policy

Get-ExecutionPolicy

If it returns Restricted, allow scripts for this session only:

Set-ExecutionPolicy Bypass -Scope Process

Run the installer

Review install.ps1 first if you like, then run:

Set-ExecutionPolicy Bypass -Scope Process -Force; [System.Net.ServicePointManager]::SecurityProtocol = [System.Net.ServicePointManager]::SecurityProtocol -bor 3072; iex ((New-Object System.Net.WebClient).DownloadString('https://community.chocolatey.org/install.ps1'))

Verify

Open a new admin tab and run choco -?. See Getting Started for more.

Basic commands, all run from an administrator shell:

choco install <package> -y
choco upgrade <package>
choco upgrade all -y
choco list
choco uninstall <package>

Search the Community Package Repository for package names.

A few free apps that are useful for web development on Windows:

Install them in one go:

winget install -e --id Microsoft.PowerToys
winget install -e --id Git.Git
winget install -e --id GitHub.GitHubDesktop
winget install -e --id lukehaas.RunJS
winget install -e --id Bruno.Bruno
winget install -e --id Postman.Postman
winget install -e --id Figma.Figma
winget install -e --id JGraph.Draw
winget install -e --id Obsidian.Obsidian
winget install -e --id Notion.Notion