Calling All Chocolatiers! Whipping Up Windows Automation with Chocolatey Central Management

We are delighted to announce the release of Chocolatey Central Management v0.12.0, featuring seamless Deployment Plan creation, time-saving duplications, insightful Group Details, an upgraded Dashboard, bug fixes, user interface polishing, and refined documentation. As an added bonus we'll have members of our Solutions Engineering team on-hand to dive into some interesting ways you can leverage the new features available!

Learn More Register Now

Chocolatey Community Coffee Break

Join the Chocolatey Team on our regular monthly stream where we discuss all things Community, what we do, how you can get involved and answer your Chocolatey questions.

Learn More

Chocolatey Product Spotlight

Join the Chocolatey Team on our regular monthly stream where we put a spotlight on the most recent Chocolatey product releases. You'll have a chance to have your questions answered in a live Ask Me Anything format.

Learn More

Announcing Chocolatey Central Management 0.10.0

Livestream from
Thursday, 06 October 2022

We recently released our largest update to Chocolatey Central Management so far. Join Gary and Steph to find out more about Chocolatey Central Management and the new features and fixes we've added to this release.

Watch On-Demand
Chocolatey and Intune Overview

Webinar Replay from
Wednesday, 30 March 2022

At Chocolatey Software we strive for simple, and teaching others. Let us teach you just how simple it could be to keep your 3rd party applications updated across your devices, all with Intune!

Watch On-Demand
Chocolatey For Business. In Azure. In One Click.

Livestream from
Thursday, 9 June 2022

Join James and Josh to show you how you can get the Chocolatey For Business recommended infrastructure and workflow, created, in Azure, in around 20 minutes.

Watch On-Demand
The Future of Chocolatey CLI

Livestream from
Thursday, 04 August 2022

Join Paul and Gary to hear more about the plans for the Chocolatey CLI in the not so distant future. We'll talk about some cool new features, long term asks from Customers and Community and how you can get involved!

Watch On-Demand
Hacktoberfest Tuesdays 2022

Livestreams from
October 2022

For Hacktoberfest, Chocolatey ran a livestream every Tuesday! Re-watch Cory, James, Gary, and Rain as they share knowledge on how to contribute to open-source projects such as Chocolatey CLI.

Watch On-Demand
Chocolatey Product Spotlight: Chocolatey 1.2.0 and Chocolatey Licensed Extension 5.0.0

Livestream from
Thursday, 03 November 2022

Join Paul and Gary for this months Chocolatey product livestream where we look at the latest release of Chocolatey 1.2.0, Chocolatey Licensed Extension 5.0.0 and shine a spotlight on the new hook scripts functionality. This opens up so many possibilities for Chocolatey CLI users!

Watch On-Demand
Chocolatey Coding Livestream

Livestream from
Tuesday, 29 November 2022

Join Josh as he adds the ability to manage Chocolatey GUI config and features with the Chocolatey Ansible Collection.

Watch On-Demand
Introduction into Chocolatey with Veeam

Webinar from
Tuesday, 13 December 2022

Join Gary, Paul, and Maurice as they introduce and demonstrate how to use Chocolatey! Questions will be answered live in an Ask Me Anything format.

Watch On-Demand

The Choco New Command


choco new <name> [<options/switches>] [<property=value> <propertyN=valueN>]

Possible properties to pass:

  • packageversion
  • maintainername
  • maintainerrepo
  • installertype
  • url
  • url64
  • silentargs

Starting in 0.9.10, you can pass arbitrary property value pairs through to templates. This really unlocks your ability to create packages automatically!


Chocolatey for Business can create complete packages by just pointing the new command to native installers! It can also download and internalize remote resources from existing packages so that existing packages can be used without being tied to the internet. This is called automatic recompile.


choco new bob
choco new bob -a --version 1.2.0 maintainername="'This guy'"
choco new bob silentargs="'/S'" url="'https://somewhere/out/there.msi'"
choco new bob --outputdirectory Packages

