Where Does WinGet Store Downloaded Packages on Windows?
WinGet stages installers in a TempState cache during install and uses the Downloads folder for explicit download commands.
Last updated
During install, WinGet downloads the installer to %LOCALAPPDATA%\Packages\Microsoft.DesktopAppInstaller_8wekyb3d8bbwe\TempState\WinGet. Newer builds may use %TEMP%\WinGet instead.
Files are normally deleted after a successful install. The winget download command is different and saves to %USERPROFILE%\Downloads unless a custom directory is passed.
Where WinGet stores this, by platform
C:\Users\<username>\AppData\Local\Packages\Microsoft.DesktopAppInstaller_8wekyb3d8bbwe\TempState\WinGet
Replace <username> with the Windows account name. Temp files are named by package ID and version with installer extension, plus a .log during install. Failed installs or UAC cancels can leave files behind for retry. Empty folders may remain after cleanup. Check %TEMP%\WinGet on builds that migrated the staging path.
C:\Users\<username>\Downloads
Default output for winget download unless --download-directory is used. Configurable with downloadBehavior defaultDownloadDirectory in settings.json at LocalState\settings.json. Portable installs default under %LOCALAPPDATA%\Microsoft\WinGet\Packages, and logs default under LocalState\DiagOutputDir.
Frequently asked questions
Can I reuse a WinGet installer without redownloading?
If the staged file still exists in TempState\WinGet or %TEMP%\WinGet after a failed install, copy it elsewhere before retrying. Successful installs delete the staged copy, so use winget download to keep a persistent installer in Downloads.
How do I change where winget download saves files?
Pass --download-directory with a full path on the command line, or set defaultDownloadDirectory to an absolute path in WinGet settings. Open settings with winget settings and verify the JSON remains valid.
Notice an outdated path? Let us know.