microsoft / microsoft/winget-command-not-found

Microsoft.WinGet.CommandNotFound predictor causes PowerShell process crash when offline

Open
#45 1 comment 0 reactions 0 assignees View on GitHub

Nobody has claimed this yet.

Issue-Bug Needs-Triage
Dominant language
PowerShell
Stars
60
Forks
8
PR merge metrics
No merged PRs in 30d

Description

Relevant area(s)

PowerShell Module

Relevant command(s)

No response

Brief description of your issue

When starting a PowerShell session without an active internet connection, the Microsoft.WinGet.CommandNotFound module fails during its background WarmUp() task. The resulting CatalogConnectException is unhandled and causes the entire PowerShell process to crash with exit code 0xe0434352 (process exited with code 3762504530).

Steps to reproduce
  1. Disconnect the PC from the internet (turn off Wi-Fi / unplug Ethernet).
  2. Open a new PowerShell / Windows Terminal session with Microsoft.WinGet.CommandNotFound enabled.
  3. Observe the startup error and process crash.
Expected behavior

Background catalog warmup failures due to lack of network connectivity should be handled gracefully (e.g., swallowed or logged silently) without crashing the PowerShell host process.

Actual behavior

An unhandled System.Management.Automation.CmdletInvocationException wrapping a Microsoft.WinGet.Client.Engine.Exceptions.CatalogConnectException is thrown from WinGetCommandNotFoundFeedbackPredictor.WarmUp(), terminating the PowerShell session immediately.

Environment
[winget --info]
Windows Package Manager v1.29.290
© 2026 Microsoft. All rights reserved.

Windows: Windows.Desktop v10.0.26200.8875
System Architecture: X64
Package: Microsoft.DesktopAppInstaller v1.29.290.0

WinGet Directories
-------------------------------------------------------------------------------------------
Logs                               %LOCALAPPDATA%\Packages\Microsoft.DesktopAppInstaller_8…
User Settings                      %LOCALAPPDATA%\Packages\Microsoft.DesktopAppInstaller_8…
Portable Links Directory (User)    %LOCALAPPDATA%\Microsoft\WinGet\Links
Portable Links Directory (Machine) C:\Program Files\WinGet\Links
Portable Package Root (User)       %LOCALAPPDATA%\Microsoft\WinGet\Packages
Portable Package Root              C:\Program Files\WinGet\Packages
Portable Package Root (x86)        C:\Program Files (x86)\WinGet\Packages
Installer Downloads                %USERPROFILE%\Downloads
Configuration Modules              %LOCALAPPDATA%\Microsoft\WinGet\Configuration\Modules

Links
---------------------------------------------------------------------------
Privacy Statement   https://aka.ms/winget-privacy
License Agreement   https://aka.ms/winget-license
Third Party Notices https://aka.ms/winget-3rdPartyNotice
Homepage            https://aka.ms/winget
Windows Store Terms https://www.microsoft.com/en-us/storedocs/terms-of-sale

Admin Setting                             State
--------------------------------------------------
LocalManifestFiles                        Disabled
BypassCertificatePinningForMicrosoftStore Disabled
InstallerHashOverride                     Disabled
LocalArchiveMalwareScanOverride           Disabled
ProxyCommandLineOptions                   Disabled
ConfigurationProcessorPath                Disabled
DefaultProxy                              Disabled

Contributor guide

No contributing guide indexed for this repository

First steps

  1. Read the whole issue, then the project's contributing guide.
  2. Comment on the issue to say you are picking it up — it saves two people doing the same work.
  3. Fork the repository and make your change on a branch.
  4. Open a pull request that references the issue number.

Research direction

Start at WinGetCommandNotFoundFeedbackPredictor.WarmUp() in the PowerShell module and trace how the background task handles CatalogConnectException and CmdletInvocationException. Reproduce with the machine offline, then verify that a new PowerShell session remains running and that the expected startup behavior is preserved without an unhandled exception.

Written by the indexing model from the issue text.

Assessment

Tech stack
powershell
Domain
cli
Issue type
Bug
Difficulty
3/5
Estimated time
1-2 days
Activity status
Active
Clarity
Mostly clear
Newbie friendliness
68/100

Get new issues in your inbox

A short digest of beginner-friendly GitHub issues.