MPM(1) MPM(1)

mpm - CLI options shared by all subcommands.

mpm [OPTIONS] COMMAND [ARGS]...

CLI options shared by all subcommands.

Use these options to restrict the subcommand to a subset of managers.

- By default, mpm will evaluate all managers supported on the current platform.
- Use the --<manager-id> selectors to restrict target to a subset of managers.
- To remove a manager from the selection, use --no-<manager-id> selectors.
- Order of the selectors is preserved for priority-sensitive subcommands.
- Exclusion of a manager always takes precedence over its inclusion.
Select or deselect AppImage Manager.
Select or deselect Antidote.
Select or deselect Zsh Antigen.
Select or deselect Alpine apk.
Select or deselect Atom apm. (unmaintained)
Select or deselect Debian apt.
Select or deselect Linux Mint apt.
Select or deselect aptitude.
Select or deselect asdf.
Select or deselect Arch Linux aura.
Select or deselect bin.
Select or deselect Homebrew Formulae.
Select or deselect Homebrew Cask.
Select or deselect PHP Composer.
Select or deselect Conda.
Select or deselect Perl CPAN.
Select or deselect deb-get.
Select or deselect devkitPro pacman.
Select or deselect Fedora DNF.
Select or deselect Fedora DNF5.
Select or deselect dotnet tool.
Select or deselect Gentoo emerge.
Select or deselect Solus eopkg.
Select or deselect Fish fisher.
Select or deselect Flatpak.
Select or deselect Linux fwupd.
Select or deselect RubyGems.
Select or deselect GNOME Shell extensions.
Select or deselect Haskell ghcup.
Select or deselect Go.
Select or deselect GNU Guix.
Select or deselect Image Packaging System.
Select or deselect Neovim lazy-nvim.
Select or deselect LuaRocks.
Select or deselect LURE.
Select or deselect Mamba.
Select or deselect Mac App Store.
Select or deselect Neovim mason-nvim.
Select or deselect microdnf.
Select or deselect Micromamba.
Select or deselect MiKTeX.
Select or deselect mise.
Select or deselect Nala.
Select or deselect Nimble.
Select or deselect Nix.
Select or deselect Node npm.
Select or deselect Fish Oh My Fish.
Select or deselect Arch Linux pacaur. (unmaintained)
Select or deselect Arch Linux pacman.
Select or deselect Pacstall.
Select or deselect Arch Linux paru.
Select or deselect PEAR.
Select or deselect Arch Linux pikaur.
Select or deselect Python pip.
Select or deselect Python pipx.
Select or deselect pixi.
Select or deselect PackageKit.
Select or deselect FreeBSD pkg.
Select or deselect pkgit.
Select or deselect Node pnpm.
Select or deselect FreeBSD Ports Collection.
Select or deselect CRUX prt-get.
Select or deselect PowerShell Gallery.
Select or deselect Roswell.
Select or deselect Scoop.
Select or deselect SDKMAN.
Select or deselect Scoop sfsu.
Select or deselect Sheldon.
Select or deselect Snap.
Select or deselect Spack.
Select or deselect Solaris SVR4 package tools.
Select or deselect TazPkg.
Select or deselect Arch Linux trizen.
Select or deselect Python uv.
Select or deselect Python uvx.
Select or deselect Vagrant.
Select or deselect vcpkg.
Select or deselect Neovim vim-pack.
Select or deselect Volta. (unmaintained)
Select or deselect WinGet.
Select or deselect Void XBPS.
Select or deselect Yarn Berry.
Select or deselect Yarn Classic.
Select or deselect Arch Linux yay.
Select or deselect Fedora YUM.
Select or deselect Zef.
Select or deselect Zero Install.
Select or deselect Zsh Zim.
Select or deselect Zinit.
Select or deselect Zsh zplug.
Select or deselect openSUSE Zypper.
Select or deselect apt-cyg. (unmaintained)
Select or deselect Basalt.
Select or deselect bob.
Select or deselect bpkg.
Select or deselect Bun.
Select or deselect Rust cargo.
Select or deselect cave.
Select or deselect Chocolatey.
Select or deselect Nim choosenim.
Select or deselect Chromebrew.
Select or deselect Claude Code plugins.
Select or deselect clib.
Select or deselect Lean elan.
Select or deselect GNU Emacs packages.
Select or deselect Fink.
Select or deselect Google Cloud CLI.
Select or deselect getnf.
Select or deselect GitHub CLI extensions.
Select or deselect gup.
Select or deselect Haxe haxelib.
Select or deselect Hyprland hyprpm.
Select or deselect jpm.
Select or deselect Julia Pkg.
Select or deselect Julia juliaup.
Select or deselect kubectl krew.
Select or deselect MacPorts.
Select or deselect micro editor.
Select or deselect Ollama.
Select or deselect OCaml opam.
Select or deselect opkg.
Select or deselect Manjaro pamac.
Select or deselect Pearl.
Select or deselect Pi extensions.
Select or deselect pipxu.
Select or deselect OpenBSD pkg tools.
Select or deselect Pkgin.
Select or deselect pkgm.
Select or deselect PlatformIO Core.
Select or deselect Python pyenv.
Select or deselect raco.
Select or deselect Rust rustup.
Select or deselect Shelly.
Select or deselect Agent Skills.
Select or deselect slapt-get.
Select or deselect Soar.
Select or deselect Sorcery.
Select or deselect Valve SteamCMD.
Select or deselect stew.
Select or deselect Clear Linux Software Updater. (unmaintained)
Select or deselect TeX Live Manager.
Select or deselect Topgrade.
Select or deselect urpmi.
Select or deselect Visual Studio Code.
Select or deselect VSCodium.
Select or deselect Xcode xcodes.
Select or deselect Yazi ya.
Select or deselect zerobrew.
Select or deselect zvm.
Force evaluation of all managers implemented by mpm, including those not supported by the current platform or unmaintained. Still applies filtering by --<manager-id> / --no-<manager-id> options before calling the subcommand.
Preset manager selection as defined by XKCD #1654. Equivalent to: --pip --brew --npm --dnf --apt --steamcmd.

