// the find
shanselman/winget-tui
A terminal UI for Windows Package Manager (winget) - search, install, upgrade, and manage packages
A Rust terminal UI wrapper around winget for searching, installing, upgrading, and managing Windows packages without leaving the terminal. Built by Scott Hanselman, it's for people who live in a terminal and want winget's functionality without alt-tabbing to a GUI or parsing raw CLI output themselves.
The backend sits behind a WingetBackend trait rather than being baked straight into the UI, which is the right call if they ever want a COM-based implementation instead of shelling out. Install/uninstall/upgrade operations run async so the UI doesn't freeze, and batch upgrade with multi-select plus pin-awareness are features the actual winget CLI doesn't give you for free. Ships as a single static binary with no runtime deps beyond winget itself, so adopting it doesn't mean installing a Rust toolchain.
The only backend implementation shells out to winget.exe and parses its text output, which is inherently fragile; winget's CLI output format has changed before and broken tools that depend on it, and there's no visible strategy here for handling that beyond the trait abstraction. It's Windows-only by definition and its entire value depends on winget behaving correctly underneath it. The winget community repo submission hasn't been merged yet, so the advertised 'winget install' path doesn't actually work right now. Test coverage is thin for a project whose core risk is parsing another program's CLI output — there's one parse_test.rs file and nothing else visible.