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 --force --python 3.11

Editable development install:

pip install -e ".[dev]"

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.2

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.2
File Size Uploaded
update_all-2.0.2.tar.gz 30.1 kB Details

Built distribution (wheel)

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

Total release size: 52.6 kB

Release files / update_all-2.0.2.tar.gz

Download URL update_all-2.0.2.tar.gz
Size 30.1 kB
Tags Source
SHA-256 checksum
How to use checksums
eb4d5b68beb0ad7727e03dbcfa46ffe45e157fa59f7910fdfaa9c21d9ed4a6ac
BLAKE2b-256 checksum
How to use checksums
8cd2596859d5dfefafa294e9995364426bf7f7b02a05145c4e014224634a9d0b
Upload date
Uploaded using Trusted Publishing?
What is trusted publishing?
Yes
Uploaded via twine/6.1.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 Jul 21, 2026.

Transparency log

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

Download URL update_all-2.0.2-py3-none-any.whl
Size 22.6 kB
Tags Python 3
SHA-256 checksum
How to use checksums
6334044deb0122b8f2fa0954fc06b0d6708519fc6c9765fc6347a50a4deac6c3
BLAKE2b-256 checksum
How to use checksums
5d0ad8bbb97310a54e1275f30935e871ebf031bf5f8a52cc99126bc888794c5f
Upload date
Uploaded using Trusted Publishing?
What is trusted publishing?
Yes
Uploaded via twine/6.1.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 Jul 21, 2026.

Transparency log

Release history Release notifications | RSS feed

2.0.8

2 release files

2.0.7

2 release files

2.0.6

2 release files

2.0.4

2 release files

This release

2.0.2 This release

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