microsoft / microsoft/winget-command-not-found

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

Open
#44 0 comments 0 reactions 0 assignees View on GitHub

Nobody has claimed this yet.

Issue-Bug
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
  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
$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

  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 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

Get new issues in your inbox

A short digest of beginner-friendly GitHub issues.