Scoop: the Windows installer that treats PATH pollution as the main problem
A command-line installer for Windows.
At a glance
- What is it?
- A PowerShell command-line installer for Windows that confines portable apps to a directory it owns, resolves dependencies itself, and gives up UAC-free installs for anything in the nonportable bucket.
- Who is it for?
- Use Scoop when your Windows work is portable software and you want repeatable, scriptable setup that leaves PATH and the registry alone. Avoid leaning on it as the single answer for a machine that also runs software needing system-wide changes, since the nonportable path reintroduces the UAC prompts the project sells against.
- Can I use it commercially?
- Check first. The repository uses a licence we do not classify automatically, so read its LICENSE file before any commercial use.
- Is it still maintained?
- Yes. The repository last received commits 4 days ago.
- What is it written in?
- Mainly PowerShell, according to GitHub's language statistics.
Answers come from the project's GitHub data, last synced on November 13, 2026, and from our analysis. They are not legal advice.
Star history
- ScoopInstaller/Scoop24,810 ★ · +123
| Repository | 2026-09-22 | 2026-11-13 |
|---|---|---|
| ScoopInstaller/Scoop | 24.7k | 24.8k |
123 Stars in the last 52 days, measured from the daily GitHub snapshot. Compare with other projects
Editorial analysis
Install runs from a non-admin PowerShell and lands in your user profile
Scoop installs itself with two commands, run from a regular, non-admin PowerShell terminal:
Set-ExecutionPolicy -ExecutionPolicy RemoteSigned -Scope CurrentUser
Invoke-RestMethod -Uri https://get.scoop.sh | Invoke-ExpressionThe first line is not incidental. Windows 10 client devices restrict execution of any PowerShell script by default, so without relaxing the policy to RemoteSigned for the current user, the management scripts Scoop depends on will not run at all.
The install target is C:\Users\<YOUR USERNAME>\scoop, a path inside your own profile rather than a machine-wide one. That single choice is what makes the rest of the project's central claim plausible: no elevation is required for the later day-to-day operations, because the write scope you already hold covers the install directory.
Anything beyond this basic path, including advanced installation configurations, lives in the separate ScoopInstaller/Install repository, and installation questions are directed there as new issues rather than to the main repository.
PATH stays clean because installs never write to the system variable
The pitch is not speed. It is the state of the machine afterwards. Scoop is described as eliminating User Account Control prompt notifications, hiding the graphical interface of wizard-style installers, and preventing pollution of the PATH environment variable, which otherwise grows cluttered as apps accumulate on a device.
Two related promises come with that: it avoids unexpected side effects from installing and uninstalling apps, and it resolves and installs dependencies automatically while performing every step needed to reach a working state.
The PATH claim is the one that ages best. Because installs stay confined to a directory Scoop owns, a repeated setup can be expressed as a short script instead of a checklist of clicks, which is how the project demonstrates itself:
scoop install sudo
sudo scoop install 7zip git openssh --global
scoop install aria2 curl grep sed less touch
scoop install python ruby go perlNote the --global flag on the second line.
Portable apps are the easy case, and nonportable admits UAC prompts
The apps most likely to install cleanly are the ones referred to as portable: compressed archives that run standalone once extracted, producing no side effects such as changing the Windows Registry or placing files outside the app directory. That is the entire design target, and it is narrower than the set of software people actually want on a workstation.
Scoop does not stop there. It also supports installer files and their uninstallation methods, single-file apps, and PowerShell scripts, none of which need to be compressed at all. The runat package is cited as an example, and it is simply a GitHub gist.
But the boundary is named rather than hidden. Among the known buckets sits nonportable, labelled as holding non-portable apps that may trigger UAC prompts. So the no-elevation promise holds for portable software and is broken by design for the rest.
The consequence is that you cannot assume a single install model across a whole toolchain. Anything needing registry writes or system directories takes a different path, and the guarantee you were relying on stops applying to it.
A zip and a JSON manifest are the whole publishing contract
If you have built software you would like others to use, Scoop is offered as an alternative to producing an installer such as MSI or InnoSetup. The requirement is narrow: compress the app to a .zip file and provide a JSON manifest describing how to install it.
The repository layout follows from that contract. A schema.json at the root defines the manifest shape, lib/ and libexec/ hold the implementation, bin/ holds executables, buckets.json records known buckets, and test/ holds the test suite. A PSScriptAnalyzerSettings.psd1 file governs the PowerShell itself.
What this buys a publisher is distribution without a build pipeline. What it does not buy is assurance. Read a manifest the way you would read a shell profile before running it, and treat third-party buckets as code you did not write.
aria2 takes over every download and warns on each command until silenced
Scoop can hand downloads to aria2 for multi-connection fetching. The integration needs no configuration step:
scoop install aria2Once present, aria2 is used for all downloads afterward. That is the part worth pausing on: the tool is not scoped to one package or one command, it becomes the default transport for everything the installer fetches from then on.
Because that counts as a change of behaviour, running scoop install or scoop update while aria2 is enabled produces a warning by default. Silencing it is one command:
scoop config aria2-warning-enabled falseEverything else is tunable through the same config command, with these shipped defaults: aria2-enabled, aria2-warning-enabled and aria2-fallback-enabled all true; aria2-retry-wait 2; aria2-split 5; aria2-max-connection-per-server 5; aria2-min-split-size 5M; and an empty aria2-options. A fallback path that is on by default suggests a stalled multi-connection download falls back rather than aborting the install.
Ten known buckets, and main is the only one installed by default
A bucket is a named collection of manifests, and ten are named as known to Scoop. The main bucket holds popular non-GUI apps and is the only one installed by default. extras holds apps that do not meet the main bucket's stated criteria. games covers open-source and freeware video games and game-related tools. nerd-fonts collects Nerd Fonts, nirsoft gathers over 250 apps from Nirsoft, sysinternals carries the Microsoft Sysinternals suite, java collects JDKs, JREs and virtual machine debugging tools, php holds installers for most PHP versions, and versions offers alternative versions of apps found in other buckets.
Adding one is a single command:
scoop bucket add <name>For example:
scoop bucket add extrasThe consequence is a two-step failure mode that catches newcomers. A package name you have seen referenced may be absent simply because the bucket holding it was never added. Many further buckets live on GitHub and are reachable through ScoopSearch at scoop.sh, so the catalogue runs well past the ten listed here, which are only those known to Scoop itself.
Version 0.6.0 followed thirteen quiet months on a busy repository
The repository is not archived, and the default branch, master, received a push on 2026-11-02. Development is plainly continuous.
The release line tells a different story. Version 0.5.2 shipped on 2024-07-30, 0.5.3 on 2025-08-12, and 0.6.0 on 2026-09-30. That is over a year between the first two, then about thirteen months before the current one, on a codebase taking commits far more often than that.
The gap matters for how you read the version number. A 0.x line moving this slowly is not going to deliver a feature release on your schedule, and 0.6.0 has been current for only a short stretch relative to the history behind it. Treat it as the newest and least-exercised point release rather than a settled baseline, and check CHANGELOG.md at the repository root for what actually changed across those widely spaced tags.
The project credits Homebrew and Sub as inspiration, which explains the manifest and bucket vocabulary, and accepts contributions through its Contributing Guide and donations through PayPal.
Editorial conclusion
Use Scoop when your Windows work is portable software and you want repeatable, scriptable setup that leaves PATH and the registry alone. Avoid leaning on it as the single answer for a machine that also runs software needing system-wide changes, since the nonportable path reintroduces the UAC prompts the project sells against. Before installing anything from a third-party bucket, read the manifest, and keep an eye on your bucket list, because adding a bucket is what makes a package visible in the first place.
Frequently asked questions
What is scoop used for?
Scoop is a command-line installer for Windows that installs apps with minimal friction, keeps the PATH environment variable uncluttered, hides the GUI of wizard-style installers, and resolves dependencies automatically.
how to install scoop on windows 11
From a regular, non-admin PowerShell terminal, run Set-ExecutionPolicy with RemoteSigned scoped to CurrentUser, then pipe the get.scoop.sh script through Invoke-RestMethod into Invoke-Expression. Scoop then installs to C:\Users\<YOUR USERNAME>\scoop.
how to install scoop in powershell
Two commands are needed because Windows 10 client devices block PowerShell script execution by default. The first loosens the execution policy for the current user, the second performs the install.
how to use scoop in windows
Scoop is script friendly and suits repeatable setups: you can install several apps in one command line, and a global flag exists for machine-wide placement.
What is scoop in slang?
That meaning is unrelated to this project. Here, scoop is the command-line installer for Windows built in PowerShell, published by ScoopInstaller and documented at scoop.sh.
Official sources
Add this badge to your README
If you maintain this project, the badge below links readers to this analysis and shows its maintenance status from the daily GitHub snapshot. Paste the markdown into your README; add ?metric=license or ?metric=stars to the image URL for a different field.
[](https://hysenlabs.com/projects/scoopinstaller-scoop)Star history chart for your README
[](https://hysenlabs.com/projects/scoopinstaller-scoop)Was this useful?