Settings Configuration
You can configure WinGet by editing thesettings.json file. Running winget settings will open the file in the default JSON editor.
File Location
The settings file is located at: Packaged version (Microsoft Store):When creating a settings file from scratch, include the schema reference:
Opening Settings
Use thewinget settings command to open the settings file in your default JSON editor:
Source Settings
Control how WinGet updates package source repositories.Auto Update Interval
Update interval for package sources in minutes. Set to
0 to disable automatic updates.Source updates only happen when a source is used. To manually update sources, use
winget source update.Visual Settings
Customize the visual appearance of WinGet output.Progress Bar
Style of the progress bar displayed during operations.
| Value | Description | Version |
|---|---|---|
accent | Use Windows Accent color | 1.0+ |
retro | Use current foreground terminal color | 1.0+ |
rainbow | Progress through rainbow colors | 1.0+ |
sixel | Use sixel images (requires compatible terminal) | 1.9+ |
disabled | No progress display | 1.9+ |
You can disable progress for a single command using the
--no-progress flag, which overrides this setting.Path Anonymization
Replace known folder paths with environment variables in output.
Sixel Images
Enable output of sixel images in certain contexts.
Install Behavior
Configure default installation behavior for packages.Install Notes
Disable display of installation notes after successful installation.
Portable Package Directories
Root directory for portable packages installed under User scope.
Root directory for portable packages installed under Machine scope.
Dependencies
Skip installation of package dependencies.
Archive Extraction
Method used to extract installer archives.
shellApi- Use Windows Shell APItar- Use tar executable (tar.exe)
Preferences and Requirements
Understanding Preferences vs Requirements
Understanding Preferences vs Requirements
Preferences affect how available options are sorted when choosing installers. For example, preferring user scope but falling back to machine scope if unavailable.Requirements filter options and may result in installation failure if no matching installer is found.Command-line arguments override matching requirement settings for that command.
Scope Preference
Preferred installation scope.
Locale Preference
Preferred installer locales using BCP47 language tags.
Architecture Preference
Preferred architectures for package installation. Only compatible architectures can be selected.
Installer Type Preference
Preferred installer types in priority order.
appx, burn, exe, font, inno, msi, msix, msstore, nullsoft, portable, wix, zip
Default Install Root
Default installation location for packages that require one.
This setting is only used when a package manifest includes
InstallLocationRequired. The package ID is appended to this root path.Maximum Resumes
Maximum number of automatic command resumes.
The resume behavior requires the experimental
resume feature to be enabled.Uninstall Behavior
Purge Portable Packages
Remove all files and directories when uninstalling portable packages.
Configure Behavior
Settings for configuration file processing.Default Module Root
Root directory where PowerShell modules are installed when applying configurations.
Telemetry
Control telemetry data collection.Disable all telemetry event writing.
Logging
Configure logging behavior and log file management.Log Level
Logging detail level.
verbose, info, warning, error, critical
The
--verbose-logs command flag overrides this setting and always creates verbose logs.Log Channels
Specific logging channels to enable.
fail, cli, sql, repo, yaml, core, test, config, default, all
Log File Management
Maximum age in days before log files are deleted. Set to
0 to disable.Maximum total size in MB for all log files. Oldest files deleted first. Set to
0 to disable.Maximum number of log files to retain. Oldest files deleted first. Set to
0 to disable (default).Maximum size in MB for individual log files. Logs wrap when exceeded. Set to
0 to disable.Automatic cleanup happens at the beginning of each WinGet process and only applies to the default log location.
Network Settings
Configure network behavior for package downloads.Downloader
Download implementation to use.
default- Automatically chosen by WinGetwininet- Use WinINet APIsdo- Use Delivery Optimization service
Seconds to wait without progress before fallback (1-600).
Interactivity
Control interactive prompts from WinGet.Prevent all interactive prompts from WinGet itself (not package installers).
This only affects prompts from WinGet, not from package installers.
Complete Example
Here’s a complete settings.json file with commonly used options:See Also
- Experimental Features - Enable experimental WinGet features
- DSC Integration - Use WinGet with Desired State Configuration