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

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.7
File Size Uploaded
update_all-2.0.7.tar.gz 34.4 kB Details

Built distribution (wheel)

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

Total release size: 59.0 kB

Release files / update_all-2.0.7.tar.gz

Download URL update_all-2.0.7.tar.gz
Size 34.4 kB
Tags Source
SHA-256 checksum
How to use checksums
0322ea430da470e4a5f2c5e53e35e409510db132ff76101f423bfa7764908320
BLAKE2b-256 checksum
How to use checksums
304ff3f96c06f5bff30f99c3f5bcfa233bdc162127684de69e6d0076ec1a070e
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 20, 2026.

Transparency log

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

Download URL update_all-2.0.7-py3-none-any.whl
Size 24.6 kB
Tags Python 3
SHA-256 checksum
How to use checksums
021a6adfc63c381e33a31ac15c5b3dbfa56dae6daf2e371075176ec2a4d88f4a
BLAKE2b-256 checksum
How to use checksums
a30fefb92eda322f1831b267656037750e107e5df825eeed330b9fd3c8106b1f
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 20, 2026.

Transparency log

Release history Release notifications | RSS feed

2.0.8

2 release files

This release

2.0.7 This release

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