deno upgrade
Examples
Upgrade to the latest version
Use this command without any options to upgrade Deno to the latest available version:
deno upgrade
Checking for latest version
Version has been found
Deno is upgrading to version 1.38.5
downloading https://github.com/denoland/deno/releases/download/v1.38.5/deno-x86_64-apple-darwin.zip
downloading 100%
Upgrade done successfully
Upgrade to a specific version
You can specify a particular version to upgrade to:
deno upgrade --version 1.37.0
Checking for version 1.37.0
Version has been found
Deno is upgrading to version 1.37.0
downloading https://github.com/denoland/deno/releases/download/v1.37.0/deno-x86_64-apple-darwin.zip
downloading 100%
Upgrade done successfully
Check available upgrade without installing
Use the --dry-run flag to see what would be upgraded without actually performing the upgrade:
deno upgrade --dry-run
Checking for latest version
Version has been found
Would upgrade to version 1.38.5
Channels
deno upgrade works one channel at a time. With no argument it upgrades to the latest stable release. Pass a channel name to move to that channel's latest build instead:
# Latest stable release (the default)
deno upgrade
# Latest long term support (LTS) release
deno upgrade lts
# Latest release candidate
deno upgrade rc
# Latest canary build
deno upgrade canary
A bare version number is always a stable coordinate. deno upgrade 2.9.3 installs the stable build of 2.9.3, even when the same version number also ships on another channel:
deno upgrade 2.9.3
Because of this, if you are on the LTS channel and run deno upgrade 2.9.3, you download the stable build and move off LTS onto stable. To stay on LTS, upgrade with deno upgrade lts.
Note that deno upgrade lts always installs the latest LTS release. There is no version-number form that selects a specific LTS build, since a version number always resolves to the stable channel. For the full mental model of channels and how the same version number can be two different builds, see Stability and releases.
--quiet flag
The --quiet flag suppresses diagnostic output during the upgrade process. When used with deno upgrade, it will hide progress indicators, download information, and success messages.
deno upgrade --quiet
This is useful for scripting environments or when you want cleaner output in CI pipelines.
Cached downloads
Downloaded Deno binaries are cached in $DENO_DIR/dl/. If you reinstall the same version later, the cached archive is reused instead of re-downloading. For canary builds, old entries are automatically removed, keeping only the 10 most recent versions.
Checksum verification
Use the --checksum flag to verify a downloaded binary against a known SHA-256 hash. This protects against tampering in CI environments and security-sensitive setups:
deno upgrade --checksum=<sha256-hash> 2.7.0
SHA-256 checksums are published as .sha256sum files alongside release archives on GitHub:
curl -sL https://github.com/denoland/deno/releases/download/v2.7.0/deno-x86_64-unknown-linux-gnu.zip.sha256sum
Delta updates
Starting in Deno 2.8, deno upgrade downloads small binary patches (deltas) instead of the full release archive when upgrading between recent stable versions. This typically reduces the download from tens of megabytes to a few megabytes.
Deltas are applied automatically when available, there is nothing to opt into. If a patch is missing or fails verification, deno upgrade transparently falls back to downloading the full archive.
To force a full download (for example, in environments that cache release archives) pass --no-delta:
deno upgrade --no-delta
Each delta patch and the resulting binary are verified against the SHA-256 checksums published with the release before being installed.
Canary build
By default, Deno will upgrade from the official GitHub releases. You can specify the --canary build flag for the latest canary build:
# Upgrade to the latest canary build
deno upgrade --canary
Install a build from a pull request
Starting in Deno 2.8, deno upgrade pr <number> downloads the binary built by CI for a specific deno PR and installs it. This is handy when you need to verify a fix before it has shipped in a release.
# Install the binary built by CI for PR #12345
deno upgrade pr 12345
# A `#` prefix is also accepted
deno upgrade pr '#12345'
# Write to a path instead of replacing the current binary
deno upgrade --output ./deno-test pr 12345
# See what would be downloaded without replacing
deno upgrade --dry-run pr 12345
This subcommand requires the gh CLI to be installed and authenticated. deno upgrade uses gh to look up the PR's CI run and download the matching {profile}-{os}-{arch}-deno artifact (for example release-linux-x86_64-deno), preferring release builds and falling back to debug. The downloaded binary is verified to run before it replaces the current executable.
deno upgrade [OPTIONS] [VERSION]...Upgrade deno executable to the given version.
Latest
deno upgrade
Specific version
deno upgrade 1.45.0
deno upgrade 1.46.0-rc.1
deno upgrade 9bc2dd29ad6ba334fd57a20114e367d3c04763d4
Channel
deno upgrade stable
deno upgrade alpha
deno upgrade beta
deno upgrade rc
deno upgrade canary
From a pull request (requires gh CLI)
deno upgrade pr 12345
The version is resolved via https://dl.deno.land and then downloaded from either there or GitHub releases, replacing the current executable.
If you want to not replace the current Deno executable but instead download an update to a different location, use the --output flag:
deno upgrade --output $HOME/my_deno
Upgrade options
--checksum<checksum>
Verify the downloaded archive against the provided SHA256 checksum.
--dry-runPerform all checks without replacing old exe.
--force, -fReplace current exe even if not out-of-date.
--no-deltaDisable delta updates and always download the full archive.
--output<output>
The path to output the updated version to.
Options
--cert<FILE>
Load certificate authority from PEM encoded file.
Last updated on
© 2018–2025 the Deno authors
Licensed under the MIT License.
https://docs.deno.com/runtime/reference/cli/upgrade