A Guide to Using Buckets
You can list official buckets by using the following command:
scoop bucket known
As a rule of thumb, I usually add the
extras bucket after installing Scoop on my computer, but it’s important to install the
git package first. To do that, simply type:
scoop install git scoop bucket add extras
Global Bucket Directory
A comprehensive directory of all known buckets can be found on the official Scoop homepage: Scoop Buckets.
You might find it interesting to peruse the alternative directory located at scoop-directory, where a plethora of tools and search directories are listed, if that piques your interest.
Installing Scoop to a Different Folder
It’s not recommended to install Scoop in a folder that contains whitespaces in its installation path, as this can cause problems for some applications later.
If you run into this issue with a particular Scoop package, one solution could be to install that package globally, as this location does not contain spaces by default,
To prevent this problem in the first place, check if your user home folder contains whitespace in its path. For example, as my username is “Common User” and therefore I have a space char in home path, I have to install Scoop in a different directory instead of a subfolder within home path.
Although I haven’t tried it myself now, it should be possible to install Scoop in a different folder, such as
C:\Apps\Scoop, by using the following commands:
irm get.scoop.sh -outfile 'install.ps1' .\install.ps1 -ScoopDir 'C:\Apps\Scoop'
I previously used a different, now officially deprecated, legacy procedure. See install info. This method involves manually and permanently setting the
SCOOP environment variable, which means that simply setting the environment variable temporarily with
$env:SCOOP = 'newpath' isn’t enough. You must ensure that it’s set permanently after a restart.
# set variable $env:SCOOP='C:\Apps\Scoop' # make it permanent [environment]::SetEnvironmentVariable('SCOOP', $env:SCOOP, 'User') # start setup irm get.scoop.sh | iex # the most elegant way to search for environment variables is the command dir env: | findstr "scoop"
The above-mentioned commands are no longer recommended, although they still work as expected.
Direct Package Setup from Manifest
You can install certain packages directly, without adding a bucket for them. For example, the Ash258/Scoop-Ash258 bucket has a Docker recipe that you can install with the following command:
sudo scoop install https://raw.githubusercontent.com/Ash258/scoop-Ash258/master/bucket/docker.json
Note that you must log in again for the changes to take effect.
Some Convenient Scoop Tools
Global Package Search
The official website features a useful search that I often use, which searches all possible and known buckets on GitHub.
I’d love to have such a search right at my fingertips in the command line, and it seems I’m not the only one yearning for it, as someone has created a tool that fits the bill, solely for the command line.
You can find this tool at grisha765/scoop-search-directory repository and you can install it with a simple command
scoop install scoop-sd.
The usage is simple:
Swift Local Operations
This new tool, ˛
sfsu as short for the cheeky “Stupid Fast Scoop Utils”, is incredibly fast. The
sfsu search command is about 500 times faster than the regular search and 5 times speedier than
scoop-search. Meanwhile, the
sfsu list command is roughly 30 times faster than
You should install it with the command
scoop install sfsu.
The most basic commands, of course, are to install and uninstall apps, to list the installed apps, and to search for available apps:
scoop install AnyApp scoop uninstall AnyApp scoop list scoop search SearchTerm
The best way to discover Scoop commands is to type
scoop without any parameters. Then, if you’re interested in more information about a specific command, type
scoop help cat for information about the
scoop cat command, for instance.
This information is read from the Scoop/libexec folder, which holds all possible scoop commands. This is also the most detailed documentation, as the code is present and this makes it easier to understand what the command is doing.
Some apps can add more than one new command. As those commands may not be always obvious, there is a way to discover which new commands an app has added.
scoop shim list | findstr AnyApp
You can also list all apps for which the shim command is not identical to the app name:
scoop shim list | awk '$1 != $2'
You can opt to skip the hash check on app setup, by typing:
scoop install --skip AnyApp
You can display or clear the download cache by using the
cache command. To clear everything in the download cache, use:
scoop cache rm *
cleanup to free up disk space by removing old versions and clearing the cache:
scoop cleanup * --cache
checkup command begins a series of tests for potential issues.
You can always check the status of the whole Scoop system with the following command:
For more information on a specific app, use the
info command. If you’re in a hurry and just want to quickly check the information on an app, use the
home command to open the app’s homepage in your browser.
scoop info AnyApp scoop home AnyApp
Here are the
which commands, and although the difference isn’t immediately clear, both of these applications are quite useful.
which, locates a shim/executable .exe, similar to the “where.exe” command on Windows or the “which” command on Linux.
scoop which git where.exe git
Be aware that in the second line of example where I used Windows command, the “.exe” extension is crucial, as it calls the
system32\where.exe utility application. If you omit the “.exe” and simply enter “where”, it invokes the “Where-Object” cmdlet, which is a PowerShell command and serves a completely different purpose.
Of course, with the
scoop install which command, we can immediately obtain the true Linux command “which”.
prefix command, on the other hand, returns the path of the folder where an app is installed.
scoop prefix git
reset command to reset an app, which will also recreate shortcuts, resolve conflicts if they exist, and handle multiple versions if they’re installed.
unhold commands allow you to disable updates for an app.
You can also check the app’s dependencies using the
depends command, which will show you the dependencies in the order they’ll be installed.
Crafting your own commands and shortcuts is a very convenient thing to do, and I’d say that using some aliases is almost essential:
scoop alias add i "scoop install @args" scoop alias add u "scoop uninstall --purge @args" scoop alias add h "scoop help @args" scoop alias add clean 'scoop cleanup * --cache; scoop cache rm *'