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.3.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 (v3.3.2)Integrity Checksum
sentry-cli-Darwin-arm64sha384-301bf368e9bd0bad3bf993eb6889cb2470e9934dadcfc9ca6a7fc99f4b45e114
sentry-cli-Darwin-universalsha384-04f38c69fa75f513e7ff1688253305505dce05a07e53ac65bcd2bb7ee4dd68d4
sentry-cli-Darwin-x86_64sha384-5a0ede04e84f99898b406cc80f2ce8da738f0ba6d0e688707cbb129bed80b469
sentry-cli-Linux-aarch64sha384-5960bf8b3076cf792c84f20a1612ad720f74b934bfcc597c6f8e66e73a8c1a77
sentry-cli-Linux-armv7sha384-f7c25140af5f4278ec31abce17f122f03bf8acde5fff8d5759b8434d38dc875e
sentry-cli-Linux-i686sha384-e816208e4f8c6dc404c29a1a90e0685cb0ada7e9a0c98283cecc0f6c46eb575d
sentry-cli-Linux-x86_64sha384-0e3b2e4b572d1ea6bfc45c7a9fa6fb44a1978cdf224f715f70bb6c33b9a669bd
sentry-cli-Windows-aarch64.exesha384-fa72814980f8cacd9445d81321bb99a9e4fc868b4a3c42711df0d752fc5dc214
sentry-cli-Windows-i686.exesha384-8d3da39770dc4cda8070841e12617c9e517803b9d81eb6cdd19791e4162ab638
sentry-cli-Windows-x86_64.exesha384-fe97c8750e149ca41bedf67e6ce4574794d44c9517c8e7483b46fae987172a7a
sentry_cli-3.3.2-py3-none-macosx_10_15_x86_64.whlsha384-d4a5ff6dbf17615f8d1ce793fddb94f7f0fc5035389962de68dd96c7c2425641
sentry_cli-3.3.2-py3-none-macosx_11_0_arm64.whlsha384-d85e3954e0285eea90fff447ada77ef1a8eb39dde25daa39c0a9ede9fa800cde
sentry_cli-3.3.2-py3-none-macosx_11_0_universal2.whlsha384-8ee3c526f3a68dc66ebec98a48f319d29cba538cdebc22b7960f8ff4790dc48e
sentry_cli-3.3.2-py3-none-manylinux_2_17_aarch64.manylinux2014_aarch64.musllinux_1_2_aarch64.whlsha384-4d16566c84c72752a2f71f742850e544133c2a857c333ffcd6c30b88331022a0
sentry_cli-3.3.2-py3-none-manylinux_2_17_armv7l.manylinux2014_armv7l.musllinux_1_2_armv7l.whlsha384-5fed186e21ed35fc5aa2b2c5dfeb47c69ebdbf5c5f00613189f72f683264b551
sentry_cli-3.3.2-py3-none-manylinux_2_17_i686.manylinux2014_i686.musllinux_1_2_i686.whlsha384-cfba0c52e865a80493e79ee14cc192e36fedeed42b735f94e47faca1b0aaac62
sentry_cli-3.3.2-py3-none-manylinux_2_17_x86_64.manylinux2014_x86_64.musllinux_1_2_x86_64.whlsha384-ce30392ce83873f4ab5a6ffeab5fdde82bac572f94c0261355314f12d5a75009
sentry_cli-3.3.2-py3-none-win32.whlsha384-1f755125653651936f55907970af5300d5c2d3cf189d799db9ff56042a8c70da
sentry_cli-3.3.2-py3-none-win_amd64.whlsha384-7e8a259624217ce54e03c00ede50b2d637bad6c311e4821b9d01e919444b43cf
sentry_cli-3.3.2-py3-none-win_arm64.whlsha384-ea404e383a6e49c95e8efe41bb4546fb9f14cb4f13c0adf906917405bece3289
sentry_cli-3.3.2.tar.gzsha384-55fbe165d7d2faeb35e92b30ee71dc4c6674f7f261f34bba9e084c7bd820e963

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