| Crates.io | yup |
| lib.rs | yup |
| version | 0.1.4 |
| created_at | 2026-01-12 03:09:51.081098+00 |
| updated_at | 2026-01-12 22:08:00.221008+00 |
| description | One command to update packages across all your managers. |
| homepage | |
| repository | https://github.com/izantech/yup |
| max_upload_size | |
| id | 2036923 |
| size | 137,509 |
Safe, cross-platform updater that upgrades packages across your installed managers.
yup detects your installed package managers and updates them all with a single command. On first run, it shows an interactive configuration wizard to select which managers to update. Subsequent runs execute directly with saved preferences.
cargo install yup
brew tap izantech/tap
brew install yup
winget install izantech.yup
choco install yup
git clone https://github.com/izantech/yup
cd yup
cargo install --path .
yup [OPTIONS] [COMMAND]
| Command | Description |
|---|---|
config |
Re-run the configuration wizard |
log |
Show the last run log |
| Flag | Description |
|---|---|
-h, --help |
Show help message |
-V, --version |
Show version |
-n, --dry-run |
Preview commands without executing |
-y, --yes |
Skip prompts, use saved config defaults |
-v, --verbose |
Show command output during execution |
--only <managers> |
Only update specified managers (comma-separated) |
--skip <managers> |
Skip specified managers (comma-separated) |
--status |
Check for outdated packages without updating |
# First run: interactive configuration wizard
yup
# Subsequent runs: execute with saved config
yup
# Preview what would happen
yup --dry-run
# Non-interactive with all detected managers
yup --yes
# Re-configure which managers to update
yup config
# Only update Homebrew and npm
yup --only brew,npm
# Skip slow managers
yup --skip softwareupdate,mas
# Check for outdated packages
yup --status
# View last run log
yup log
On first run, yup shows an interactive wizard to:
Configuration is stored at:
~/Library/Application Support/yup/config.toml~/.config/yup/config.toml%APPDATA%/yup/config.tomlRun yup config to reconfigure at any time.
yup focuses on package managers that support global package upgrades. Currently supporting 20 managers across platforms.
Logs are stored in platform-appropriate directories:
~/Library/Application Support/yup/~/.local/share/yup/%APPDATA%/yup/Daily rotation with filenames like yup.2026-01-11.log.
This repo pins a Rust toolchain via rust-toolchain.toml. With rustup installed,
cargo build and cargo clippy will use the pinned version automatically.
Some package managers require root/admin privileges (sudo) to run updates:
When privileged commands are queued, yup will:
[sudo] markers next to commands that need elevationsudo -v)sudo to those commandsThis means you only enter your password once, not for each command.