Installing
This guide explains how to install the current 1.15.0 release of ecctl on supported operating systems. Release artifacts are available from the release page. If you need changes that are not yet included in the latest release, you can build ecctl from source.
You can install ecctl using one of these methods:
- macOS: Homebrew (recommended) or archive (
.tar.gz) - Linux:
deb,rpm, or archive (.tar.gz) - Windows: Install with
go install - Any OS: Build from source
For shell completions, refer to Enable shell completions. If you download release artifacts (.tar.gz, .deb, or .rpm), refer to Verify downloaded artifacts to optionally verify their SHA-256 checksums before installation.
The simplest installation for macOS users is to install ecctl with Homebrew:
brew tap elastic/tap
brew install elastic/tap/ecctl
Download the
.tar.gzarchive for your architecture from the release page:# Apple Silicon curl -L -O https://download.elastic.co/downloads/ecctl/1.15.0/ecctl_1.15.0_darwin_arm64.tar.gz # Intel (x86_64) curl -L -O https://download.elastic.co/downloads/ecctl/1.15.0/ecctl_1.15.0_darwin_amd64.tar.gzExtract the archive and move the
ecctlbinary to a directory in yourPATH, for example/usr/local/bin.Verify the installation:
ecctl version
Linux packages are published with every release and are available from the release page.
- Debian/Ubuntu:
ecctl_<VERSION>_linux_64-bit.deb,ecctl_<VERSION>_linux_32-bit.deb, orecctl_<VERSION>_linux_arm64.deb - RHEL/CentOS/Fedora:
ecctl_<VERSION>_linux_64-bit.rpm,ecctl_<VERSION>_linux_32-bit.rpm, orecctl_<VERSION>_linux_arm64.rpm
Download the package that matches your system and architecture, then install it with your package manager. For example:
On Debian/Ubuntu systems:
curl -L -O https://download.elastic.co/downloads/ecctl/1.15.0/ecctl_1.15.0_linux_64-bit.deb sudo dpkg -i ecctl_1.15.0_linux_64-bit.debOn RHEL/CentOS/Fedora systems:
curl -L -O https://download.elastic.co/downloads/ecctl/1.15.0/ecctl_1.15.0_linux_64-bit.rpm sudo rpm -i ecctl_1.15.0_linux_64-bit.rpm
Download the Linux
.tar.gzarchive for your architecture from the release page:# x86_64 (AMD64) curl -L -O https://download.elastic.co/downloads/ecctl/1.15.0/ecctl_1.15.0_linux_amd64.tar.gz # ARM64 curl -L -O https://download.elastic.co/downloads/ecctl/1.15.0/ecctl_1.15.0_linux_arm64.tar.gz # x86 (386) curl -L -O https://download.elastic.co/downloads/ecctl/1.15.0/ecctl_1.15.0_linux_386.tar.gzExtract the archive and move the
ecctlbinary to a directory in yourPATH, for example/usr/local/bin:tar -xzf ecctl_1.15.0_linux_amd64.tar.gz sudo cp ecctl /usr/local/binVerify the installation:
ecctl version
Official Windows binaries are not currently published. Install ecctl with go install:
Install Go.
Open Command Prompt or PowerShell.
Confirm Go is available:
go versionInstall
ecctl:go install github.com/elastic/ecctl@latestTo install a different version, replace
@latestwith a specific tag, for example:go install github.com/elastic/ecctl@v1.15.0Add Go's binary directory to your
PATHif needed (%USERPROFILE%\go\binby default).Verify the installation:
ecctl version
Use this method if you need changes that are not yet included in an official release or want to build from a specific branch or commit.
- Go
git
Clone the repository and build locally:
git clone https://github.com/elastic/ecctl.git
cd ecctl
go build .
This command produces an ecctl binary (ecctl.exe on Windows) in the current directory.
You can also install directly with Go:
go install .
This installs the binary into GOBIN (or GOPATH/bin if GOBIN is not set). Make sure that location is in your PATH.
For contributor-focused setup details, see Setting up a dev environment.
If you download release artifacts (.tar.gz, .deb, or .rpm), you can optionally verify their SHA-256 checksums before installing them.
Download the checksum file:
curl -L -O https://download.elastic.co/downloads/ecctl/1.15.0/ecctl_1.15.0_checksums.txtCompute the SHA-256 checksum of the downloaded artifact. For example:
# macOS shasum -a 256 ecctl_1.15.0_darwin_arm64.tar.gz # Linux sha256sum ecctl_1.15.0_linux_amd64.tar.gzDisplay the expected checksum from the checksums file. For example:
grep "ecctl_1.15.0_linux_amd64.tar.gz" ecctl_1.15.0_checksums.txtVerify that the checksum matches the value returned by the checksum command.
You can enable shell completions after installation. These instructions apply to Bash and Zsh on macOS and Linux.
Load completions for the current shell session:
source <(ecctl generate completions)
Persist completions across sessions:
- Bash:
echo "source <(ecctl generate completions)" >> ~/.bash_profile - Zsh:
echo "source <(ecctl generate completions)" >> ~/.zshrc
ecctl: command not found: Add the binary location to yourPATH.permission deniedwhen copying to system paths: Use elevated privileges (sudoon Linux/macOS).go: command not foundon Windows: Ensure Go is installed correctly and restart the terminal after installation.
Use the same installation method you used to install ecctl:
- Homebrew (macOS):
brew upgrade ecctl - Linux package (
deb/rpm): Install a newer package from the release page - Archive (
.tar.gz) (macOS/Linux): Download the latest archive from the release page and replace the existing binary. - Windows (
go install):go install github.com/elastic/ecctl@latest
After installing ecctl, continue with:
- Configure ecctl
- Initialize your first configuration
- Authentication methods
- Usage examples
- Command reference
If you use serverless projects, refer to Manage serverless projects