Upgrade Command (choco upgrade)

Upgrades a package or a list of packages. If you do not have a package installed, upgrade will install it.

Usage

    choco upgrade <pkg|all> [<pkg2> <pkgN>] [<options/switches>]

:choco-info: NOTE

all is a special package keyword that will allow you to upgrade all currently installed packages.

Skip upgrading certain packages with `choco pin` or with the option --except.

:choco-info: NOTE

Chocolatey Pro / Business automatically synchronizes with Programs and Features, ensuring automatically updating apps’ versions (like Chrome) are up to date in Chocolatey’s repository.

Examples

    choco upgrade chocolatey
    choco upgrade notepadplusplus googlechrome atom 7zip
    choco upgrade notepadplusplus googlechrome atom 7zip -dvfy
    choco upgrade git -y --params="'/GitAndUnixToolsOnPath /NoAutoCrlf'"
    choco upgrade git -y --params="'/GitAndUnixToolsOnPath /NoAutoCrlf'" --install-args="'/DIR=C:\git'"
    # Params are package parameters, passed to the package
    # Install args are installer arguments, appended to the silentArgs
    #  in the package for the installer itself
    choco upgrade nodejs.install --version 0.10.35
    choco upgrade git -s "'https://somewhere/out/there'"
    choco upgrade git -s "'https://somewhere/protected'" -u user -p pass
    choco upgrade all
    choco upgrade all --except="'skype,conemu'"

:choco-info: NOTE

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.

Normal:

  • 0: operation was successful, no issues detected
  • -1 or 1: an error has occurred
  • 2: nothing to do, no packages outdated (enhanced)

:choco-info: NOTE

Starting in v2.3.0, if you have the feature ‘useEnhancedExitCodes’ turned on, then choco will provide enhanced exit codes that allow better integration and scripting.

Package Exit Codes:

  • 1641: success, reboot initiated
  • 3010: success, reboot required
  • other (not listed): likely an error has occurred

In addition to normal exit codes, packages are allowed to exit with their own codes when the feature ‘usePackageExitCodes’ is turned on. Uninstall command has additional valid exit codes.

Reboot Exit Codes:

  • 350: pending reboot detected, no action has occurred
  • 1604: install suspended, incomplete

In addition to the above exit codes, you may also see reboot exit codes when the feature ‘exitOnRebootDetected’ is turned on. It typically requires the feature ‘usePackageExitCodes’ to also be turned on to work properly.

See It In Action

choco upgrade

Options and Switches