See scripting in how to pass arguments (choco -?) for how to
write proper scripts and integrations.

Exit Codes

Exit codes that normally result from running this command.


  • 0: operation was successful, no issues detected
  • –1 or 1: an error has occurred

If you find other exit codes that we have not yet documented, please file a ticket so we can document it at

Options and Switches


Options and switches apply to all items passed, so if you are running a command like install that allows installing multiple packages, and you use --version=1.0.0, it is going to look for and try to install version 1.0.0 of every package passed. So please split out multiple package calls when wanting to pass specific options.

Includes default options/switches (included below for completeness).

-?, --help, -h
    Prints out the help menu.

-d, --debug
    Debug - Show debug messaging.

-v, --verbose
    Verbose - Show verbose messaging. Very verbose messaging, avoid using
    under normal circumstances.

    Trace - Show trace messaging. Very, very verbose trace messaging. Avoid
    except when needing super low-level .NET Framework debugging. Available
    in 0.10.4+.

    --nocolor, --no-color
    No Color - Do not show colorization in logging output. This overrides
    the feature 'logWithoutColor', set to 'False'. Available in 0.10.9+.

    --acceptlicense, --accept-license
    AcceptLicense - Accept license dialogs automatically. Reserved for
    future use.

-y, --yes, --confirm
    Confirm all prompts - Chooses affirmative answer instead of prompting.
    Implies --accept-license

-f, --force
    Force - force the behavior. Do not use force during normal operation -
    it subverts some of the smart behavior for commands.

    --noop, --whatif, --what-if
    NoOp / WhatIf - Don't actually do anything.

-r, --limitoutput, --limit-output
    LimitOutput - Limit the output to essential information

    --timeout, --execution-timeout=VALUE
    CommandExecutionTimeout (in seconds) - The time to allow a command to
    finish before timing out. Overrides the default execution timeout in the
    configuration of 2700 seconds. '0' for infinite starting in 0.10.4.

-c, --cache, --cachelocation, --cache-location=VALUE
    CacheLocation - Location for download cache, defaults to %TEMP% or value
    in chocolatey.config file.

    --allowunofficial, --allow-unofficial, --allowunofficialbuild, --allow-unofficial-build
    AllowUnofficialBuild - When not using the official build you must set
    this flag for choco to continue.

    --failstderr, --failonstderr, --fail-on-stderr, --fail-on-standard-error, --fail-on-error-output
    FailOnStandardError - Fail on standard error output (stderr), typically
    received when running external commands during install providers. This
    overrides the feature failOnStandardError.

    UseSystemPowerShell - Execute PowerShell using an external process
    instead of the built-in PowerShell host. Should only be used when
    internal host is failing. Available in 0.9.10+.

    Do Not Show Progress - Do not show download progress percentages.
    Available in 0.10.4+.

    Proxy Location - Explicit proxy location. Overrides the default proxy
    location of ''. Available for config settings in, this CLI
    option available in 0.10.4+.

    Proxy User Name - Explicit proxy user (optional). Requires explicity
    proxy (`--proxy` or config setting). Overrides the default proxy user of
    '123'. Available for config settings in, this CLI option
    available in 0.10.4+.

    Proxy Password - Explicit proxy password (optional) to be used with
    username. Requires explicity proxy (`--proxy` or config setting) and
    user name.  Overrides the default proxy password (encrypted in settings
    if set). Available for config settings in, this CLI option
    available in 0.10.4+.

    ProxyBypassList - Comma separated list of regex locations to bypass on
    proxy. Requires explicity proxy (`--proxy` or config setting). Overrides
    the default proxy bypass list of ''. Available in 0.10.4+.

    Proxy Bypass On Local - Bypass proxy for local connections. Requires
    explicity proxy (`--proxy` or config setting). Overrides the default
    proxy bypass on local setting of 'True'. Available in 0.10.4+.

    Log File to output to in addition to regular loggers. Available in 0.1-
-a, --auto, --automaticpackage
    AutomaticPackage - Generate automatic package instead of normal.
    Defaults to false

