Install and set up the grafanactl CLI
Caution
grafanactlis being deprecated, and we’re bringing all our learning and experience into the new, improved CLI toolgcx. Thegrafanactlrepository in GitHub will be archived on June 1, 2026.To migrate from
grafanactltogcx, search-and-replacegrafanactlwithgcx. Forgrafanactl resources serve, usegcx dev serveinstead.
The grafanactl command-line tool allows you to authenticate, manage multiple environments, and perform administrative tasks through the Grafana REST API, all from the terminal. It’s available for Grafana OSS, Enterprise, and Cloud.
Install the Grafana CLI grafanactl
You can install the project using one of the following supported methods:
1. Download a pre-built binary
Download the latest binary for your platform from the Releases page.
Prebuilt binaries are available for a variety of operating systems and architectures. Visit the latest release page, and scroll down to the Assets section.
To install the binary, follow the instructions below:
- Download the archive for the desired operating system and architecture
- Extract the archive
- Move the executable to the desired directory
- Ensure this directory is included in the PATH environment variable
- Verify that you have execute permission on the file
2. Build from source
To build grafanactl from source you must:
- Have
gitinstalled - Have
gov1.24 (or greater) installed
go install github.com/grafana/grafanactl/cmd/grafanactl@latestConfigure grafanactl
You can configure grafanactl in two ways: using environment variables or through a configuration file.
- Environment variables are ideal for CI environments and support a single context. A full list of supported environment variables is available in the reference documentation.
- Configuration files can manage multiple contexts, making it easier to switch between different Grafana instances.
Note
Configuration items may change depending on your set-up. For example, use
org-idfor self-managed Grafana, but usestack-idfor Grafana Cloud.
Configure Grafana CLI with environment variables
Grafana CLI communicates with Grafana via the REST API, which requires authentication credentials.
At a minimum, set the URL of your Grafana instance and the organization ID:
GRAFANA_SERVER='http://localhost:3000' GRAFANA_ORG_ID='1' grafanactl config checkDepending on your authentication method, you may also need to set:
- A token for a Grafana service account (recommended)
- A username and password for basic authentication
To persist your configuration, consider creating a context.
Use configuration contexts
Contexts allow you to easily switch between multiple Grafana instances.
By default, the CLI uses a context named default. To configure it use:
grafanactl config set contexts.default.grafana.server http://localhost:3000
grafanactl config set contexts.default.grafana.org-id 1Authenticate with a service account token:
grafanactl config set contexts.default.grafana.token service-account-tokenOr use basic authentication:
grafanactl config set contexts.default.grafana.user admin
grafanactl config set contexts.default.grafana.password adminYou can define additional contexts in the same way:
grafanactl config set contexts.staging.grafana.server https://staging.grafana.example
grafanactl config set contexts.staging.grafana.org-id 1Note
In these examples,
defaultandstagingare the names of the contexts.
Configure Grafana CLI with configuration files
Grafana CLI stores its configuration in a YAML file. The CLI determines the configuration file location in the following order:
- If the
--configflag is provided, the specified file is used. - If
$XDG_CONFIG_HOMEis set:$XDG_CONFIG_HOME/grafanactl/config.yaml - If
$HOMEis set:$HOME/.config/grafanactl/config.yaml - If
$XDG_CONFIG_DIRSis set:$XDG_CONFIG_DIRS/grafanactl/config.yaml
Note
Use
grafanactl config checkto display the configuration file currently in use.
Useful commands
Check the current configuration:
grafanactl config checkNote
This command is useful to troubleshoot your configuration.
List all available contexts:
grafanactl config list-contextsSwitch to a specific context:
grafanactl config use-context stagingView the full configuration:
grafanactl config view

