Note
Access to this page requires authorization. You can try signing in or changing directories.
Access to this page requires authorization. You can try changing directories.
The WinGet source command allows you to manage sources. With the source commandyou can addlistupdateremoveresetor export WinGet sources.
A WinGet source provides the data for you to discover and install applications. Only use securetrusted sources.
WinGet specifies the following three default sourceswhich you can list by using winget source list.
- msstore - The Microsoft Store catalog.
- winget - The WinGet Community Repository for applications.
- winget-font - The WinGet Community Repository for fonts.
Usage
winget source <subcommand> <options>

Sub-Commands
The following arguments are available.
| Sub-Command | Description |
|---|---|
| add | Adds a new source. |
| list | Lists current sources. |
| update | Updates current sources. |
| remove | Removes current sources. |
| reset | Resets default sources msstorewingetand winget-font. |
| export | Exports current sources. |
Options
The following options are available.
| Option | Description |
|---|---|
| -?,--help | Shows help about the selected command. |
| --wait | Prompts the user to press any key before exiting. |
| --logs,--open-logs | Open the default logs location. |
| --verbose--verbose-logs | Used to override the logging setting and create a verbose log. |
| --nowarn,--ignore-warnings | Suppresses warning outputs. |
| --disable-interactivity | Disable interactive prompts. |
| --proxy | Set a proxy to use for this execution. |
| --no-proxy | Disable the use of proxy for this execution. |
add
The add subcommand adds a new source. This subcommand requires the --name and --arg options. Because the command changes user accessusing add requires administrator privileges.
Usage:
winget source add [-n] <name> [-a] <arg> [[-t] <type>] [<options>]
Arguments
The following arguments are available.
| Argument | Description |
|---|---|
| -n--name | The name to identify the source by. |
| -a--arg | The URL or UNC of the source. |
| -t--type | The type of source. |
Options
The following options are available.
| Option | Description |
|---|---|
| --trust-level | Trust level of the source (none or trusted). |
| --header | Optional Windows-Package-Manager REST source HTTP header. |
| --accept-source-agreements | Used to accept the source license agreementand avoid the prompt. |
| --explicit | |
| -?--help | Get additional help on this command. |
| --wait | Prompts the user to press any key before exiting. |
| --logs,--open-logs | Open the default logs location. |
| --verbose--verbose-logs | Used to override the logging setting and create a verbose log. |
| --nowarn,--ignore-warnings | Suppresses warning outputs. |
| --disable-interactivity | Disable interactive prompts. |
| --proxy | Set a proxy to use for this execution. |
| --no-proxy | Disable the use of proxy for this execution. |
For example winget source add --name Contoso https://www.contoso.com/cache adds the Contoso repository at URL https://www.contoso.com/cache.
Optional type parameter
The add subcommand supports the optional type parameterwhich tells the client what type of repository it is connecting to. The following types are supported.
| Type | Description |
|---|---|
| Microsoft.PreIndexed.Package | The default source type. |
| Microsoft.Rest | A Microsoft REST API source. |
list
The list subcommand enumerates the currently enabled sourcesor provides details on a specific source.
Note
When a source is set to be explicitit must be specifically targeted. The winget-font source is set to explicit by default. This means any other WinGet commands must directly reference the source using either "--source winget-font" or "-s winget-font" to be included.
Usage:
winget source list [[-n] <name>] [<options>]

