Configuration Files
Configure WinGet to match your preferences and workflow by editing thesettings.json file. This guide covers all available settings and common configuration patterns.
Accessing Settings
Opening the Settings File
Quickly open settings in your default JSON editor:If no JSON editor is configured, Windows will prompt you to select one. Notepad works fine for basic editing.
File Locations
Creating a New Settings File
If creating from scratch, always include the schema reference:Source Settings
Auto-Update Interval
Control how frequently WinGet checks for source updates:Configuration Options
Configuration Options
- Positive integer: Update interval in minutes (checked only when source is used)
- 0: Disable automatic updates
- Default: 15 minutes
Visual Settings
Progress Bar Style
Customize the appearance of progress indicators:Available Styles
Available Styles
| Value | Description | Version |
|---|---|---|
accent | Uses Windows accent color (default) | 1.0 |
retro | Uses current terminal foreground color | 1.0 |
rainbow | Cycles through rainbow colors | 1.0 |
sixel | Uses sixel images (requires Windows Terminal 1.22.2362+) | 1.9 |
disabled | No progress display | 1.9 |
All styles except
disabled send Virtual Terminal progress updates that supporting terminals can display.Anonymize Paths
Replace known folder paths with environment variables in output:C:\Users\JohnDoe\AppData becomes %LOCALAPPDATA%
Enable Sixels
Enable sixel image output in supported contexts:Install Behavior
Installation Notes
Control whether installation notes appear after successful installs:Portable Package Locations
Customize where portable packages are installed:Dependency Handling
Skip installing package dependencies by default:Archive Extraction Method
Choose how installer archives are extracted:Available Methods
Available Methods
tar: Use tar.exe for extractionshellApi: Use Windows Shell API (default)
Preferences and Requirements
Preferences affect sorting/selection priority. Requirements filter options, potentially causing installation to fail if unmet.
Scope Preference
- Preference: Tries user scope first, falls back to machine
- Requirement: Only accepts user scope installers
Locale Preference
Prefer specific installer locales:Architecture Preferences
Prioritize specific architectures:Installer Type Priority
Define preferred installer types in order:Supported Installer Types
Supported Installer Types
appx, burn, exe, font, inno, msi, msix, msstore, nullsoft, portable, wix, zipThe first matching type in your list will be preferred. Without this setting, WinGet uses the first type listed in the manifest.
Default Install Root
Set default location for packages requiring install paths:Maximum Resumes
Configure automatic command resume attempts:Requires the
resume experimental feature to be enabled.Uninstall Behavior
Purge Portable Packages
Remove all files when uninstalling portable packages:Behavior Details
Behavior Details
false(default): Only removes the executabletrue: Removes all files and directories related to the portable package
Configure Behavior
Default Module Root
Set where configuration modules are installed:Default:
%LOCALAPPDATA%/Microsoft/WinGet/Configuration/ModulesTelemetry
Disable Telemetry
Prevent WinGet from writing ETW events:See the privacy statement for details on data collection.
Logging
Log Level
Control logging verbosity:Available Levels
Available Levels
verbose: Maximum detailinfo: Standard information (default)warning: Warnings and errors onlyerror: Errors onlycritical: Critical issues only
Log Channels
Filter which log channels are written:Special Channel Values
Special Channel Values
default: Default set of channelsall: All available channels
File Management
Configure automatic log file cleanup:Setting Details
Setting Details
| Setting | Description | Default |
|---|---|---|
ageLimitInDays | Maximum age of log files | 7 days |
totalSizeLimitInMB | Maximum total size of all logs | 128 MB |
countLimit | Maximum number of log files (0 = disabled) | 0 |
individualSizeLimitInMB | Max size per file before wrapping | 16 MB |
Set any limit to 0 to disable that constraint. Cleanup happens at process start.
Network Settings
Downloader Selection
Choose which download engine to use:Downloader Options
Downloader Options
default: WinGet decides (recommended)wininet: Windows WinINet APIsdo: Delivery Optimization service
doProgressTimeoutInSeconds: Seconds to wait without progress before fallback- Range: 1-600 seconds
- Default: 60 seconds
Interactivity
Disable Interactive Prompts
Prevent all interactive prompts from WinGet:Experimental Features
Enable preview features for testing:Direct MSI Installation
Install MSI packages using MSI APIs instead of msiexec:Already in effect for silent installations requiring elevation.
Resume Support
Enable command resumption after failures:installBehavior.maxResumes.
Font Package Support
Enable font family management:Source Priority
Assign priority values to sources:Higher priority sources appear earlier in search results. Match quality and field matching still take precedence.
Complete Configuration Example
A comprehensive settings file combining common configurations:Configuration Scenarios
Developer Workstation
Developer Workstation
Enterprise Deployment
Enterprise Deployment
Minimal Resource Usage
Minimal Resource Usage
Validation and Testing
Verify Settings
After editing, test that settings are valid:IntelliSense Support
Use VS Code or editors with JSON schema support:- Open
settings.jsonin VS Code - Verify schema line is present
- Get autocomplete suggestions as you type
Schema Validation
Your editor should validate against the schema automatically. Look for:- Red squiggly underlines for errors
- Yellow highlights for warnings
- Hover tooltips for field descriptions
Troubleshooting
Settings Not Taking Effect
Settings Not Taking Effect
- Verify file location matches your WinGet installation type
- Check JSON syntax is valid (no trailing commas, proper quotes)
- Restart terminal/command prompt
- Check for Group Policy overrides (see Group Policy Guide)
Settings File Corruption
Settings File Corruption
Delete or rename the file and run:This creates a fresh file with schema reference.
Permission Errors
Permission Errors
Ensure your user account has write access to the settings directory. For packaged versions, this should be automatic.
Best Practices
Always Include Schema
The
$schema property enables validation and autocomplete in editors.Start Small
Begin with a few settings and add more as needed. Don’t copy entire example configs blindly.
Use Comments Sparingly
JSON doesn’t support comments. Use external documentation instead.
Test Changes
Always test setting changes with simple commands before automation.
Related Resources
Package Management
Learn installation and upgrade workflows
Group Policy
Understand policy overrides for settings
Private Sources
Configure custom package sources