Skip to main content
The source update command refreshes the package index from configured sources. You can also use the refresh alias.

Syntax

winget source update [options]

Options

-n, --name
string
Update specific source by name. If omitted, updates all sources.

Examples

Update all sources:
winget source update
Update specific source:
winget source update --name winget
Use alias:
winget source refresh

Behavior

The update command:
  1. Downloads the latest package index from each source
  2. Updates local cache with new package metadata
  3. Validates index integrity
  4. Reports success or failure for each source

Output

Updating all sources...
Updating winget...
Done
Updating msstore...
Done
For a specific source:
Updating winget...
Done

Automatic Updates

WinGet automatically updates sources in the background. Manual updates are typically only needed:
  • After adding a new source
  • When troubleshooting package search issues
  • To ensure latest package data before critical operations

Update Interval

By default, WinGet checks for source updates every 24 hours. This can be configured via Group Policy:
  • Policy: SourceAutoUpdateIntervalInMinutes
  • Default: 1440 minutes (24 hours)

Troubleshooting

If update fails:
# Reset and update source
winget source reset --name winget --force
winget source update --name winget

Exit Codes

  • 0 - Success
  • 0x8A150016 - Source not found
  • 0x8A150017 - Source update failed (network error, invalid data, etc.)
Source updates require network connectivity to download package indices.
Updating sources doesn’t require administrator privileges unless the source configuration requires it.

Build docs developers (and LLMs) love