winprint - Advanced source code and text file printing for terminals (all platforms) and Windows/macOS GUIs.
Scoop installs from a bucket we own, so it needs no app-store approval and works
the moment a release ships. One install gives you both the wp terminal UI (on your PATH) and the
WinPrint GUI (Start-Menu shortcut):
scoop bucket add winprint https://github.com/kindel/scoop-winprint
scoop install winprint
Don’t have Scoop yet? Install it first (no admin required):
Set-ExecutionPolicy -ExecutionPolicy RemoteSigned -Scope CurrentUser
Invoke-RestMethod -Uri https://get.scoop.sh | Invoke-Expression
Only the x64 build is published via Scoop today.
If you’d rather not use a package manager, download and run the signed installer directly:
Kindel.WinPrint-win-x64-Setup.exe.This installs the GUI to the Start Menu and puts wp on your PATH, and includes a built-in
updater for future versions.
SmartScreen “isn’t commonly downloaded” prompt. On brand-new releases, Microsoft Defender SmartScreen may still warn that the file “isn’t commonly downloaded”. This is a reputation check based on download volume — not a problem with the signature (the publisher line correctly reads Kindel, LLC). It fades as each release accumulates downloads. To proceed: in Edge, on the download choose ••• → Keep, then Show more → Keep anyway; if Windows prompts at launch, click More info → Run anyway and confirm the publisher is Kindel, LLC. Installing via Scoop (above) avoids this prompt entirely.
Prefer a no-installer copy? The same release also ships
Kindel.WinPrint-win-x64-Portable.zip— unzip it anywhere and runWinPrint.exe(GUI) orcurrent\wp.exe(TUI). This is the same artifact Scoop uses.
winget install Kindel.WinPrint isn’t available yet — the package is pending its first submission to
the Microsoft winget-pkgs community repository. Until
that lands, use Scoop or the GitHub Releases installer above. This page will be updated when
winget goes live.
No additional prerequisites are required on Windows. WinPrint is a self-contained application.
scoop update winprintSetup.exe and run it over the top.scoop uninstall winprintbrew tap kindel/winprint
brew install winprint
This installs the WinPrint GUI cask (the .app), which also bundles the wp
terminal UI — so one command gives you both the app and the wp command on your PATH. No
--cask flag needed. (Prefer a one-liner? brew install kindel/winprint/winprint taps and installs
in a single step.)
Want only the
wpCLI, without the GUI app?brew install kindel/winprint/wpinstalls the CLI-only formula. (Don’t install both thewinprintcask and thewpformula — they each providewpand collide at link time; pick one on macOS.)
The macOS
.appis signed with an Apple Developer ID and notarized by Apple (and stapled), so Gatekeeper accepts it normally — no quarantine/xattrworkaround is needed.
No additional prerequisites are required for basic operation. For printing, macOS uses the built-in CUPS print system.
The macOS GUI is distributed via the Homebrew cask, so Homebrew handles updates (there is no in-app self-updater on macOS):
brew upgrade --cask winprint
brew uninstall --cask winprint
Linux gets the wp terminal UI (the GUI is Windows/macOS only):
brew install kindel/winprint/wp
For actual printing (not just previewing), you need a working CUPS setup:
# Debian/Ubuntu
sudo apt install cups lpr
# Fedora/RHEL
sudo dnf install cups
# Verify CUPS is running
lpstat -p
Linux installs are upgraded with Homebrew:
brew upgrade wp
brew uninstall wp
After installation, verify WinPrint is working:
wp --version
| Mode | Command | Description |
|---|---|---|
| TUI | wp |
Terminal user interface |
| GUI | wp gui |
Graphical user interface on Windows/macOS |
| Start Menu / Spotlight | Search “WinPrint” | Launch the GUI from your OS app launcher |
If wp is not found after installation, ensure the install location is in your PATH. On Windows, you may need to restart your terminal. On macOS/Linux, Homebrew handles this automatically.
The macOS .app is Apple Developer ID–signed and notarized, so Gatekeeper accepts it without the
“WinPrint is damaged” / quarantine errors that unsigned apps trigger — no xattr workaround needed.
For additional help, see Support or file an issue on GitHub.