Aliases
The following aliases are available for this subcommand:
- ls
Arguments
The following arguments are available.
| Argument | Description |
|---|---|
| -n--name | The name to identify the source by. |
Options
The following options are available.
| Option | Description |
|---|---|
| -?--help | Get additional help on this command. |
| --wait | Prompts the user to press any key before exiting. |
| --logs,--open-logs | Open the default logs location. |
| --verbose--verbose-logs | Used to override the logging setting and create a verbose log. |
| --nowarn,--ignore-warnings | Suppresses warning outputs. |
| --disable-interactivity | Disable interactive prompts. |
| --proxy | Set a proxy to use for this execution. |
| --no-proxy | Disable the use of proxy for this execution. |
list all
The list subcommand by itselfwinget source listprovides the complete list of configured sources:
Name Argument Explicit
------------------------------------------------------------------
msstore https://storeedgefd.dsx.mp.microsoft.com/v9.0 false
winget https://cdn.winget.microsoft.com/cache false
winget-font https://cdn.winget.microsoft.com/fonts true
list source details
To get complete details about a sourcepass in the name of the source. For example:
winget source list --name winget
Returns the following output:
Field Value
--------------------------------------------------
Name winget
Type Microsoft.PreIndexed.Package
Argument https://cdn.winget.microsoft.com/cache
Data Microsoft.Winget.Source_8wekyb3d8bbwe
Identifier Microsoft.Winget.Source_8wekyb3d8bbwe
Trust Level Trusted|StoreOrigin
Explicit false
Updated 2025-12-11 08:30:25.000
Nameis the name of the source.Typeis the type of source.Argis the URL or path the source uses.Datais the optional package nameif appropriate.Updatedis the last date and time the source was updated.
update
The update subcommand forces an update to an individual sourceor to all sources.
Usage:
winget source update [[-n] <name>] [<options>]
Aliases
The following aliases are available for this subcommand:
- refresh
Arguments
The following arguments are available.
| Argument | Description |
|---|---|
| -n--name | The name to identify the source by. |
Options
The following options are available.
| Option | Description |
|---|---|
| -?--help | Get additional help on this command. |
| --wait | Prompts the user to press any key before exiting. |
| --logs,--open-logs | Open the default logs location. |
| --verbose--verbose-logs | Used to override the logging setting and create a verbose log. |
| --nowarn,--ignore-warnings | Suppresses warning outputs. |
| --disable-interactivity | Disable interactive prompts. |
| --proxy | Set a proxy to use for this execution. |
| --no-proxy | Disable the use of proxy for this execution. |
update all
The update subcommand by itselfwinget source updaterequests updates to all repos.
update source
The update subcommand with the --name option directs an update to the named source. For example: winget source update --name Contoso forces an update to the Contoso repository.
remove
The remove subcommand removes a source. This subcommand requires the --name option to identify the source. Because the command changes user accessusing remove requires administrator privileges.
Usage:
winget source remove [-n] <name> [<options>]
Aliases
The following aliases are available for this subcommand:
- rm
Arguments
The following arguments are available.
| Argument | Description |
|---|---|
| -n--name | The name to identify the source by. |
Options
The following options are available.
| Option | Description |
|---|---|
| -?--help | Get additional help on this command. |
| --wait | Prompts the user to press any key before exiting. |
| --logs,--open-logs | Open the default logs location. |
| --verbose--verbose-logs | Used to override the logging setting and create a verbose log. |
| --nowarn,--ignore-warnings | Suppresses warning outputs. |
| --disable-interactivity | Disable interactive prompts. |
| --proxy | Set a proxy to use for this execution. |
| --no-proxy | Disable the use of proxy for this execution. |
Examples
winget source remove --name Contoso
This command removes the Contoso repository.
reset
The reset subcommand resets the client back to its original configurationand removes all sources except the default. Only use this subcommand in rare cases. Because the command changes user accessusing reset requires administrator privileges.
Because the reset command removes all sourcesyou must force the action by using the --force option.
Usage:
winget source reset [[-n] <name>] [<options>]
Arguments
The following arguments are available.
| Argument | Description |
|---|---|
| -n--name | The name to identify the source by. |
Options
The following options are available.
| Option | Description |
|---|---|
| --force | Forces the reset of the sources. |
| -?--help | Get additional help on this command. |
| --wait | Prompts the user to press any key before exiting. |
| --logs,--open-logs | Open the default logs location. |
| --verbose--verbose-logs | Used to override the logging setting and create a verbose log. |
| --nowarn,--ignore-warnings | Suppresses warning outputs. |
| --disable-interactivity | Disable interactive prompts. |
| --proxy | Set a proxy to use for this execution. |
| --no-proxy | Disable the use of proxy for this execution. |
export
The export sub-command exports the specific details for a source to JSON output. This is useful for configuring Group Policy for source management.
Usage:
winget source export [[-n] <name>] [<options>]
Arguments
The following arguments are available.
| Argument | Description |
|---|---|
| -n--name | The name to identify the source by. |
Options
The following options are available.
| Option | Description |
|---|---|
| -?--help | Get additional help on this command. |
| --wait | Prompts the user to press any key before exiting. |
| --logs,--open-logs | Open the default logs location. |
| --verbose--verbose-logs | Used to override the logging setting and create a verbose log. |
| --nowarn,--ignore-warnings | Suppresses warning outputs. |
| --disable-interactivity | Disable interactive prompts. |
| --proxy | Set a proxy to use for this execution. |
| --no-proxy | Disable the use of proxy for this execution. |
Examples
winget source export winget
Returns the following output:
{"Arg":"https://cdn.winget.microsoft.com/cache","Data":"Microsoft.Winget.Source_8wekyb3d8bbwe","Explicit":false,"Identifier":"Microsoft.Winget.Source_8wekyb3d8bbwe","Name":"winget","TrustLevel":["Trusted","StoreOrigin"],"Type":"Microsoft.PreIndexed.Package"}
Source agreement
An individual source may request that the user agree to agreements presented before adding or using the source. If a user does not accept the agreementsWinGet will not be able to access the source.
You can use the --accept-source-agreements option to accept the source agreements and avoid the prompt.
Many WinGet commands evaluate all configured sources. If any configured source requires agreementsWinGet will prompt before using those sources. Source agreements are required to be accepted before use. If a source updates agreement termsor if a source is removed and readded (as in the case of winget source reset --force) agreements will be presented again.

Related topics
Windows developer