Skip to main content

update-all

update-all is a small macOS and Linux CLI that updates the package managers and developer tools installed on your machine.

It skips tools that are not installed, runs independent updates in parallel, and keeps system updates in a sequential pass.

Install

Production install with uv:

uv tool install update-all@latest

Editable development install:

pip install -e ".[dev]"

Update

Upgrade an existing uv installation:

uv tool upgrade update-all

You can also update the package using its built-in command (requires uv):

update-all update

Usage

update-all
update-all --os
update-all --only BREW,NPM
update-all --skip CLAUDE
update-all --jobs 4
update-all --force
update-all update
update-all logs

Useful options:

Option Description
--os Include macOS or Linux system updates.
--only LABELS Run only the comma-separated updater labels.
--skip LABELS Skip the comma-separated updater labels.
--jobs N Set the maximum number of parallel workers.
--force Ignore the once-per-day idempotency check.
--background Run without interactive output, skip OS updates, and log to a file.
--install-agent Install a LaunchAgent on macOS or a systemd timer on Linux.
--uninstall-agent Remove the background scheduler.
update Update update-all itself from PyPI using uv.
logs Display the latest background-run log.

Updates performed

Each updater runs only when its tool is available.

Label Tool Commands
BREW Homebrew formulae and casks brew update; brew upgrade; macOS: brew upgrade --cask --greedy; brew autoremove; brew cleanup --prune=all; brew doctor
APT APT system packages sudo apt update; sudo apt full-upgrade -y; sudo apt autoremove -y; sudo apt clean
SNAP Snap packages sudo snap refresh
FLATPAK Flatpak packages flatpak update -y
MAS Mac App Store mas upgrade
NPM Global npm packages npm update -g
PNPM Global pnpm packages pnpm update -g
YARN Global Yarn v1 packages yarn global upgrade
PIPX pipx packages pipx upgrade-all --include-injected
RUST Rust toolchain rustup self update && rustup update
CARGO Cargo-installed binaries cargo install-update -a
ASDF asdf plugins asdf update && asdf plugin-update --all
MISE mise toolchain mise self-update -y && mise upgrade -y
HERMES Hermes Agent CLI hermes update
CLAUDE Claude CLI claude update
OMZ Oh My Zsh Run Oh My Zsh's upgrade script, falling back to git pull --rebase --autostash

With --os, the additional system commands are:

  • macOS: sudo softwareupdate -l and sudo softwareupdate -ia --verbose
  • Linux: sudo apt full-upgrade -y and sudo apt autoremove -y

Release files for update-all 2.0.8

For a detailed explanation of source distributions (sdists) and built distributions (wheels), please see the package formats documentation.

Source distribution (sdist)

Source distribution for update-all 2.0.8
File Size Uploaded
update_all-2.0.8.tar.gz 34.6 kB Details

Built distribution (wheel)

Table of built distributions (wheels) for update-all 2.0.8
File Interpreter ABI Platform
update_all-2.0.8-py3-none-any.whl Python 3 none any Details

Total release size: 59.3 kB

Release files / update_all-2.0.8.tar.gz

Download URL update_all-2.0.8.tar.gz
Size 34.6 kB
Tags Source
SHA-256 checksum
How to use checksums
d19d97efe28889feb2f6764c568cccbd6095cc70c0e2d1f0c253a29da1aacada
BLAKE2b-256 checksum
How to use checksums
f6114d2765fce5501fdfcb0e273e03e4a1f487d8de9dd01c8d6ea69eeecaf165
Upload date
Uploaded using Trusted Publishing?
What is trusted publishing?
Yes
Uploaded via twine/7.0.0 CPython/3.13.14

Provenance

Provenance describes where a file came from. On PyPI, provenance is shared via attestations, which provide a verifiable record of the build or publishing details. View details, limitations and caveats.

PyPI Publish Attestation

PyPI verified that this artifact, at this checksum, originated from the publisher listed below.

Signed by GitHub Actions, verified by PyPI on Sep 24, 2026.

Transparency log

Release files / update_all-2.0.8-py3-none-any.whl

Download URL update_all-2.0.8-py3-none-any.whl
Size 24.7 kB
Tags Python 3
SHA-256 checksum
How to use checksums
1c7bc6a4daf96e465fbd2b7522fce79c161945b34f4212d0273b7100fcfdd668
BLAKE2b-256 checksum
How to use checksums
4d10b350a201fcfcce635b867f0adec4ab241db6af34b3612ab9fa1e44a1ef0f
Upload date
Uploaded using Trusted Publishing?
What is trusted publishing?
Yes
Uploaded via twine/7.0.0 CPython/3.13.14

Provenance

Provenance describes where a file came from. On PyPI, provenance is shared via attestations, which provide a verifiable record of the build or publishing details. View details, limitations and caveats.

PyPI Publish Attestation

PyPI verified that this artifact, at this checksum, originated from the publisher listed below.

Signed by GitHub Actions, verified by PyPI on Sep 24, 2026.

Transparency log

Release history Release notifications | RSS feed

This release

2.0.8 This release

2 release files

2.0.7

2 release files

2.0.6

2 release files

2.0.4

2 release files

2.0.2

2 release files

Anthropic, PBC Visionary sponsor Bloomberg Visionary sponsor Hudson River Trading Visionary sponsor Meta Visionary sponsor NVIDIA Visionary sponsor Microsoft Sustainability sponsor Depot Continuous Integration AWS Cloud computing and Security Sponsor Datadog Monitoring Fastly CDN Google Download Analytics Sentry Error logging StatusPage Status page