:choco-info: NOTE

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.

     --online
     Online - Open help for specified command in default browser application. 
       This option only works when used in combintation with the -?/--help/-h 
       option.  Available in 2.0.0+

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

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

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

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

     --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. Supply '0' to disable the timeout.

 -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.

     --use-system-powershell
     UseSystemPowerShell - Execute PowerShell using an external process 
       instead of the built-in PowerShell host. Should only be used when 
       internal host is failing.

     --no-progress
     Do Not Show Progress - Do not show download progress percentages.

     --proxy=VALUE
     Proxy Location - Explicit proxy location. Overrides the default proxy 
       location of ''.

     --proxy-user=VALUE
     Proxy User Name - Explicit proxy user (optional). Requires explicit 
       proxy (`--proxy` or config setting). Overrides the default proxy user of 
       ''.

     --proxy-password=VALUE
     Proxy Password - Explicit proxy password (optional) to be used with user 
       name. Encrypted. Requires explicit proxy (`--proxy` or config setting) 
       and user name (`--proxy-user` or config setting).  Overrides the default 
       proxy password.

     --proxy-bypass-list=VALUE
     ProxyBypassList - Comma separated list of regex locations to bypass on 
       proxy. Requires explicit proxy (`--proxy` or config setting). Overrides 
       the default proxy bypass list of ''.

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

     --log-file=VALUE
     Log File to output to in addition to regular loggers.

     --skipcompatibilitychecks, --skip-compatibility-checks
     SkipCompatibilityChecks - Prevent warnings being shown before and after 
       command execution when a runtime compatibility problem is found between 
       the version of Chocolatey and the Chocolatey Licensed Extension. 
       Available in 1.1.0+

     --ignore-http-cache
     IgnoreHttpCache - Ignore any HTTP caches that have previously been 
       created when querying sources, and create new caches. Available in 2.1.0+

 -s, --source=VALUE
     Source - The source to find the package(s) to install. Special sources 
       include: ruby, cygwin, windowsfeatures, and python. To specify more than 
       one source, pass it with a semi-colon separating the values (e.g. 
       "'source1;source2'"). Defaults to default feeds.

     --version=VALUE
     Version - A specific version to install. Defaults to unspecified.

     --pre, --prerelease
     Prerelease - Include Prereleases? Defaults to false.

     --x86, --forcex86
     ForceX86 - Force x86 (32bit) installation on 64 bit systems. Defaults to 
       false.

     --ia, --installargs, --install-args, --installarguments, --install-arguments=VALUE
     InstallArguments - Install Arguments to pass to the native installer in 
       the package. Defaults to unspecified.

 -o, --override, --overrideargs, --overridearguments, --override-arguments
     OverrideArguments - Should install arguments be used exclusively without 
       appending to current package passed arguments? Defaults to false.

     --notsilent, --not-silent
     NotSilent - Do not install this silently. Defaults to false.

     --params, --parameters, --pkgparameters, --packageparameters, --package-parameters=VALUE
     PackageParameters - Parameters to pass to the package. Defaults to 
       unspecified.

     --argsglobal, --args-global, --installargsglobal, --install-args-global, --applyargstodependencies, --apply-args-to-dependencies, --apply-install-arguments-to-dependencies
     Apply Install Arguments To Dependencies  - Should install arguments be 
       applied to dependent packages? Defaults to false.

     --paramsglobal, --params-global, --packageparametersglobal, --package-parameters-global, --applyparamstodependencies, --apply-params-to-dependencies, --apply-package-parameters-to-dependencies
     Apply Package Parameters To Dependencies  - Should package parameters be 
       applied to dependent packages? Defaults to false.

     --allowdowngrade, --allow-downgrade
     AllowDowngrade - Should an attempt at downgrading be allowed? Defaults 
       to false.

 -i, --ignoredependencies, --ignore-dependencies
     IgnoreDependencies - Ignore dependencies when upgrading package(s). 
       Defaults to false.

 -n, --skippowershell, --skip-powershell, --skipscripts, --skip-scripts, --skip-automation-scripts
     Skip PowerShell - Do not run chocolateyInstall.ps1. Defaults to false.

     --failonunfound, --fail-on-unfound
     Fail On Unfound Packages - If a package is not found in sources 
       specified, fail instead of warn.

     --ignore-unfound
     Ignore Unfound Packages - Ignore packages that are not found on the 
       sources used (or the defaults). Overrides the default feature 
       'ignoreUnfoundPackagesOnUpgradeOutdated' set to 'False'.

     --failonnotinstalled, --fail-on-not-installed
     Fail On Non-installed Packages - If a package is not already installed, 
       fail instead of installing.

 -u, --user=VALUE
     User - used with authenticated feeds. Defaults to empty.

 -p, --password=VALUE
     Password - the user's password to the source. Defaults to empty.

     --cert=VALUE
     Client certificate - PFX pathname for an x509 authenticated feeds. 
       Defaults to empty.

     --cp, --certpassword=VALUE
     Certificate Password - the client certificate's password to the source. 
       Defaults to empty.

     --ignorechecksum, --ignore-checksum, --ignorechecksums, --ignore-checksums
     IgnoreChecksums - Ignore checksums provided by the package. Overrides 
       the default feature 'checksumFiles' set to 'True'.

     --allowemptychecksum, --allowemptychecksums, --allow-empty-checksums
     Allow Empty Checksums - Allow packages to have empty/missing checksums 
       for downloaded resources from non-secure locations (HTTP, FTP). Use this 
       switch is not recommended if using sources that download resources from 
       the internet. Overrides the default feature 'allowEmptyChecksums' set to 
       'False'.

     --allowemptychecksumsecure, --allowemptychecksumssecure, --allow-empty-checksums-secure
     Allow Empty Checksums Secure - Allow packages to have empty checksums 
       for downloaded resources from secure locations (HTTPS). Overrides the 
       default feature 'allowEmptyChecksumsSecure' set to 'True'.

     --requirechecksum, --requirechecksums, --require-checksums
     Require Checksums - Requires packages to have checksums for downloaded 
       resources (both non-secure and secure). Overrides the default feature 
       'allowEmptyChecksums' set to 'False' and 'allowEmptyChecksumsSecure' set 
       to 'True'.

     --checksum, --downloadchecksum, --download-checksum=VALUE
     Download Checksum - a user provided checksum for downloaded resources 
       for the package. Overrides the package checksum (if it has one).  
       Defaults to empty.

     --checksum64, --checksumx64, --downloadchecksumx64, --download-checksum-x64=VALUE
     Download Checksum 64bit - a user provided checksum for 64bit downloaded 
       resources for the package. Overrides the package 64-bit checksum (if it 
       has one). Defaults to same as Download Checksum.

     --checksumtype, --checksum-type, --downloadchecksumtype, --download-checksum-type=VALUE
     Download Checksum Type - a user provided checksum type. Overrides the 
       package checksum type (if it has one). Used in conjunction with Download 
       Checksum. Available values are 'md5', 'sha1', 'sha256' or 'sha512'. 
       Defaults to 'md5'.

     --checksumtype64, --checksumtypex64, --checksum-type-x64, --downloadchecksumtypex64, --download-checksum-type-x64=VALUE
     Download Checksum Type 64bit - a user provided checksum for 64bit 
       downloaded resources for the package. Overrides the package 64-bit 
       checksum (if it has one). Used in conjunction with Download Checksum 
       64bit. Available values are 'md5', 'sha1', 'sha256' or 'sha512'. 
       Defaults to same as Download Checksum Type.

     --ignorepackagecodes, --ignorepackageexitcodes, --ignore-package-codes, --ignore-package-exit-codes
     IgnorePackageExitCodes - Exit with a 0 for success and 1 for non-succes-
       s, no matter what package scripts provide for exit codes. Overrides the 
       default feature 'usePackageExitCodes' set to 'True'.

     --usepackagecodes, --usepackageexitcodes, --use-package-codes, --use-package-exit-codes
     UsePackageExitCodes - Package scripts can provide exit codes. Use those 
       for choco's exit code when non-zero (this value can come from a 
       dependency package). Chocolatey defines valid exit codes as 0, 1605, 
       1614, 1641, 3010. Overrides the default feature 'usePackageExitCodes' 
       set to 'True'.

     --except=VALUE
     Except - a comma-separated list of package names that should not be 
       upgraded when upgrading 'all'. Overrides the configuration setting 
       'upgradeAllExceptions' set to ''.

     --stoponfirstfailure, --stop-on-first-failure, --stop-on-first-package-failure
     Stop On First Package Failure - stop running install, upgrade or 
       uninstall on first package failure instead of continuing with others. 
       Overrides the default feature 'stopOnFirstPackageFailure' set to 'False'.

     --skip-if-not-installed, --only-upgrade-installed, --skip-when-not-installed
     Skip Packages Not Installed - if a package is not installed, do not 
       install it during the upgrade process. Overrides the default feature 
       'skipPackageUpgradesWhenNotInstalled' set to 'False'.

     --install-if-not-installed
     Install Missing Packages When Not Installed - if a package is not 
       installed, install it as part of running upgrade (typically default 
       behavior). Overrides the default feature 
       'skipPackageUpgradesWhenNotInstalled' set to 'False'.

     --exclude-pre, --exclude-prerelease, --exclude-prereleases
     Exclude Prerelease - Should prerelease be ignored for upgrades? Will be 
       ignored if you pass `--pre`.

     --userememberedargs, --userememberedarguments, --userememberedoptions, --use-remembered-args, --use-remembered-arguments, --use-remembered-options
     Use Remembered Options for Upgrade - use the arguments and options used 
       during install for upgrade. Does not override arguments being passed at 
       runtime. Overrides the default feature 
       'useRememberedArgumentsForUpgrades' set to 'False'.

     --ignorerememberedargs, --ignorerememberedarguments, --ignorerememberedoptions, --ignore-remembered-args, --ignore-remembered-arguments, --ignore-remembered-options
     Ignore Remembered Options for Upgrade - ignore the arguments and options 
       used during install for upgrade. Overrides the default feature 
       'useRememberedArgumentsForUpgrades' set to 'False'.

     --exitwhenrebootdetected, --exit-when-reboot-detected
     Exit When Reboot Detected - Stop running install, upgrade, or uninstall 
       when a reboot request is detected. Requires 'usePackageExitCodes' 
       feature to be turned on. Will exit with either 350 or 1604. Overrides 
       the default feature 'exitOnRebootDetected' set to 'False'.

     --ignoredetectedreboot, --ignore-detected-reboot
     Ignore Detected Reboot - Ignore any detected reboots if found. Overrides 
       the default feature 'exitOnRebootDetected' set to 'False'.

     --disable-repository-optimizations, --disable-package-repository-optimizations
     Disable Package Repository Optimizations - Do not use optimizations for 
       reducing bandwidth with repository queries during package 
       install/upgrade/outdated operations. Should not generally be used, 
       unless a repository needs to support older methods of query. When 
       disabled, this makes queries similar to the way they were done in 
       earlier versions of Chocolatey. Overrides the default feature 
       'usePackageRepositoryOptimizations' set to 'True'.

     --pin, --pinpackage, --pin-package
     Pin Package - Add a pin to the package after upgrade. Available in 1.2.0+

     --skiphooks, --skip-hooks
     Skip hooks - Do not run hook scripts. Available in 1.2.0+

     --ignore-pinned
     Ignore Pinned - Ignores any pins and upgrades the package(s) anyway. 
       Available in 2.3.0+

     --include-configured-sources
     Include Configured Sources - When using the '--source' option, this 
       appends the sources that have been saved into the chocolatey.config file 
       by 'source' command.  Available in 2.3.0+

     --sdc, --skipdownloadcache, --skip-download-cache
     Skip Download Cache - Use the original download even if a private CDN 
       cache is available for a package. Overrides the default feature 
       'downloadCache' set to 'True'. Licensed editions only. 
       See https://docs.chocolatey.org/en-us/features/private-cdn 

     --dc, --downloadcache, --download-cache, --use-download-cache
     Use Download Cache - Use private CDN cache if available for a package. 
       Overrides the default feature 'downloadCache' set to 'True'. Licensed 
       editions only.
       See https://docs.chocolatey.org/en-us/features/private-cdn 

     --svc, --skipvirus, --skip-virus, --skipviruscheck, --skip-virus-check
     Skip Virus Check - Skip the virus check for downloaded files on this ru-
       n. Overrides the default feature 'virusCheck' set to 'False'. Licensed 
       editions only.
       See https://docs.chocolatey.org/en-us/features/virus-check 

     --virus, --viruscheck, --virus-check
     Virus Check - check downloaded files for viruses. Overrides the default 
       feature 'virusCheck' set to 'False'. Licensed editions only.
       See https://docs.chocolatey.org/en-us/features/virus-check 

     --viruspositivesmin, --virus-positives-minimum=VALUE
     Virus Check Minimum Scan Result Positives - the minimum number of scan 
       result positives required to flag a package. Used when virusScannerType 
       is VirusTotal. Overrides the default configuration value 
       'virusCheckMinimumPositives' set to '4'. Licensed editions only.
       See https://docs.chocolatey.org/en-us/features/virus-check 

     --install-arguments-sensitive=VALUE
     InstallArgumentsSensitive - Install Arguments to pass to the native 
       installer in the package that are sensitive and you do not want logged. 
       Defaults to unspecified. Licensed editions only.

     --package-parameters-sensitive=VALUE
     PackageParametersSensitive - Package Parameters to pass the package that 
       are sensitive and you do not want logged. Defaults to unspecified. 
       Licensed editions only.

     --dir, --directory, --installdir, --installdirectory, --install-dir, --install-directory=VALUE
     Install Directory Override - Override the default installation director-
       y. Chocolatey will automatically determine the type of installer and 
       pass the appropriate arguments to override the install directory. The 
       package must use Chocolatey install helpers and be installing an 
       installer for software. Licensed editions only.
       See https://docs.chocolatey.org/en-us/features/install-directory-override 

     --bps, --maxdownloadrate, --max-download-rate, --maxdownloadbitspersecond, --max-download-bits-per-second, --maximumdownloadbitspersecond, --maximum-download-bits-per-second=VALUE
     Maximum Download Rate Bits Per Second - The maximum download rate in 
       bits per second. '0' or empty means no maximum. A number means that will 
       be the maximum download rate in bps. Defaults to config setting of '0'. 
       Available in Licensed editions only.
       See https://docs.chocolatey.org/en-us/features/package-throttle  

     --reduce, --reduce-package-size, --deflate, --deflate-package-size
     Reducer Installed Package Size (Package Reducer) - Reduce size of the 
       nupkg file to very small and remove extracted archives and installers. 
       Overrides the default feature 'reduceInstalledPackageSpaceUsage' set to 
       'True'. Licensed editions only.
       See https://docs.chocolatey.org/en-us/features/package-reducer 

     --no-reduce, --no-reduce-package-size, --no-deflate, --no-deflate-package-size
     Do Not Reduce Installed Package Size - Leave the nupkg and files alone 
       in the package. Overrides the default feature 
       'reduceInstalledPackageSpaceUsage' set to 'True'. Licensed editions only.
       See https://docs.chocolatey.org/en-us/features/package-reducer 

     --reduce-nupkg-only, --deflate-nupkg-only
     Reduce Only Nupkg File Size - reduce only the size of nupkg file when 
       using Package Reducer. Overrides the default feature 
       'reduceOnlyNupkgSize' set to 'False'. Licensed editions only.
       See https://docs.chocolatey.org/en-us/features/package-reducer 

     --exclude-chocolatey-packages-during-upgrade-all
     Exclude Chocolatey Packages During Upgrade All - When running the 'choco 
       upgrade all' command, do not upgrade any of the official Chocolatey 
       packages. Overrides the default feature 
       'excludeChocolateyPackagesDuringUpgradeAll' set to 'False'. Licensed 
       editions only. 

     --include-chocolatey-packages-during-upgrade-all
     Include Chocolatey Package During Upgrade All - When running the 'choco 
       upgrade all' command, include all the official Chocolatey packages. 
       Overrides the default feature 
       'excludeChocolateyPackagesDuringUpgradeAll' set to 'False'. Licensed 
       editions only.

     --reason, --pin-reason, --note=VALUE
     Pin Reason - Text information about why you are setting a pin. Available 
       in business editions 5.0.0+. 

     --use-self-service, --force-self-service
     Force the command to be handled through the self-service when not 
       configured to allow this command. This option requires the features for 
       self-service and self-service command override to be enabled. Business 
       editions only (licensed version 5.0.0+).

Command Reference

:choco-info: NOTE

This documentation has been automatically generated from choco upgrade -h.