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="3.2.0" 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 (v3.2.0)Integrity Checksum
sentry-cli-Darwin-arm64sha384-17802017c1a0d76751b4bfdddea4366a84d19e790de86e9675e09f2d4cf9cefd
sentry-cli-Darwin-universalsha384-a18195af49db6ea455a0d785b5bd392fb8df6f2eaf0078528c6b4653b4ce5799
sentry-cli-Darwin-x86_64sha384-4018f4162b2f160c01b082d64ac36cce069c81e71a1bae3707324b3d90634415
sentry-cli-Linux-aarch64sha384-e92b176153f3729b2b4b0d41b9b523df6ebbd49378b45fbbc008052042460f96
sentry-cli-Linux-armv7sha384-9cde058201958bc53c1ba4deb67fcb76970084522cd5e980ea16791b21757c31
sentry-cli-Linux-i686sha384-5e08f47c358ee6592bea2a6854a722d7a5512c879e7a0440897e882fdb5b496c
sentry-cli-Linux-x86_64sha384-cb82525102b8ad9a300bfb55afa3dc2d9ab275caf1dcbfdf431fc11fdf13136f
sentry-cli-Windows-aarch64.exesha384-6b88b9e618a00f2f8dd743fb8a44ab250de34fca07e178c2fa36a7d42fce513f
sentry-cli-Windows-i686.exesha384-034c756e27768b872ae1bdec1eb3edfb32ec3f7d7576e7373a45ec0784e067ee
sentry-cli-Windows-x86_64.exesha384-a417276f00f895659dfa21d0f0e847e056eccf2a457939ccd83424bf99174604
sentry_cli-3.2.0-py3-none-macosx_10_15_x86_64.whlsha384-cd5914d49b0bdb0543733fbe4115a6e7395fdd5d6baa03a1f537784a54b9a0f7
sentry_cli-3.2.0-py3-none-macosx_11_0_arm64.whlsha384-58df9db75890d65cd07b58d064d4887ae6fc81945d8861c34396f7367b8dd8f3
sentry_cli-3.2.0-py3-none-macosx_11_0_universal2.whlsha384-838a943ce449c86e7e75495b82c6a33a427b0b3eb8e28ce006bd6e1750c7c1a9
sentry_cli-3.2.0-py3-none-manylinux_2_17_aarch64.manylinux2014_aarch64.musllinux_1_2_aarch64.whlsha384-6cd3519d2a7f96d5978583d68842e7005155b002cfbb78f0b166c651aff16df9
sentry_cli-3.2.0-py3-none-manylinux_2_17_armv7l.manylinux2014_armv7l.musllinux_1_2_armv7l.whlsha384-2ac70cc1e03e7c85850c347335b16da9d6157d4b0d69cd33afb3579a21766946
sentry_cli-3.2.0-py3-none-manylinux_2_17_i686.manylinux2014_i686.musllinux_1_2_i686.whlsha384-3f6b4d3ec03f7fca2f5948ee224e2e63b1a724c2c18713abc10c55eb5eeca33a
sentry_cli-3.2.0-py3-none-manylinux_2_17_x86_64.manylinux2014_x86_64.musllinux_1_2_x86_64.whlsha384-ad2f53d29ba3a2b0296d92674d46ce92d5e6c1e91c1c03b357746f819d396fd7
sentry_cli-3.2.0-py3-none-win32.whlsha384-452768b1cdc9c7da15c0832aa6d505f9cbd853c8fd818ef15230da1bab3638d4
sentry_cli-3.2.0-py3-none-win_amd64.whlsha384-2f2a90481844d5cd87381c1bcc7c801cbe4b1568d8659d9df2409ecd299b718d
sentry_cli-3.2.0-py3-none-win_arm64.whlsha384-7c3f62a2040421d04815addd37ae8e376a792b7e29329275d7d298a1338f2f94
sentry_cli-3.2.0.tar.gzsha384-f0852488f7aceb36a9a283e7a04db0af0302e699319dcfa1adae004ea6721b5e

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