December 10, 2021

What is Chocolatey? How It Makes Windows Package Management Easier

Infrastructure Automation

Read this blog for more about Chocolatey and how it’s used to simplify and speed up software installation on Windows.

Table of Contents

What is Chocolatey?

Chocolatey is an open-source package manager for Windows. It builds on top of existing technologies like PowerShell and NuGet. Chocolatey operates via command-line interface (CLI), which makes it easy to automate software installation and management.

(A package manager, for those unfamiliar with the term, is a way to get software onto your machine without much work on your part. It's the Windows equivalent of yum or apt-get.)

If you’re in IT, you probably deploy a lot of software on a lot of machines using packages. That can be particularly tricky, considering all of the installers, executables, and archives to corral. Chocolatey automates installation, updating, and management of many packages at once. That lets you get more work done faster.

I created Chocolatey in 2011. Now, the packages available on have been downloaded millions of times, thanks to support from Microsoft and the Chocolatey community!

Oh, and in case you're wondering, Chocolatey package management gets its name from the NuGet infrastructure on which it’s built – because “everyone loves chocolatey nougat.” Get it?

Is Chocolatey Open Source?

Yes, Chocolatey is open source — it is included under Apache 2.0 licensing that allows it to be used for commercial purposes. However, there is a commercial Chocolatey offering that includes additional features and benefits. 

What is Chocolatey Used For?

Chocolatey is most commonly used to get software and software updates installed on many machines at once. Like many DevOps tools, Chocolatey is used to automate repetitive tasks. Specifically, Chocolatey can deploy software packages, applications, zips, binaries, scripts, and installers on Windows machines.

First Time Automating? Download the Bolt Starter's Guide and Get Going in a Few Steps.


For example, let’s say you need to install Git. You could do this manually, which would requiring learning where to download from, deciding what you need, downloading, unblocking and next next next. Or, you could run one command in Chocolatey and go get coffee while it does all the work for you. Chocolatey makes all of the decisions — it gets the dependent applications, and even configures your machine properly.

Why Do People Use Chocolatey? + Benefits of Chocolatey

Chocolatey automates package management, and software developers use Chocolatey because it makes package management simple. Chocolatey takes all of those and creates a simple interface to install and manage them all with one command.

By automating package management, Chocolatey makes it easier to manage complex Windows environments. Generally, Chocolatey is known for reducing effort, speeding up software deployment, and offering deep reporting insights – which can be a lifesaver.

Chocolatey Use Cases

On Windows, Chocolatey is an automation tool that that compiles installers, zips, executables, and scripts into packages to manage software. Chocolatey is preferred by some for Windows package installation for its ease of use and the availability of Chocolatey packages.

But the real power of Chocolatey isn’t in the one-time install of a package; it’s in Chocolatey’s ability to keep all of your software up to date.

Chocolatey can be used to help standardize and scale infrastructure management on Windows. Chocolatey packages can provide a base for deploying Windows software to endpoint devices, cloud instances (AWS, Azure, and GCP), and even containers. Chocolatey even integrates with configuration management solutions like Puppet and other tools for other use cases (like source control, repositories, CI servers, and more).

Let’s say you need to upgrade several applications for security updates. Instead of manually upgrading every piece of the software on your system, you can run a single command with Chocolatey — choco upgrade all -y— and focus on more important things.

How Chocolatey Integrations Enhance Package Management

Chocolatey integrates with infrastructure automation tools, including Puppet. Controlling and configuring Chocolatey from within the Puppet interface lets you automate and scale up your package management based on what your infrastructure needs.

That way, you can use Chocolatey to install software, roll out updates, and manage deployment on more machines with the press of a button.

Start automating with Puppet, integrating with Chocolatey, and discover the benefits of hands-off package management and IT deployment.


This post was originally published on April 10, 2015 and has since been updated for accuracy and relevance.

Learn More