When you buy through our links, we may earn a commission. Learn more ›

How to Use winget to Install and Update Software

Short answer: winget is the Windows Package Manager command-line tool for installing, upgrading, and removing software. Open PowerShell or Windows Terminal, run `winget search <name>` to find a package, then `winget install <id>` to install it. Use `winget upgrade --all` to update every managed package, and `winget uninstall <id>` to remove one. A package manager saves time when you set up a new programming laptop or refresh an existing one.

Why a package manager saves setup time

When you set up a fresh laptop for programming, the first task is usually installing the same set of tools: an editor, a runtime, a database client, and a handful of command-line utilities. You can do that by opening a browser, finding each download page, and running an installer one by one. A package manager like winget replaces that manual pass with a few commands.

winget is the Windows Package Manager. It works from PowerShell, Windows Terminal, or the classic Command Prompt. You give it a package name or ID, and it downloads and installs the software for you. The same tool can upgrade packages you already have and remove ones you no longer need.

The core winget commands

Before memorizing package IDs, learn the commands that find and manage them. Run these from a terminal. The angle brackets are placeholders, not part of the command.

  • `winget search <name>`: find packages by keyword.
  • `winget show <id>`: display details about a specific package.
  • `winget install <id>`: install a package.
  • `winget list`: list packages winget knows about on your machine.
  • `winget upgrade`: list available updates.
  • `winget upgrade --all`: update all packages with updates.
  • `winget uninstall <id>`: remove a package.

Search for the right package

Run `winget search <name>` and winget returns a table of matching packages. Each row includes an ID, version, and source. The ID is what you pass to install, so write it down.

Use `winget show <id>` to see the exact package before installing. It usually lists the publisher, version, homepage, and license. That step helps you avoid picking a lookalike package with a similar name.

`winget list` shows what is already installed on the machine. You can use it to verify whether a tool is present before you run an install.

Install an editor and runtimes

A typical first setup for web work might include Visual Studio Code, a JavaScript runtime, Python, and Git. You can install each one from the command line once you know its ID. Run `winget search visual studio code` to see available IDs, then use `winget install <id>` for an exact match.

Visual Studio Code has modest requirements: Microsoft recommends a 1.6 GHz or faster processor and 1 GB of RAM. Your other tools will need more, especially if you run a local database or containers. That is where the laptop choice comes in.

Upgrade everything in one pass

Keeping packages current is the part people skip until a project breaks. `winget upgrade --all` updates every package that winget manages. Run it when you start a new project, after a long break, or any time you want a consistent toolchain.

You can preview the work with `winget list` and `winget upgrade` before applying changes. Some updates may close a running app, so save your work first. Updating in a batch is usually faster than visiting each project page.

You can also upgrade a single package with `winget upgrade <id>` instead of all packages. That is useful when a project needs a known version of a tool. The `--all` flag is convenient for routine maintenance.

Remove software without visiting a website

When a project ends or a tool stops being useful, remove it with `winget uninstall <id>`. This is the reverse of install: winget removes the package and its registration. You can chain multiple uninstall commands in one session to clean up a machine.

A tidy system leaves more storage for source code, container images, and virtual machine disks. Storage needs vary by project, and the storage explainers can help you choose a laptop with enough room.

Write a setup script for a new laptop

Since winget accepts a list of package IDs, you can put them in a script and run the script on a new machine. That turns a manual setup into a repeatable workflow.

A minimal script might look like the following, where each line installs a package that you confirmed with `winget search`:

  • `winget install <editor-id>`
  • `winget install <runtime-id>`
  • `winget install <git-id>`
  • Save the file as setup.ps1 and run it in Windows Terminal.

Troubleshoot common winget issues

If winget cannot find a package, check the spelling and try a broader search term. Some apps are published under their company name, while others use the app name.

If an install fails because a newer version already exists, run `winget upgrade` to see what updates are available.

If a package installs but the command is not recognized, close and reopen the terminal. The new PATH is often applied after restarting the shell.

How winget fits a Windows programming laptop

winget itself is light, but the programs you manage are not. Container work with Docker Desktop is a common Windows setup, and Docker Desktop has a Windows install path. If you plan to run containers and virtual machines, more RAM is the safest upgrade. See the Docker and virtual machines guide and the containers and VMs explainer.

For machine learning on a laptop, the GPU matters more. The GeForce RTX 50 Series laptop GPU page highlights AI-oriented features for gaming and creator laptops. A dedicated GPU with enough graphics memory is worth considering for that workload. Start with the data science and machine learning guide and the GPU for ML explainer.

Processor naming also influences a purchase. Intel's guide to processor numbers explains how SKUs and suffixes identify performance tiers. The processor explainer on this site covers the same ground for laptops.

If you are still choosing a machine, browse the programming laptop guide with those workloads in mind.

What to pick for your work

If youPickBuying guide
You write web apps with an editor, a browser, and one container16GBBest Laptops for Web Development in 2026: 14 Picks by Specs
You run Docker Desktop and several virtual machines32GBBest Laptops for Docker and Virtual Machines in 2026: 14 Picks
You train machine learning models on your laptop32GB and a dedicated GPUBest Laptops for Data Science and Machine Learning in 2026
You are a computer science student carrying a laptop to class16GBBest Laptops for Computer Science Students in 2026
You want a thin and light Windows laptop for coding16GBBest Lightweight Laptops for Programming in 2026
You want room to grow over several years32GBBest 32GB RAM Laptops for Programming in 2026: 14 Picks by Specs

Questions

Do I need an internet connection to use winget?

Yes. winget downloads packages from the web, so it needs a connection when installing or upgrading. Once a package is installed, you can use it offline.

Can winget update every app on my laptop?

winget updates apps it manages and that have update metadata. Some apps with their own updaters or Microsoft Store-specific installs may not appear in winget.

Is winget the same as the Microsoft Store?

No. The Microsoft Store is a graphical app store, while winget is a command-line tool. Both can install apps, but winget is scriptable and useful from Windows Terminal.

Can I use winget to install Docker Desktop?

Docker Desktop has a Windows installation path, and if the package is listed in the winget repository you can install it with `winget install`. Check `winget search docker` for the current ID.

What does the `--id` flag do?

The `--id` flag selects a package by its unique identifier, which is more precise than searching by display name. Use `winget show <id>` to confirm before installing.

Does using winget require administrator rights?

Installing or uninstalling many system-wide apps requires an elevated terminal. If you see an access error, reopen Windows Terminal or PowerShell as administrator.

Recent updates

  • : First published.

Sources

Related buying guides