Installation

Learn about the different methods available to install `sentry-cli`.

Depending on your platform, there are different methods available to install sentry-cli.

You can find the list of releases on the GitHub release page. We provide executables for Linux, OS X and Windows. It’s a single file download and upon receiving the file you can rename it to just sentry-cli or sentry-cli.exe to use it.

If you are on macOS or Linux, you can use the automated downloader which will fetch the latest release version for you and install it:

Copied
curl -sL https://sentry.io/get-cli/ | sh

We do however, encourage you to pin the specific version of the CLI, so your builds are always reproducible. To do that, you can use the exact same method, with an additional version specifier:

Copied
curl -sL https://sentry.io/get-cli/ | SENTRY_CLI_VERSION="2.58.2" sh

This will automatically download the correct version of sentry-cli for your operating system and install it. If necessary, it will prompt for your admin password for sudo. For a different installation location or for systems without sudo (like Windows), you can export INSTALL_DIR=/custom/installation/path before running this command.

To verify it's installed correctly you can bring up the help:

Copied
sentry-cli --help

There is also the option to install sentry-cli via npm for specialized use cases. This, for instance, is useful for build servers. The package is called @sentry/cli and in the post installation it will download the appropriate release binary:

Copied
npm install @sentry/cli

You can then find it in the .bin folder:

Copied
./node_modules/.bin/sentry-cli --help

In case you want to install this with npm system wide with sudo you will need to pass --unsafe-perm to it:

Copied
sudo npm install -g @sentry/cli --unsafe-perm

By default, this package will download sentry-cli from the CDN managed by Fastly. To use a custom CDN, set the npm config property sentrycli_cdnurl. The downloader will append "/<version>/sentry-cli-<dist>".

Copied
npm install @sentry/cli --sentrycli_cdnurl=https://mymirror.local/path

