microsoft / microsoft/winget-command-not-found
Microsoft.WinGet.CommandNotFound predictor causes PowerShell process crash when offline
Nobody has claimed this yet.
- Dominant language
- PowerShell
- Stars
- 60
- Forks
- 8
- PR merge metrics
- No merged PRs in 30d
Description
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
- Disconnect the PC from the internet (turn off Wi-Fi / unplug Ethernet).
- Open a new PowerShell / Windows Terminal session with
Microsoft.WinGet.CommandNotFoundenabled. - 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
$PSVersionTable.PSVersion
Major Minor Patch PreReleaseLabel BuildLabel
----- ----- ----- --------------- ----------
7 6 5
---
Edition Windows 11 Pro
Version 25H2
Installed on 02/15/2025
OS build 26200.8875
Experience Windows Feature Experience Pack 1000.26100.334.0
Contributor guide
No contributing guide indexed for this repository
First steps
- Read the whole issue, then the project's contributing guide.
- Comment on the issue to say you are picking it up — it saves two people doing the same work.
- Fork the repository and make your change on a branch.
- Open a pull request that references the issue number.
Research direction
Start by locating WinGetCommandNotFoundFeedbackPredictor.WarmUp() and reproduce the failure with the machine offline. Trace how the CatalogConnectException is propagated from the background task. Done means an offline catalog warmup no longer terminates the PowerShell session and the failure is handled 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