Report all outdated packages, including those tagged as auto-updating. Only applies to outdated and upgrade subcommands.
Stop right away or continue operations on manager CLI error.
Force running privileged manager operations with (or without) sudo. Unset by default, letting each manager decide: system managers (apt, dnf, pacman, ...) escalate, user-level managers do not. When escalation is needed on a terminal, mpm authenticates once up front instead of prompting mid-run; off a terminal, managers needing root fail fast rather than stalling.
Escalator to run privileged manager operations with. Auto-detected by default, preferring sudo on a host carrying both. Selects the binary only: whether a manager escalates at all stays up to --sudo/--no-sudo and each manager's own policy.
Do not actually perform any action, just simulate CLI calls.
Print the exact package-manager commands each state-changing operation would run, without running them. Read-only queries (installed, outdated, search) still run, so install, remove and upgrade --all resolve to the commands they would actually execute against real system state. The plan prints to stdout, one copy-pasteable command per line.
Maximum duration in seconds for each CLI call. Applies to every manager and operation. When unset, a per-operation default is used instead: a short cap for read-only queries (installed, outdated, search) and a longer one for state-changing operations (install, upgrade, remove, sync, cleanup).
Refuse to install or upgrade any package version published more recently than the given duration, as a mitigation against supply-chain attacks. Accepts a friendly duration ('7 days', '1 week', '12h'), an ISO 8601 duration ('P7D', 'PT12H'), an RFC 3339 absolute timestamp ('2024-05-01T00:00:00Z'), or an enforcement keyword: 'enforce' and 'best-effort' pick the posture for managers without native release-age support (skip them, or run them without the safeguard) while the window comes from the configuration, and 'off' disables the gate for this run. The window is only honored by managers with native release-age support (flatpak, mas, npm, paru, pip, pipx, pnpm, uv, uvx, yay); the others are skipped unless the best-effort posture is selected.
Adopt the environment of your login shell before looking for managers. Meant for a run started outside a terminal, like a menu bar plugin, a desktop extension or a scheduled job: such a run inherits the bare PATH of the desktop session, which hides every manager installed under your home directory and makes pnpm refuse its global commands. mpm runs the shell named by SHELL as an interactive login shell, reads what it exports and adopts it, PATH included, or keeps its own environment when the shell does not answer within 10 seconds. Ignored on Windows, where desktop programs already get your PATH.
Maximum number of managers to run concurrently. Defaults to one less than the CPU count; set 1 to run sequentially. Applies to read-only queries (installed, outdated, search), maintenance commands (sync, cleanup, upgrade --all), and the state changers (install, remove, upgrade, restore), which fan out across managers while running each manager's own packages one at a time. Installing a package left untied to a manager stays sequential.