Or add property into your .npmrc file (https://docs.npmjs.com/files/npmrc)

Copied
sentrycli_cdnurl=https://mymirror.local/path

Another option is to use the environment variable SENTRYCLI_CDNURL.

Copied
SENTRYCLI_CDNURL=https://mymirror.local/path npm install @sentry/cli

Options listed below control how sentry-cli install script behaves, when installed through npm.

SENTRYCLI_CDNURL:

If set, the script will use given URL for fetching the binary. Defaults to https://downloads.sentry-cdn.com/sentry-cli.

SENTRYCLI_USE_LOCAL:

If set to 1, sentry-cli binary will be discovered from your $PATH and copied locally instead of being downloaded from external servers. It will still verify the version number, which has to match.

SENTRYCLI_SKIP_DOWNLOAD:

If set to 1, the script will skip downloading the binary completely.

SENTRYCLI_SKIP_CHECKSUM_VALIDATION:

If set to 1, the script will skip the checksum validation phase. You can manually verify the checksums by visiting Build Checksums page.

SENTRYCLI_NO_PROGRESS_BAR:

If set to 1, the script will not display download progress bars. This is a default behavior for CI environments.

SENTRYCLI_LOG_STREAM:

If set, the script will change where it writes its output. Possible values are stdout and stderr. Defaults to stdout.

If you are on OS X, you can install sentry-cli via homebrew:

Copied
brew install getsentry/tools/sentry-cli

If you are on Windows, you can install sentry-cli via Scoop:

Copied
> scoop install sentry-cli

For unsupported distributions and CI systems, we offer a Docker image that comes with sentry-cli preinstalled. It is recommended to use the latest tag, but you can also pin to a specific version. By default, the command runs inside the /work directory. Mount relevant project folders and build outputs there to allow sentry-cli to scan for resources:

Copied
docker pull getsentry/sentry-cli
docker run --rm -v $(pwd):/work getsentry/sentry-cli --help

You can use sentry-cli update and sentry-cli uninstall to update or uninstall the sentry-cli binary. These commands may be unavailable in certain situations, generally when sentry-cli has been installed by a tool like homebrew or yarn, either directly or as a dependency of another package. In those cases, the same tool will need to be used for updating and removal. If you find that sentry-cli update and sentry-cli uninstall aren't working and you don't know how the package was installed, running which sentry-cli will often provide a clue as to which tool to use.

When downloading an executable from a remote server, it's often a good practice to verify, that what has been downloaded, is in fact what we expect it to be. To make sure that this is the case, we can use checksum validation. A checksum is the value calculated from the contents of a file, in a form of hash, in our case SHA256, and it acts as the data integrity check, as it's always producing the same output, for a given input.

Below is the table of SHA256 checksums for all available build targets that our CLI supports. To calculate the hash of a downloaded file, you can use sha256sum utility, which is preinstalled in OSX and most Linux distributions.

Filename (v2.58.2)Integrity Checksum
sentry-cli-Darwin-arm64sha384-f84d5716d74ea4b1355c64ef6cb6a14f2097ab2541c9747b7aee4bad39a647e4
sentry-cli-Darwin-universalsha384-5c893f7bc57dbcb87ec941c08420ef07cf485e931238c83cc8fbbe2ba69fec9f
sentry-cli-Darwin-x86_64sha384-e95fa80e6f06797c56eb4f18f65f82a4c859599c572d940e7a156885cbd8dd21
sentry-cli-Linux-aarch64sha384-3853e2071623941d96c7b69a99929f1d3222a4b696f4b74c875be340aa75926a
sentry-cli-Linux-armv7sha384-31fab9396e879ae49cd27aca025caa453ffbd965c2d018bd873f09d8d71a06d9
sentry-cli-Linux-i686sha384-a995decaad61160bfac84634b280f005003931726e14fd964f8c3cf6ce00aa20
sentry-cli-Linux-x86_64sha384-61b1c19345694ce31ac663e9875194d45f4f317f2b9134269605f810132df88b
sentry-cli-Windows-aarch64.exesha384-a4a4dff5e176392510674b1afd73324bedf0ea66bdd8234654389429cda9b576
sentry-cli-Windows-i686.exesha384-29290444fd2b796fe14c5d058eafe883293257f9f650fe20080bd37214b2ffe5
sentry-cli-Windows-x86_64.exesha384-e89a23566d5e17a5fb2fe40e182e6e0a6cf07134330c7588d5b6025071bcae3f
sentry_cli-2.58.2-py3-none-macosx_10_15_x86_64.whlsha384-9512fecfd4ff63d7330ad7903fd94577403d1acf1321d769afeda7c41bcb079a
sentry_cli-2.58.2-py3-none-macosx_11_0_arm64.whlsha384-794dda4342ced4c4967b969732f02a5d01d1472bd6600a74890fad80997831f2
sentry_cli-2.58.2-py3-none-macosx_11_0_universal2.whlsha384-12ae2997509d0c9ae52be8d4de56f72d04d25bd7ae15bd1295449c318beba11d
sentry_cli-2.58.2-py3-none-manylinux_2_17_aarch64.manylinux2014_aarch64.musllinux_1_2_aarch64.whlsha384-e914aae67d5bc7a5fea45e2003d72f44531f97410146aa5070ae57a848dd661b
sentry_cli-2.58.2-py3-none-manylinux_2_17_armv7l.manylinux2014_armv7l.musllinux_1_2_armv7l.whlsha384-52a96526afd231271b8fb782781da3ddeb42419c4bed1dc2f30f772ebe93819e
sentry_cli-2.58.2-py3-none-manylinux_2_17_i686.manylinux2014_i686.musllinux_1_2_i686.whlsha384-0f97efb5f07bd56ae55e3203407fe15770e2a5c0976d06e7fa595a89ea333f7b
sentry_cli-2.58.2-py3-none-manylinux_2_17_x86_64.manylinux2014_x86_64.musllinux_1_2_x86_64.whlsha384-2355e8fb6e3f97267295ea5ccb0dc819893c8e48b19dddc1dd242c9a59940097
sentry_cli-2.58.2-py3-none-win32.whlsha384-f16c0cc3fa048c158cb08c19e9f6b2994f586d4b35af018a20a20ea56b8a1f4c
sentry_cli-2.58.2-py3-none-win_amd64.whlsha384-ad569f0e1448a21753877a933d5cd45d3000c34ff322074ab9ddf2264b349a25
sentry_cli-2.58.2-py3-none-win_arm64.whlsha384-6208ff651f6090aa3f50bccae486624485379e817e6a6f6b334f1742cdbf7f9a
sentry_cli-2.58.2.tar.gzsha384-8307cc5597a4a45ae1561f62b4e43979cb09bf7c0a91d9398fe430af45ec6dee

If you would like to verify checksums for historic versions of the sentry-cli, please refer to our release registry directly, which can be found at https://release-registry.services.sentry.io/apps/sentry-cli/{version}. For example, https://release-registry.services.sentry.io/apps/sentry-cli/1.74.4.

Was this helpful?
Help improve this content
Our documentation is open source and available on GitHub. Your contributions are welcome, whether fixing a typo (drat!) or suggesting an update ("yeah, this would be better").