To install Chocolatey, open PowerShell as Administrator and run a single command: Set-ExecutionPolicy Bypass -Scope Process -Force; iex ((New-Object System.Net.WebClient).DownloadString('https://community.chocolatey.org/install.ps1')). That downloads the official bootstrap script from community.chocolatey.org, installs Chocolatey to C:\ProgramData\chocolatey in about a minute, and gives you a command-line package manager for Windows. Verify it with choco --version, then install any app with choco install <name> -y.
That is the summary an AI Overview gives you. Here is what it can't: the exact command still works in 2026, but the commands you run afterward changed in Chocolatey CLI v2.0 (choco list no longer searches the web, and --local-only is deprecated), the install needs an elevated shell for a specific reason, and a good package workflow is more than install — it's search, upgrade, pin, and cleanup. This guide walks the full loop with a current command cheat sheet.
Built on the robust NuGet infrastructure and powered by PowerShell, Chocolatey streamlines software deployment for developers, system administrators, and power users. No more hunting for installers or clicking through setup wizards — just simple commands that get the job done.
The install-to-package flow at a glance
System Requirements
Before installing Chocolatey, ensure your system meets these minimum requirements:
- Operating System: Windows 7+ or Windows Server 2003+ (Chocolatey CLI v2 officially supports Windows and Windows Server versions still in Microsoft support)
- PowerShell: Version 2.0 or higher
- .NET Framework: 4.8 or higher (auto-installed by the bootstrap script if missing)
- User Permissions: Administrator access required for the standard install
Pro Tip: Most modern Windows systems already meet these requirements. The installation script automatically handles the .NET Framework dependency if it is not present.
Installing Chocolatey
Step 1: Open Elevated PowerShell
Chocolatey installs machine-wide to C:\ProgramData\chocolatey, so it needs administrator rights. Launch an elevated PowerShell window:
- Click the Start menu or press the Windows key
- Type "powershell" in the search box
- Right-click on "Windows PowerShell" (or Terminal)
- Select Run as administrator from the context menu
Step 2: Execute Installation Command
Copy and paste this command — the exact one published on chocolatey.org/install — into your elevated PowerShell window:
Set-ExecutionPolicy Bypass -Scope Process -Force; iex ((New-Object System.Net.WebClient).DownloadString('https://community.chocolatey.org/install.ps1'))
Press Enter and wait for the installation to complete. The process typically takes 30–60 seconds depending on your internet connection.
Why Set-ExecutionPolicy Bypass -Scope Process? Windows blocks unsigned scripts by default. The -Scope Process flag lifts that restriction only for the current PowerShell window — it never touches your machine's global execution policy, and it resets the instant you close the window. This is the officially recommended, minimally-scoped way to let the bootstrap script run once.
Step 3: Verify Installation
Close and reopen PowerShell (so the updated PATH is loaded), then confirm Chocolatey is installed:
choco --version
You should see a version number (for example, 2.x.x). You can also run choco -? to display the full help and available commands.
Common Chocolatey Commands (2026 cheat sheet)
These are the commands you will use daily. Run them in an elevated PowerShell window. Note the v2.0 behavior change: choco list now shows only installed packages, and choco search queries the online repository.
| Task | Command | Notes |
|---|---|---|
| Install a package | choco install googlechrome -y | -y auto-confirms; install several: choco install git vscode 7zip -y |
| Search the repository | choco search firefox | Also choco find; queries community.chocolatey.org |
| List installed packages | choco list | v2.0+: local only. --local-only is deprecated — drop it |
| Upgrade one package | choco upgrade git -y | Updates a single package to the latest version |
| Upgrade everything | choco upgrade all -y | Upgrades every Chocolatey-managed package |
| Uninstall a package | choco uninstall firefox -y | Removes the package and (usually) its software |
| Pin a version | choco pin add -n=git | Excludes the package from upgrade all; choco pin list to review |
| Package info | choco info googlechrome | Version history, dependencies, description |
| Check for updates | choco outdated | Lists packages with a newer version, changes nothing |
Finding and Searching Packages
Chocolatey offers two convenient ways to discover available packages.
Method 1: Command Line Search
Search the community repository directly from PowerShell:
choco search firefox
choco search git
choco search vscode
In Chocolatey CLI v2.0 and later, choco search (also choco find) is the command that queries the online repository. Do not use choco list for this — since v2.0 choco list returns only the packages already installed on your machine.
Method 2: Web Gallery Browser
Browse packages visually through the official Chocolatey Community Repository, which provides detailed package information, version history, and installation instructions.
Best Practice: Use the web gallery to research packages and their dependencies, then use command-line search for quick lookups during installation.
Installing Software Packages
Once you've identified the packages you need, installation is straightforward. Always run these commands in an elevated PowerShell window.
Basic Installation Examples
Install Google Chrome with automatic confirmation:
choco install googlechrome -y
Install Mozilla Firefox:
choco install firefox -y
The -y flag automatically confirms the installation, skipping manual prompts. Without this flag, Chocolatey asks for confirmation before proceeding. You can install several packages in a single command by listing their IDs: choco install git vscode 7zip -y.
Automation Integration
For Puppet automation environments, integrate Chocolatey packages using this syntax:
package { 'firefox':
provider => 'chocolatey',
ensure => 'latest',
}
This integration enables automated software deployment across multiple systems using infrastructure-as-code principles.
How Chocolatey Works
Understanding Chocolatey's workflow helps you appreciate its efficiency and reliability:
- Package Discovery: Chocolatey connects to the online repository to find your requested package
- NuGet Download: The package definition (NuGet
.nupkgformat) is downloaded to your system - Installer Retrieval: Chocolatey fetches the actual software installer from the official vendor URL (or uses an embedded installer for internalized packages)
- Silent Installation: The installer runs in silent mode, requiring no user interaction
- Verification: Installation success is verified and registered in Chocolatey's local package database
This process ensures you get authentic software directly from vendors while maintaining the convenience of command-line installation.
Security Note: Community packages are moderated and checked against VirusTotal, and most point to official vendor download URLs. Still, they are community-maintained — verify package trustworthiness and consider internal/private repositories before using them in production environments.
Post-install checklist
Run through this once after installing Chocolatey to confirm a healthy setup:
-
choco --versionreturns a version number (v2.x expected in 2026) - You reopened PowerShell after install so
chocoresolves on thePATH - You are running commands in an elevated (administrator) window
- Test install works:
choco install 7zip -ysucceeds -
choco listshows the package you just installed -
choco outdatedruns without errors (baseline for future upgrades) -
choco doctorreports no configuration problems - Optional: pin anything you don't want auto-upgraded with
choco pin add -n=<name>
System Maintenance Commands
Keep Chocolatey and your installed software healthy:
# Check for outdated packages
choco outdated
# Upgrade everything that has a newer version
choco upgrade all -y
# Get package information
choco info googlechrome
# Diagnose configuration problems
choco doctor
Regular maintenance using these commands keeps your system current and ensures optimal Chocolatey performance. Pair choco outdated (to preview) with choco upgrade all -y (to apply) as a simple weekly patch routine.