close
Package Manager Manager

Package Manager Manager for macOS

Every package.
One place.

Package Manager Manager inventories the tools scattered across your package managers, on this Mac or remote Macs and Linux hosts over SSH. See what you have, what needs an update, and where everything came from.

brew install --cask mxcl/made/package-manager-manager

HomebrewAPT + apk + DNF + ZyppermiseSkillsnpm + npxuv + uvxCargo + rustup

Package Manager Manager home screen showing installed packages, ecosystems, recommendations, and install packs

One honest inventory

Your tools stopped living in one place.

13

Package managers

Homebrew, APT, apk, DNF, Zypper, mise, Skills, npm, npx, uv, uvx, Cargo, and rustup, searched together.

Missing one? Just open a ticket and we’ll add it.

1

Native Mac app

Search packages, compare versions, and open their project links without returning to the terminal.

0

New abstractions

pkg⋅mgr² uses each manager’s own commands. Your setup stays yours.

From install to source

See the package, not just the package name.

Open a package to see its installed version, install location, binary path, project config files, homepage, repository, and docs. When pkg⋅mgr² knows the native command, update or uninstall it from the same view.

  • Installed and latest versions
  • Project links, config files, and local paths
  • Native update and uninstall actions
Package Manager Manager package detail screen for rustup beside the rustup project website
Configuration
~/.config/direnv/direnv.toml
~/.config/starship.toml
~/.npmrc

Click a path to edit it in your default text editor.

Config files, connected

From package to config in one click.

pkg⋅mgr² surfaces the known configuration and credentials files for each package. Click a path and it opens in your default text editor, ready to change.

  • Home and XDG paths resolved for you
  • Missing files and folders created when needed
  • Open directly in your default text editor

One app, more hosts

Update hosts you already SSH into.

Add a Mac or Linux host. Its Installed and Outdated lists appear in the sidebar, ready for updates and uninstalls.

  • macOS, Debian, Ubuntu, Alpine, Amazon Linux, Fedora, and openSUSE hosts
  • Your existing SSH config, keys, agent, and known_hosts
  • Agentless Linux inventory for APT, apk, DNF, Zypper, npm, Cargo, and uv
Package Manager Manager showing installed and outdated packages on the local Mac Maliwan and remote Mac Pangolin
Package Manager Manager showing npm release notes beside its available update

Update with context

Read the release notes before you update.

Open the project’s release notes beside the installed package. Check breaking changes, then run the update when you’re ready.

  • Installed and available versions together
  • Release notes in the package view
  • Update after you review the changes
01

Find the strays

Cached npx commands and uvx environments count too. If it is taking up space, it belongs in the inventory.

02

Act in context

Update and remove supported packages with the manager that installed them.

03

Keep the caveats

Missing metadata stays missing. rustup remains inventory-only until its actions are safe and obvious.

FAQ

A manager for managers.

Is Package Manager Manager a package manager?

No. PMM is a manager for package managers; it doesn’t manage packages itself.

How is this different from mise?

Apart from the obvious difference—PMM is a GUI, not a CLI—PMM is a dashboard and monitoring app for your other package managers, not a package manager itself. For example, you can use PMM to manage packages installed by mise across all of mise’s own backends.

Free and open source

Take inventory.

Download pkg⋅mgr²