A mirror of lukesampson/scoop
You can not select more than 25 topics Topics must start with a letter or number, can include dashes ('-') and can be up to 35 characters long.
Mehmet Ümit 3d67b7d37c
Fixed trailing whitespace issue (#4307)
1 month ago
.vscode feature: Prepare extraction of main bucket (#3060) 2 years ago
bin chore(scoop): Remove temporary code from the scoop executable (#3898) 1 year ago
lib fix get_shim_path (#4149) 6 months ago
libexec chore(update): Update outdated PowerShell 5 warning (#3986) 11 months ago
supporting Fixed trailing whitespace issue (#4307) 1 month ago
test fix(tests): Force pester v4 (#4040) 10 months ago
.editorconfig Add alt-shim support (fixes #3634) (#3998) 6 months ago
.gitattributes [WIP] Validate manifests against JSON Schema in CI Tests (#1331) 4 years ago
.gitignore [Pending] Finally we add the code linting and its tests! (#2108) 3 years ago
LICENSE whitespace cleanup 5 years ago
PSScriptAnalyzerSettings.psd1 [Pending] Finally we add the code linting and its tests! (#2108) 3 years ago
README.md chore(hold): Replace "locked" terminology with "held" for consistency (#3917) 1 year ago
appveyor.yml fix(appveyor): use VS2019 image to fix PS6 issues (#3646) 1 year ago
buckets.json chore(hold): Replace "locked" terminology with "held" for consistency (#3917) 1 year ago
schema.json feat(checkver): Present script property (#3900) 1 year ago



Features | Installation | Documentation

Code Size Repository size Build Status Discord Chat Gitter Chat License

Scoop is a command-line installer for Windows.

What does Scoop do?

Scoop installs programs from the command line with a minimal amount of friction. It tries to eliminate things like:

  • Permission popup windows
  • GUI wizard-style installers
  • Path pollution from installing lots of programs
  • Unexpected side-effects from installing and uninstalling programs
  • The need to find and install dependencies
  • The need to perform extra setup steps to get a working program

Scoop is very scriptable, so you can run repeatable setups to get your environment just the way you like, e.g.:

scoop install sudo
sudo scoop install 7zip git openssh --global
scoop install aria2 curl grep sed less touch
scoop install python ruby go perl

If you’ve built software that you’d like others to use, Scoop is an alternative to building an installer (e.g. MSI or InnoSetup) — you just need to zip your program and provide a JSON manifest that describes how to install it.


  • Windows 7 SP1+ / Windows Server 2008+
  • PowerShell 5 (or later, include PowerShell Core) and .NET Framework 4.5 (or later)
  • PowerShell must be enabled for your user account e.g. Set-ExecutionPolicy -ExecutionPolicy RemoteSigned -Scope CurrentUser


Run the following command from your PowerShell to install scoop to its default location (C:\Users\<user>\scoop)

Invoke-Expression (New-Object System.Net.WebClient).DownloadString('https://get.scoop.sh')

# or shorter
iwr -useb get.scoop.sh | iex

Once installed, run scoop help for instructions.

The default setup is configured so all user installed programs and Scoop itself live in C:\Users\<user>\scoop. Globally installed programs (--global) live in C:\ProgramData\scoop. These settings can be changed through environment variables.

Install Scoop to a Custom Directory by changing SCOOP

[Environment]::SetEnvironmentVariable('SCOOP', $env:SCOOP, 'User')
# run the installer

Configure Scoop to install global programs to a Custom Directory by changing SCOOP_GLOBAL

[Environment]::SetEnvironmentVariable('SCOOP_GLOBAL', $env:SCOOP_GLOBAL, 'Machine')
# run the installer


Multi-connection downloads with aria2

Scoop can utilize aria2 to use multi-connection downloads. Simply install aria2 through Scoop and it will be used for all downloads afterward.

scoop install aria2

You can tweak the following aria2 settings with the scoop config command:


What sort of apps can Scoop install?

The apps that install best with Scoop are commonly called “portable” apps: i.e. compressed program files that run stand-alone when extracted and don’t have side-effects like changing the registry or putting files outside the program directory.

Since installers are common, Scoop supports them too (and their uninstallers).

Scoop is also great at handling single-file programs and Powershell scripts. These don’t even need to be compressed. See the runat package for an example: it’s really just a GitHub gist.

Support this project

If you find Scoop useful and would like to support ongoing development and maintenance, here’s how:

Known application buckets

The following buckets are known to scoop:

  • main - Default bucket for the most common (mostly CLI) apps
  • extras - Apps that don’t fit the main bucket’s criteria
  • games - Open source/freeware games and game-related tools
  • nerd-fonts - Nerd Fonts
  • nirsoft - A subset of the 250 Nirsoft apps
  • java - Installers for Oracle Java, OpenJDK, Zulu, ojdkbuild, AdoptOpenJDK, Amazon Corretto, BellSoft Liberica & SapMachine
  • jetbrains - Installers for all JetBrains utilities and IDEs
  • nonportable - Non-portable apps (may require UAC)
  • php - Installers for most versions of PHP
  • versions - Alternative versions of apps found in other buckets

The main bucket is installed by default. To add any of the other buckets, type:

scoop bucket add bucketname

For example, to add the extras bucket, type:

scoop bucket add extras

Other application buckets

Many other application buckets hosted on Github can be found in the Scoop Directory.