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

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.6
File Size Uploaded
update_all-2.0.6.tar.gz 34.3 kB Details

Built distribution (wheel)

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

Total release size: 58.9 kB

Release files / update_all-2.0.6.tar.gz

Download URL update_all-2.0.6.tar.gz
Size 34.3 kB
Tags Source
SHA-256 checksum
How to use checksums
7a5c55ff1831c2e212cbcf41bbc63e1ef498bcebae60f3b672418f9abc934f82
BLAKE2b-256 checksum
How to use checksums
67f0a37e646961ec5d4bb3315ebf754b8e2a77b438168adcd4e2ceef69863567
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 14, 2026.

Transparency log

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

Download URL update_all-2.0.6-py3-none-any.whl
Size 24.6 kB
Tags Python 3
SHA-256 checksum
How to use checksums
17a9942dcbf0a4b2158972159824fc7d0c4bc6e73aa789a7265ddd13d3e9d0e2
BLAKE2b-256 checksum
How to use checksums
2a2da507977a7e5c88dbec825c2b1dff581272deedc5bf9de901ad8f1d9f42e6
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 14, 2026.

Transparency log

Release history Release notifications | RSS feed

2.0.8

2 release files

2.0.7

2 release files

This release

2.0.6 This release

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