Minimal CLI tool for managing winget upgrades.
A fast, interactive, and safe wrapper around winget that allows you to cleanly check, list, and install updates on Windows without the visual noise.
- Safe by default: Packages with
unknownversions are hidden and ignored unless explicitly requested. - Interactive UI: Select which packages to upgrade using a simple checkbox prompt.
- Dependency-free runtime: Available as a standalone
.exeor a lightweight NPM package. - Idempotent: Safe to run multiple times. Handles
wingetquirks, errors, and UAC prompts gracefully.
Option A: Standalone Executable
- Go to the Releases page.
- Download
winup.exe. - Place it in a folder that is added to your system's
PATH.
Option B: Via NPM / Bun (For developers)
npm install -g winup-cli
# or
bun add -g winup-cliRun the tool from your terminal:
# Interactively upgrade safe packages
winup upgrade
# Just check how many updates are available
winup check
# List all available safe updates in a table
winup list
# List ALL updates, including risky 'unknown' versions
winup list --include-unknowncheck- Quickly check for available updates without printing the full list.list- Display a dynamic table of available updates.upgrade- Launch the interactive upgrade prompt.
--all-safe- Automatically upgrade all safe packages without prompting.-i, --id <ids...>- Upgrade specific package(s) by ID (e.g., winup upgrade -i Google.Chrome).--include-unknown- Include unknown versions in the interactive list or automatic upgrade.--dry-run- Simulate the upgrade process without making system changes.
Written in strict TypeScript using ESM.
# Install dependencies
bun install
# Run unit tests
bun test
# Build the project
bun run build
# Compile standalone executable locally
bun run compile:exe
Made by Kossman