Show package description in results. Shorthand for adding the 'description' column to 'mpm search'; an explicit --columns selection wins.
Print an end-of-run summary on stderr: a count line of per-manager totals plus any subcommand-specific follow-up notes (like SBOM enrichment and merge counts). Defaults on; use --no-summary to silence.
Opt into network calls during the run. Today this only affects 'mpm sbom', which uses the flag to query OSV.dev for vulnerability data and attach it to the rendered document. Responses are cached on disk so repeat runs are fast. Defaults off; the offline path remains the default. Note: when enabled, this transmits the package inventory to the queried services.
Print a contribution invitation when a user override targets a field that likely indicates an upstream detection bug (cli_names, cli_search_path, requirement, version_cli_options, version_regexes).
Sort results by this field. Repeat to add tie-breakers in priority order, like '-s manager_id -s package_id'.

Print location of the SwiftBar/Xbar plugin.

-0 / --zero-exit
Always exit with a status code of 0, even when problems are found.
Show this message and exit.

Location of the configuration file. Supports local path with glob patterns or remote URL.
Ignore all configuration files and only use command line parameters and environment variables.
Validate the configuration file and exit.
Export the configuration in the selected format to <stdout>, then exit.
[values: toml, yaml, json, json5, jsonc, hjson, xml, plist]

Accessibility mode: disable colors and render tables in a borderless, screen-reader-friendly format.
Colorize the output. A bare --color is the same as --color=always.
Disable colorization (alias of --color=never).
Show progress indicators during long operations. Disabled for non-interactive output (pipes, dumb terminals, CI) and by --accessible.
Color theme used for help screens.
Rendering style of tables.
[values: aligned, asciidoc, colon-grid, csv, csv-excel, csv-excel-tab, csv-unix, double-grid, double-outline, fancy-grid, fancy-outline, github, grid, heavy-grid, heavy-outline, hjson, html, jira, json, json5, jsonc, latex, latex-booktabs, latex-longtable, latex-raw, mediawiki, mixed-grid, mixed-outline, moinmoin, orgtbl, outline, pipe, plain, presto, pretty, psql, rounded-grid, rounded-outline, rst, simple, simple-grid, simple-outline, textile, toml, tsv, unsafehtml, vertical, xml, yaml, youtrack]

Either CRITICAL, ERROR, WARNING, INFO, DEBUG.
[values: CRITICAL, ERROR, WARNING, INFO, DEBUG]
Increase the default WARNING verbosity by one level for each additional repetition of the option.
Decrease the default WARNING verbosity by one level for each additional repetition of the option.
Shorthand for --verbosity DEBUG.

Measure and print elapsed execution time.
Show all CLI parameters, their provenance, defaults and value, then exit.
Show the tree of nested subcommands and exit.
Read the command's manual page and exit.
Render the command in the given format and exit.
Show the version and exit.

