Skip to content

kts982/wintui

Folders and files

NameName
Last commit message
Last commit date

Latest commit

 

History

65 Commits
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 

Repository files navigation

WinTUI

Go Report Card CI Release License: MIT

A terminal user interface for winget (Windows Package Manager), built with Go and the Charmbracelet TUI libraries.

Browse, install, upgrade, and manage Windows packages without leaving the terminal. WinTUI also includes a headless CLI mode for scripts and a built-in auto-elevation helper that can keep a batch moving with a single UAC prompt.

WinTUI demo

Install

Requirements: Windows 10/11 with winget installed.

winget install kts982.WinTUI

Or install manually:

# Run a release binary
.\wintui.exe

# Or build/install with Go 1.26+
go install github.com/kts982/wintui@latest

# Or clone and build from source
git clone https://github.com/kts982/wintui.git
cd wintui
go build -o wintui.exe .

Pre-built binaries are available on GitHub Releases — both .exe and .zip for Windows amd64 and arm64:

gh release download --repo kts982/wintui --pattern '*windows_amd64.exe'

Features

Package Management

  • Upgrade — open directly to the available updates list, select packages or upgrade all, with live streaming logs
  • Installed — browse packages across winget, msstore, and system sources with selectable checkboxes
  • Install — search and install new packages with live streaming output
  • Package Details — inspect package metadata, choose an explicit target version, and compare installed vs. target upgrade details (i, v)
  • Export / Import — export installed packages to JSON (e) and restore on another machine (m)
  • Headless CLI — use --check, --list, and --json for scripts, Task Scheduler, or CI without launching the TUI

System Utilities

  • Health Check — shells, dev tools, runtimes, package managers, disk space, Defender, developer mode
  • Temp Cleanup — scan and delete temp files older than 7 days
  • Settings — persistent config for winget options (scope, architecture, silent/interactive, force, purge, etc.)

UX

  • Tab-based navigation with number keys, Tab/Shift+Tab, or mouse clicks
  • Per-tab screen state preserved across tab switches
  • Fuzzy filter (/) on package lists
  • Gradient progress bars on all loading states
  • Streaming execution view for install, upgrade, and uninstall operations
  • Post-run log preview with l to expand/collapse execution output
  • Cancellable operations (Esc)
  • Built-in Auto Elevate support for hard admin-required actions, plus Ctrl+e to retry failed elevation-candidate actions; batch retries only rerun failed items
  • Context-aware help bar

Usage

.\wintui.exe

Tip: Some operations require administrator privileges. Run in an elevated terminal for full functionality, or press Ctrl+e when WinTUI offers an elevated retry. The tab bar shows ● admin / ● user status.

Headless CLI

# Human-readable upgrade check
.\wintui.exe --check

# Exit code 1 when updates are available
.\wintui.exe --check || echo "Updates available"

# Machine-readable output
.\wintui.exe --check --json
.\wintui.exe --list --json > packages.json

Further documentation:

Keyboard Shortcuts

Key Action
1-6 Switch tabs
Tab / Shift+Tab Cycle tabs
↑↓ / j/k Navigate
Space Toggle selection
Enter Select / confirm
/ Filter list
i Package details
v Choose package version (detail view) / reveal skipped import entries
c Reset selected package version to latest (detail view)
o Open homepage (in detail view)
r Refresh data
Ctrl+e Retry elevated (when offered)
l Expand / collapse saved execution log after a run
e Export packages (Installed tab)
m Import from export JSON (Installed tab)
u Upgrade all (Upgrade tab) / uninstall selected (Installed tab)
Esc Cancel / back
q Quit

Settings

Configurable from the Settings tab, stored in %APPDATA%\wintui\settings.json:

Setting Options
Install Scope user / machine / auto
Action Mode auto / silent / interactive
Architecture x64 / x86 / arm64 / auto
Default Source winget / msstore / auto
Force skip non-security issues
Allow Reboot permit reboots during install
Skip Dependencies don't process dependencies
Purge on Uninstall delete all package files
Include Unknown Versions show packages with unknown versions
Auto Elevate automatically request admin rights for hard elevation errors

Action Mode applies to install, upgrade, and uninstall requests where the underlying package supports it.

Default Source controls install/search preference only; uninstall works against the installed package database regardless of that setting.

Auto Elevate tries the built-in elevated helper automatically for hard permission errors. When a run still fails, Ctrl+e retries only the failed elevation-candidate items.

For deeper behavior details and examples, see:

Development

# Run the full validation suite
.\scripts\check.ps1 -Mode full

# Optional: enable git hooks
git config core.hooksPath .githooks

The validation suite runs gofmt, go test, go vet, staticcheck, and go build.

Optional Git hooks are included in .githooks/pre-commit and .githooks/pre-push.

Maintainers can regenerate demo.gif from demo.cast with agg. Maintainers can validate the local WinGet manifest with winget validate .\packaging\winget\manifests\k\kts982\WinTUI\0.1.0.

Built With

License

MIT

About

Go TUI frontend for winget (Windows Package Manager) — built with Bubble Tea, Bubbles, and Lip Gloss

Topics

Resources

License

Stars

Watchers

Forks

Packages

 
 
 

Contributors

Languages