You can configure WinGet by editing the settings.json file. Running winget settings will open the file in the default json editor, if no editor is configured, notepad.exe is used.
Settings file is located in %LOCALAPPDATA%\Packages\Microsoft.DesktopAppInstaller_8wekyb3d8bbwe\LocalState\settings.json
If you are using the non-packaged WinGet version by building it from source code, the file will be located under %LOCALAPPDATA%\Microsoft\WinGet\Settings\settings.json
The source settings involve configuration to the WinGet source.
"source": {
"autoUpdateIntervalInMinutes": 3
},A positive integer represents the update interval in minutes. The check for updates only happens when a source is used. A zero will disable the check for updates to a source. Any other values are invalid.
- Disable: 0
- Default: 5
To manually update the source use winget source update
The visual settings involve visual elements that are displayed by WinGet
"visual": {
"progressBar": "accent"
},Color of the progress bar that WinGet displays when not specified by arguments.
- accent (default)
- retro
- rainbow
The installBehavior settings affect the default behavior of installing and upgrading (where applicable) packages.
Some of the settings are duplicated under preferences and requirements. preferences affect how the various available options are sorted when choosing the one to act on. For instance, the default scope of package installs is for the current user, but if that is not an option then a machine level installer will be chosen. requirements filter the options, potentially resulting in an empty list and a failure to install. In the previous example, a user scope requirement would result in no applicable installers and an error.
Any arguments passed on the command line will effectively override the matching requirement setting for the duration of that command.
The scope behavior affects the choice between installing a package for the current user or for the entire machine. The matching parameter is --scope, and uses the same values (user or machine).
"installBehavior": {
"preferences": {
"scope": "user"
}
},The telemetry settings control whether winget writes ETW events that may be sent to Microsoft on a default installation of Windows.
See details on telemetry, and our primary privacy statement.
"telemetry": {
"disable": true
},
If set to true, the telemetry.disable setting will prevent any event from being written by the program.
To allow work to be done and distributed to early adopters for feedback, settings can be used to enable "experimental" features.
The experimentalFeatures settings involve the configuration of these "experimental" features. Individual features can be enabled under this node. The example below shows sample experimental features.
"experimentalFeatures": {
"experimentalCmd": true,
"experimentalArg": false
},Microsoft Store App support in WinGet is currently implemented as an experimental feature. It supports a curated list of utility apps from Microsoft Store. You can enable the feature as shown below.
"experimentalFeatures": {
"experimentalMSStore": true
},While work is in progress on list, the command is hidden behind a feature toggle. One can enable it as below:
"experimentalFeatures": {
"list": true
},While work is in progress on upgrade, the command is hidden behind a feature toggle. One can enable it as below:
"experimentalFeatures": {
"upgrade": true
},While work is in progress on uninstall, the command is hidden behind a feature toggle. One can enable it as below:
"experimentalFeatures": {
"uninstall": true
},While work is in progress for rest source support, the feature is hidden behind a feature toggle. Enabling this will not change how client works currently and will allow testing any additional rest sources added. One can enable it as below:
"experimentalFeatures": {
"restSource": true
},