Cleanup local data.
Print per-manager overrides as a TOML config template.
Diagnose managers health.
Snapshot installed packages to a TOML manifest or a Brewfile.
Show help for a command.
Install a package.
List installed packages.
List the package managers detected on the system.
List orphaned packages.
List outdated packages.
Remove a package.
Install packages referenced in TOML files.
Export installed packages to a SBOM document.
Search packages.
Sync local package info.
Upgrade packages.
Locate CLIs on system.

Select or deselect AppImage Manager.
Select or deselect Antidote.
Select or deselect Zsh Antigen.
Select or deselect Alpine apk.
Select or deselect Atom apm. (unmaintained)
Select or deselect Debian apt.
Select or deselect Linux Mint apt.
Select or deselect aptitude.
Select or deselect asdf.
Select or deselect Arch Linux aura.
Select or deselect bin.
Select or deselect Homebrew Formulae.
Select or deselect Homebrew Cask.
Select or deselect PHP Composer.
Select or deselect Conda.
Select or deselect Perl CPAN.
Select or deselect deb-get.
Select or deselect devkitPro pacman.
Select or deselect Fedora DNF.
Select or deselect Fedora DNF5.
Select or deselect dotnet tool.
Select or deselect Gentoo emerge.
Select or deselect Solus eopkg.
Select or deselect Fish fisher.
Select or deselect Flatpak.
Select or deselect Linux fwupd.
Select or deselect RubyGems.
Select or deselect GNOME Shell extensions.
Select or deselect Haskell ghcup.
Select or deselect Go.
Select or deselect GNU Guix.
Select or deselect Image Packaging System.
Select or deselect Neovim lazy-nvim.
Select or deselect LuaRocks.
Select or deselect LURE.
Select or deselect Mamba.
Select or deselect Mac App Store.
Select or deselect Neovim mason-nvim.
Select or deselect microdnf.
Select or deselect Micromamba.
Select or deselect MiKTeX.
Select or deselect mise.
Select or deselect Nala.
Select or deselect Nimble.
Select or deselect Nix.
Select or deselect Node npm.
Select or deselect Fish Oh My Fish.
Select or deselect Arch Linux pacaur. (unmaintained)
Select or deselect Arch Linux pacman.
Select or deselect Pacstall.
Select or deselect Arch Linux paru.
Select or deselect PEAR.
Select or deselect Arch Linux pikaur.
Select or deselect Python pip.
Select or deselect Python pipx.
Select or deselect pixi.
Select or deselect PackageKit.
Select or deselect FreeBSD pkg.
Select or deselect pkgit.
Select or deselect Node pnpm.
Select or deselect FreeBSD Ports Collection.
Select or deselect CRUX prt-get.
Select or deselect PowerShell Gallery.
Select or deselect Roswell.
Select or deselect Scoop.
Select or deselect SDKMAN.
Select or deselect Scoop sfsu.
Select or deselect Sheldon.
Select or deselect Snap.
Select or deselect Spack.
Select or deselect Solaris SVR4 package tools.
Select or deselect TazPkg.
Select or deselect Arch Linux trizen.
Select or deselect Python uv.
Select or deselect Python uvx.
Select or deselect Vagrant.
Select or deselect vcpkg.
Select or deselect Neovim vim-pack.
Select or deselect Volta. (unmaintained)
Select or deselect WinGet.
Select or deselect Void XBPS.
Select or deselect Yarn Berry.
Select or deselect Yarn Classic.
Select or deselect Arch Linux yay.
Select or deselect Fedora YUM.
Select or deselect Zef.
Select or deselect Zero Install.
Select or deselect Zsh Zim.
Select or deselect Zinit.
Select or deselect Zsh zplug.
Select or deselect openSUSE Zypper.
Select or deselect apt-cyg. (unmaintained)
Select or deselect Basalt.
Select or deselect bob.
Select or deselect bpkg.
Select or deselect Bun.
Select or deselect Rust cargo.
Select or deselect cave.
Select or deselect Chocolatey.
Select or deselect Nim choosenim.
Select or deselect Chromebrew.
Select or deselect Claude Code plugins.
Select or deselect clib.
Select or deselect Lean elan.
Select or deselect GNU Emacs packages.
Select or deselect Fink.
Select or deselect Google Cloud CLI.
Select or deselect getnf.
Select or deselect GitHub CLI extensions.
Select or deselect gup.
Select or deselect Haxe haxelib.
Select or deselect Hyprland hyprpm.
Select or deselect jpm.
Select or deselect Julia Pkg.
Select or deselect Julia juliaup.
Select or deselect kubectl krew.
Select or deselect MacPorts.
Select or deselect micro editor.
Select or deselect Ollama.
Select or deselect OCaml opam.
Select or deselect opkg.
Select or deselect Manjaro pamac.
Select or deselect Pearl.
Select or deselect Pi extensions.
Select or deselect pipxu.
Select or deselect OpenBSD pkg tools.
Select or deselect Pkgin.
Select or deselect pkgm.
Select or deselect PlatformIO Core.
Select or deselect Python pyenv.
Select or deselect raco.
Select or deselect Rust rustup.
Select or deselect Shelly.
Select or deselect Agent Skills.
Select or deselect slapt-get.
Select or deselect Soar.
Select or deselect Sorcery.
Select or deselect Valve SteamCMD.
Select or deselect stew.
Select or deselect Clear Linux Software Updater. (unmaintained)
Select or deselect TeX Live Manager.
Select or deselect Topgrade.
Select or deselect urpmi.
Select or deselect Visual Studio Code.
Select or deselect VSCodium.
Select or deselect Xcode xcodes.
Select or deselect Yazi ya.
Select or deselect zerobrew.
Select or deselect zvm.
Force evaluation of all managers implemented by mpm, including those not supported by the current platform or unmaintained. Still applies filtering by --<manager-id> / --no-<manager-id> options before calling the subcommand.
Preset manager selection as defined by XKCD #1654. Equivalent to: --pip --brew --npm --dnf --apt --steamcmd.
Report all outdated packages, including those tagged as auto-updating. Only applies to outdated and upgrade subcommands.
Stop right away or continue operations on manager CLI error.
Force running privileged manager operations with (or without) sudo. Unset by default, letting each manager decide: system managers (apt, dnf, pacman, ...) escalate, user-level managers do not. When escalation is needed on a terminal, mpm authenticates once up front instead of prompting mid-run; off a terminal, managers needing root fail fast rather than stalling.
Escalator to run privileged manager operations with. Auto-detected by default, preferring sudo on a host carrying both. Selects the binary only: whether a manager escalates at all stays up to --sudo/--no-sudo and each manager's own policy.
Do not actually perform any action, just simulate CLI calls.
Print the exact package-manager commands each state-changing operation would run, without running them. Read-only queries (installed, outdated, search) still run, so install, remove and upgrade --all resolve to the commands they would actually execute against real system state. The plan prints to stdout, one copy-pasteable command per line.
Maximum duration in seconds for each CLI call. Applies to every manager and operation. When unset, a per-operation default is used instead: a short cap for read-only queries (installed, outdated, search) and a longer one for state-changing operations (install, upgrade, remove, sync, cleanup).
Refuse to install or upgrade any package version published more recently than the given duration, as a mitigation against supply-chain attacks. Accepts a friendly duration ('7 days', '1 week', '12h'), an ISO 8601 duration ('P7D', 'PT12H'), an RFC 3339 absolute timestamp ('2024-05-01T00:00:00Z'), or an enforcement keyword: 'enforce' and 'best-effort' pick the posture for managers without native release-age support (skip them, or run them without the safeguard) while the window comes from the configuration, and 'off' disables the gate for this run. The window is only honored by managers with native release-age support (flatpak, mas, npm, paru, pip, pipx, pnpm, uv, uvx, yay); the others are skipped unless the best-effort posture is selected.
Adopt the environment of your login shell before looking for managers. Meant for a run started outside a terminal, like a menu bar plugin, a desktop extension or a scheduled job: such a run inherits the bare PATH of the desktop session, which hides every manager installed under your home directory and makes pnpm refuse its global commands. mpm runs the shell named by SHELL as an interactive login shell, reads what it exports and adopts it, PATH included, or keeps its own environment when the shell does not answer within 10 seconds. Ignored on Windows, where desktop programs already get your PATH.
Maximum number of managers to run concurrently. Defaults to one less than the CPU count; set 1 to run sequentially. Applies to read-only queries (installed, outdated, search), maintenance commands (sync, cleanup, upgrade --all), and the state changers (install, remove, upgrade, restore), which fan out across managers while running each manager's own packages one at a time. Installing a package left untied to a manager stays sequential.
Show package description in results. Shorthand for adding the 'description' column to 'mpm search'; an explicit --columns selection wins.
Print an end-of-run summary on stderr: a count line of per-manager totals plus any subcommand-specific follow-up notes (like SBOM enrichment and merge counts). Defaults on; use --no-summary to silence.
Opt into network calls during the run. Today this only affects 'mpm sbom', which uses the flag to query OSV.dev for vulnerability data and attach it to the rendered document. Responses are cached on disk so repeat runs are fast. Defaults off; the offline path remains the default. Note: when enabled, this transmits the package inventory to the queried services.
Print a contribution invitation when a user override targets a field that likely indicates an upstream detection bug (cli_names, cli_search_path, requirement, version_cli_options, version_regexes).
Sort results by this field. Repeat to add tie-breakers in priority order, like '-s manager_id -s package_id'.
Print location of the SwiftBar/Xbar plugin.
Always exit with a status code of 0, even when problems are found.
Show this message and exit.
Location of the configuration file. Supports local path with glob patterns or remote URL.
Validate the configuration file and exit.
Export the configuration in the selected format to <stdout>, then exit.
Accessibility mode: disable colors and render tables in a borderless, screen-reader-friendly format.
Colorize the output. A bare --color is the same as --color=always.
Disable colorization (alias of --color=never).
Show progress indicators during long operations. Disabled for non-interactive output (pipes, dumb terminals, CI) and by --accessible.
Color theme used for help screens.
Rendering style of tables.
Either CRITICAL, ERROR, WARNING, INFO, DEBUG.
Increase the default WARNING verbosity by one level for each additional repetition of the option.
Decrease the default WARNING verbosity by one level for each additional repetition of the option.
Shorthand for --verbosity DEBUG.
Measure and print elapsed execution time.
Show all CLI parameters, their provenance, defaults and value, then exit.
Show the tree of nested subcommands and exit.
Read the command's manual page and exit.
Render the command in the given format and exit.
Show the version and exit.

~/.config/mpm/{*.toml,*.yaml,*.yml,*.json,*.json5,*.jwcc,*.jsonc,*.hjson,*.ini,*.xml,*.plist,*.sqlite,*.sqlite3,*.conf,pyproject.toml}

0
Success.
1
A runtime error, or an aborted prompt (Ctrl-C, a declined confirmation).
2
A usage error: unknown option, invalid value, missing operand, or an unparsable configuration file.

List every package installed on the machine

mpm installed

Upgrade everything every manager reports as outdated

mpm upgrade \-\-all

Refuse any release younger than a week while upgrading

mpm \-\-cooldown "7 days" upgrade \-\-all

Snapshot the whole inventory to a TOML manifest

mpm dump packages.toml

Replay that manifest on another machine

mpm restore packages.toml
2026-09-28