-t, --template, --template-name=VALUE
    TemplateName - Use a named template in
    C:\ProgramData\chocolatey\templates\templatename instead of built-in
    template. Available in Manage templates as packages in 0.9.10+.

    Name [Required]- the name of the package. Can be passed as first
    parameter without "--name=".

    Version - the version of the package. Can also be passed as the property

    Maintainer - the name of the maintainer. Can also be passed as the
    property MaintainerName=somevalue

    --out, --outdir, --outputdirectory, --output-directory=VALUE
    OutputDirectory - Specifies the directory for the created Chocolatey
    package file. If not specified, uses the current directory. Available in

    --built-in, --built-in-template, --originaltemplate, --original-template, --use-original-template, --use-built-in-template
    BuiltInTemplate - Use the original built-in template instead of any
    override. Available in 0.9.10+.

    --file, --url=VALUE
    Location of binary. In [Chocolatey for Business](, file is used for auto-
    detection (native installer, zip, patch/upgrade file, or remote url to
    download first) to completely create a package with proper silent
    arguments! Can be 32-bit or 64-bit architecture.  Available in licensed
    editions only (licensed version 1.4.0+, url/zip starting in 1.6.0). See

    --file64, --url64=VALUE
    Optional - used when specifying both a 32-bit and a 64-bit file. Can be
    an installer or a zip, or remote url to download. Available in licensed
    editions only (licensed version 1.6.0+).

    --keepremote, --keep-remote, --originallocation, --original-location, --useoriginallocation, --use-original-location, --useoriginalfileslocation, --use-original-files-location
    Use Original Files Location - when using file or url, use the original
    location in packaging. Available in [licensed editions]( only (licensed
    version 1.6.0+).

    --checksum, --downloadchecksum, --download-checksum=VALUE
    Download Checksum - checksum to verify File/Url with. Defaults to empty.
    Available in [licensed editions]( only (licensed version 1.7.0+).

    --checksum64, --checksumx64, --downloadchecksumx64, --download-checksum-x64=VALUE
    Download Checksum 64-bit - checksum to verify File64/Url64 with.
    Defaults to empty. Available in [licensed editions]( only (licensed version

    --checksumtype, --checksum-type, --downloadchecksumtype, --download-checksum-type=VALUE
    Download Checksum Type - checksum type for File/Url (and optional
    separate 64-bit files when specifying both). Used in conjunction with
    Download Checksum and Download Checksum 64-bit. Available values are
    'md5', 'sha1', 'sha256' or 'sha512'. Defaults to 'sha256'.  Available in
    Business editions only (licensed version 1.7.0+).

    --pauseonerror, --pause-on-error
    Pause on Error - Pause when there is an error with creating the package.
    Available in [licensed editions]( only (licensed version 1.7.0+).

    --buildpackage, --build-package, --build-packages
    Build Package - Attempt to compile the package after creating it.
    Available in [licensed editions]( only (licensed version 1.7.0+).

    --fromprograms, --from-programs, --fromprogramsandfeatures, --from-programs-and-features
    Generate Packages From Installed Software - Generate packages from the
    installed software on a system (does not handle dependencies). Available
    in Business editions only (licensed version 1.8.0+).

    --removearchitecture, --removearchitecturefromname, --remove-architecture, --remove-architecture-from-name
    Remove Architecture From Name - Remove x86, x64, 64-bit, etc from the
    package id. Default setting is to remove architecture. Available in
    Business editions only (licensed version 1.8.0+).

    --includearchitecture, --includearchitectureinname, --include-architecture, --include-architecture-in-name
    Include Architecture in Package Name - Leave x86, x64, 64-bit, etc as
    part of the package id. Default setting is to remove architecture.
    Available in Business editions only (licensed version 1.8.0+).

Command Reference

NOTE: This documentation has been automatically generated from choco new -h.

Test Your Skills!


You must be logged in to take this test. Don't have an account yet? Register Now

Log On