---
title: "winget upgrade --all: update all apps at once on Windows"
canonical: https://saasranked.com/guides/winget-upgrade-all/
applies_to: Windows 11, Windows 10 version 1809 or later, Windows Server 2025
checked: 2026-09-12 (against Microsoft's documentation)
updated: 2026-09-12
---

# winget upgrade --all: update all apps at once on Windows

- winget upgrade with no arguments lists every app that has an upgrade available [1].
- winget upgrade --all upgrades all installed packages that have an update, and -r and --recurse are the same option [1].
- --include-unknown (-u) upgrades packages even if their current version can't be determined [1].
- --silent (-h) runs the installers in silent mode, which suppresses all installer UI [1].
- WinGet is supported on Windows 10 version 1809 (build 17763) or later, on Windows 11 and on Windows Server 2025 [3].

To update every app at once, open Command Prompt or PowerShell and run winget upgrade with no arguments. It shows all available upgrades [1][4]. Then run winget upgrade --all to install them [1]. WinGet skips apps whose version it can't determine unless you add --include-unknown, and it skips pinned apps unless you add --include-pinned [1].

## Syntax

`winget upgrade` takes an optional query and a list of options [1]. It also has the alias `update` [1].

```cmd
winget upgrade [[-q] <query> ...] [<options>]
```

These options matter most when you update everything at once [1]:

- `--all` (also `-r` or `--recurse`) upgrades all installed packages to the latest version, if one is available.
- `--include-unknown` (also `-u` or `--unknown`) upgrades packages even if their current version can't be determined.
- `--include-pinned` (also `--pinned`) upgrades packages even if they have a non-blocking pin.
- `--silent` (also `-h`) runs the installer in silent mode, which suppresses all UI.
- `--interactive` (also `-i`) runs the installer in interactive mode.
- `--accept-package-agreements` and `--accept-source-agreements` accept the license agreements and avoid the prompts.

The commands work the same in Command Prompt, Windows PowerShell and PowerShell 7 [4].

## Examples

### List the apps that have updates

Start here. With no arguments, `winget upgrade` shows all available upgrades and installs nothing [1].

```cmd
winget upgrade
```

It returns a list of the installed apps that have an upgrade available [1]. `winget list --upgrade-available` gives a similar list. It shows the update version and the source it comes from [2].

### Update all apps

This upgrades every installed app that has an update. WinGet looks for all apps with updates and tries to install each one [1].

```cmd
winget upgrade --all
```

Microsoft advises running `winget upgrade` without arguments first, to preview which apps will be upgraded [1].

### Include apps with an unknown version

Some apps don't provide a version. WinGet can't tell if a newer one exists, so it won't upgrade them unless you add `--include-unknown` [1].

```cmd
winget upgrade --all --include-unknown
```

To preview those apps first, `winget list` takes the same option. It lists packages even if their current version can't be determined [2].

```cmd
winget list --upgrade-available --include-unknown
```

### Update all apps without installer windows

`--silent` suppresses all installer UI. The two accept options accept the license agreements and avoid the prompts [1].

```cmd
winget upgrade --all --silent --accept-package-agreements --accept-source-agreements
```

Without administrator rights, some apps may need elevation to install. Windows then asks you to elevate. If you choose not to, that app fails to install [3].

### Include pinned apps

Apps pinned with WinGet are skipped by `--all`. Add `--include-pinned` to upgrade them. Only apps with non-blocking pins are upgraded [1].

```cmd
winget upgrade --all --include-pinned
```

### Update a single app

To upgrade one app, name it by its ID [1].

```cmd
winget upgrade --id Microsoft.PowerToys
```

## Common errors

**An app is skipped by `--all`.** Either WinGet can't determine its current version, or the app is pinned. Add `--include-unknown` or `--include-pinned` [1].

**An app fails to install.** Without administrator rights, some apps need elevation. If you don't approve the Windows elevation prompt, the app fails to install [3]. In an Administrator Command Prompt you won't see those prompts. Use caution there, and only install apps you trust [3].

**WinGet asks you to choose an app.** When you name an app, `upgrade` needs the exact string. If there is any ambiguity, WinGet asks you to filter the command further [1]. Use `--id`, or add `--exact` to match the exact string, including case [1].

**`winget` isn't available yet.** WinGet only becomes available after you sign in to Windows as a user for the first time. If you just signed in for the first time and WinGet isn't there yet, open PowerShell and run this command to request its registration [3]:

```powershell
Add-AppxPackage -RegisterByFamilyName -MainPackage Microsoft.DesktopAppInstaller_8wekyb3d8bbwe
```

If App Installer isn't installed on your device, you can get it from the Microsoft Store [3].

**`winget` is missing on a server.** WinGet isn't available on Windows Server 2022 or earlier. Windows Server 2025 includes it only for Windows Server with Desktop Experience [4].

## Questions

**Does winget upgrade --all work in PowerShell?** Yes. You can run winget from any command shell, including Command Prompt (cmd.exe), Windows PowerShell (powershell.exe) and PowerShell (pwsh.exe) [4].

**How do I see the updates before I install them?** Run winget upgrade with no arguments. It shows all available upgrades [1]. winget list --upgrade-available lists the same kind of apps, with the new version and the source it comes from [2].

**Why does winget upgrade --all skip some apps?** Some apps don't provide a version, so WinGet can't tell whether a newer one exists. Add --include-unknown to upgrade them. Apps pinned with WinGet are also skipped unless you add --include-pinned [1].

**Do I need to run winget as administrator?** Not for every app. Without administrator rights, some apps may need elevation to install. Windows then asks you to elevate, and the app fails to install if you decline. In an Administrator Command Prompt you won't see those prompts, so install only apps you trust [3].

## Sources

1. [upgrade command (winget)](https://learn.microsoft.com/en-us/windows/package-manager/winget/upgrade), Microsoft Learn, accessed 2026-09-12
2. [list command (winget)](https://learn.microsoft.com/en-us/windows/package-manager/winget/list), Microsoft Learn, accessed 2026-09-12
3. [Use WinGet to install and manage applications](https://learn.microsoft.com/en-us/windows/package-manager/winget/), Microsoft Learn, accessed 2026-09-12
4. [Install PowerShell 7 on Windows](https://learn.microsoft.com/en-us/powershell/scripting/install/install-powershell-on-windows), Microsoft Learn, accessed 2026-09-12

Checked against Microsoft's documentation on 12 Sept 2026.
