> For the complete documentation index, see [llms.txt](https://docs.devolutions.net/llms.txt). Markdown versions of documentation pages are available by appending `.md` to page URLs; this page is available as [Markdown](https://docs.devolutions.net/unigetui/reference/package-managers.md).

# Supported package managers

The package managers UniGetUI supports on Windows, macOS and Linux, what each one installs, and what must be on the computer for UniGetUI to use it.

UniGetUI doesn't install software by itself. It drives the package managers on your computer and shows their packages in one place. Which managers are available depends on your operating system, and each one only works once its requirements are met.

To turn a manager on or off, change its executable or manage its sources, open ***Package Managers*** in the left menu. Every option is listed in [All settings](/unigetui/reference/settings.md#package-manager-preferences).

## Windows

<table><thead><tr><th width="250">MANAGER</th><th>CLI ID</th><th>WHAT IT INSTALLS</th><th>REQUIREMENTS</th></tr></thead><tbody><tr><td><strong>WinGet</strong></td><td><code>winget</code></td><td>General software and Microsoft Store apps, from the <code>winget</code>, <code>winget-fonts</code> and <code>msstore</code> sources.</td><td>WinGet (App Installer), included in Windows 10 and 11. If WinGet can't be used, UniGetUI falls back to Pinget, a portable WinGet implementation included with UniGetUI.</td></tr><tr><td><strong>Scoop</strong></td><td><code>scoop</code></td><td>Utilities, command-line programs and general software, from buckets such as <code>main</code>, <code>extras</code> and <code>versions</code>. General software needs the <code>extras</code> bucket.</td><td>Scoop. You can install it from the Scoop settings page with <em><strong>Install Scoop</strong></em>. UniGetUI also uses Scoop-Search and Git.</td></tr><tr><td><strong>Chocolatey</strong></td><td><code>chocolatey</code></td><td>General software, from the <code>community</code> repository.</td><td>Chocolatey.</td></tr><tr><td><strong>PowerShell 5.x</strong></td><td><code>winps</code></td><td>PowerShell modules, scripts and cmdlets, from the PowerShell Gallery.</td><td>Windows PowerShell, included in Windows.</td></tr><tr><td><strong>PowerShell 7.x</strong></td><td><code>pwsh</code></td><td>PowerShell modules, scripts and cmdlets, from the PowerShell Gallery.</td><td>PowerShell 7 (<code>pwsh.exe</code>).</td></tr><tr><td><strong>Npm</strong></td><td><code>npm</code></td><td>Node.js libraries and utilities, from the npm registry.</td><td>Node.js with npm.</td></tr><tr><td><strong>Bun</strong></td><td><code>bun</code></td><td>JavaScript packages, from the npm registry.</td><td>Bun.</td></tr><tr><td><strong>Pip</strong></td><td><code>pip</code></td><td>Python libraries and utilities, from PyPI.</td><td>Python with pip. Search uses the <code>parse_pip_search</code> Python package.</td></tr><tr><td><strong>.NET Tool</strong></td><td><code>dotnet-tool</code></td><td>.NET tools, from nuget.org.</td><td>The .NET SDK (<code>dotnet</code>).</td></tr><tr><td><strong>Cargo</strong></td><td><code>cargo</code></td><td>Rust libraries and programs, from crates.io.</td><td>Rust with Cargo. Installing and updating also need <code>cargo-binstall</code> and <code>cargo-update</code>.</td></tr><tr><td><strong>vcpkg</strong></td><td><code>vcpkg</code></td><td>C and C++ libraries.</td><td>vcpkg and Git. The vcpkg root must be set in the <code>VCPKG_ROOT</code> environment variable or with <em><strong>Change vcpkg root location</strong></em>.</td></tr></tbody></table>

## macOS

<table><thead><tr><th width="250">MANAGER</th><th>CLI ID</th><th>WHAT IT INSTALLS</th><th>REQUIREMENTS</th></tr></thead><tbody><tr><td><strong>Homebrew</strong></td><td><code>homebrew</code></td><td>Formulae and casks.</td><td>Homebrew (<code>brew</code>).</td></tr><tr><td><strong>PowerShell 7.x</strong></td><td><code>pwsh</code></td><td>PowerShell modules, scripts and cmdlets, from the PowerShell Gallery.</td><td>PowerShell 7 (<code>pwsh</code>).</td></tr><tr><td><strong>Npm</strong></td><td><code>npm</code></td><td>Node.js libraries and utilities, from the npm registry.</td><td>Node.js with npm.</td></tr><tr><td><strong>Bun</strong></td><td><code>bun</code></td><td>JavaScript packages, from the npm registry.</td><td>Bun.</td></tr><tr><td><strong>Pip</strong></td><td><code>pip</code></td><td>Python libraries and utilities, from PyPI.</td><td>Python with pip.</td></tr><tr><td><strong>.NET Tool</strong></td><td><code>dotnet-tool</code></td><td>.NET tools, from nuget.org.</td><td>The .NET SDK (<code>dotnet</code>).</td></tr><tr><td><strong>Cargo</strong></td><td><code>cargo</code></td><td>Rust libraries and programs, from crates.io.</td><td>Rust with Cargo, <code>cargo-binstall</code> and <code>cargo-update</code>.</td></tr><tr><td><strong>vcpkg</strong></td><td><code>vcpkg</code></td><td>C and C++ libraries.</td><td>vcpkg and Git, with the vcpkg root set.</td></tr></tbody></table>

## Linux

UniGetUI reads `/etc/os-release` to choose the distribution-specific managers. If it can't read the file, it loads all of them.

<table><thead><tr><th width="250">MANAGER</th><th>CLI ID</th><th>WHAT IT INSTALLS</th><th>REQUIREMENTS</th></tr></thead><tbody><tr><td><strong>Apt</strong></td><td><code>apt</code></td><td>Debian and Ubuntu packages.</td><td>A Debian- or Ubuntu-based distribution.</td></tr><tr><td><strong>Dnf</strong></td><td><code>dnf</code></td><td>RPM packages.</td><td>A Fedora-, RHEL- or CentOS-based distribution.</td></tr><tr><td><strong>Pacman</strong></td><td><code>pacman</code></td><td>Arch Linux packages.</td><td>Arch Linux or a derivative.</td></tr><tr><td><strong>Snap</strong></td><td><code>snap</code></td><td>Snap packages, from the Snapcraft store.</td><td>Snap, on a Debian-, Ubuntu-, Fedora- or Arch-based distribution.</td></tr><tr><td><strong>Flatpak</strong></td><td><code>flatpak</code></td><td>Desktop apps, from the configured remotes such as Flathub.</td><td>Flatpak, on a Debian-, Ubuntu-, Fedora- or Arch-based distribution.</td></tr><tr><td><strong>Homebrew</strong></td><td><code>homebrew</code></td><td>Formulae. Casks aren't available on Linux.</td><td>Homebrew (<code>brew</code>).</td></tr><tr><td><strong>PowerShell 7.x</strong></td><td><code>pwsh</code></td><td>PowerShell modules, scripts and cmdlets, from the PowerShell Gallery.</td><td>PowerShell 7 (<code>pwsh</code>).</td></tr><tr><td><strong>Npm</strong></td><td><code>npm</code></td><td>Node.js libraries and utilities, from the npm registry.</td><td>Node.js with npm.</td></tr><tr><td><strong>Bun</strong></td><td><code>bun</code></td><td>JavaScript packages, from the npm registry.</td><td>Bun.</td></tr><tr><td><strong>Pip</strong></td><td><code>pip</code></td><td>Python libraries and utilities, from PyPI.</td><td>Python with pip.</td></tr><tr><td><strong>.NET Tool</strong></td><td><code>dotnet-tool</code></td><td>.NET tools, from nuget.org.</td><td>The .NET SDK (<code>dotnet</code>).</td></tr><tr><td><strong>Cargo</strong></td><td><code>cargo</code></td><td>Rust libraries and programs, from crates.io.</td><td>Rust with Cargo, <code>cargo-binstall</code> and <code>cargo-update</code>.</td></tr><tr><td><strong>vcpkg</strong></td><td><code>vcpkg</code></td><td>C and C++ libraries.</td><td>vcpkg and Git, with the vcpkg root set.</td></tr></tbody></table>

{% hint style="info" %}
The **CLI ID** is the value expected by the `--manager` option of the [command-line interface](/unigetui/reference/cli.md) and by the [automation API](/unigetui/reference/ipc-api.md).
{% endhint %}

{% hint style="warning" %}
Packages are published by third parties, not by UniGetUI or Devolutions. Check the publisher and the source before you install a package. See [Where packages come from and what to trust](/unigetui/guides/understand/trust-and-security.md).
{% endhint %}

## Good to know

* Regular Microsoft Store apps don't show up as updates in UniGetUI; they keep updating through the Store. See [What UniGetUI doesn't do](/unigetui/guides/understand/limits.md).
* WinGet missing or broken? See [WinGet is missing or broken](/unigetui/help/troubleshooting/winget-missing-or-broken.md).


---

# Agent Instructions
This documentation is published with GitBook. GitBook is the documentation platform designed so that both humans and AI agents can read, navigate, and reason over technical content effectively. Learn more at gitbook.com.

## Querying This Documentation
If you need additional information that is not directly available in this page, you can query the documentation by asking a question.

Perform an HTTP GET request on the following URL with the `ask` and `goal` query parameters:

```
GET https://docs.devolutions.net/unigetui/reference/package-managers.md?ask=<question>&goal=<user_goal>
```

`ask` is the immediate question: it should be specific, self-contained, and written in natural language.
`goal` is what the user is ultimately trying to achieve, the reason they need the answer. Sharing it helps GitBook give you a better, more relevant answer. A goal is most helpful when it describes the outcome the user wants rather than restating the question. For example, with `ask=how do I create an API token`, a goal like `automate deployments from our CI pipeline` lets GitBook tailor the answer to that use case.

The response will contain a direct answer to the question and relevant excerpts and sources from the documentation.

Use this mechanism when the answer is not explicitly present in the current page, you need clarification or additional context, or you want to retrieve related documentation sections.
