Use the `influx` CLI to interact with and manage your
InfluxDB {{% show-in "cloud,cloud-serverless" %}}Cloud{{% /show-in %}} instance.
Write and query data, generate InfluxDB templates, export data, and more.
{{% show-in "v2" %}}
{{% note %}}
The [`influx` CLI](/influxdb/version/reference/cli/influx) is packaged and versioned
separately from the InfluxDB server (`influxd`).
{{% /note %}}
{{% /show-in %}}
- [Install the influx CLI](#install-the-influx-cli)
- [Set up the influx CLI](#set-up-the-influx-cli)
- [Use influx CLI commands](#use-influx-cli-commands)
## Install the influx CLI
{{< tabs-wrapper >}}
{{% tabs %}}
[macOS](#)
[Linux](#)
[Windows](#)
{{% /tabs %}}
{{% tab-content %}}
Do one of the following:
- [Use Homebrew](#use-homebrew)
- [Manually download and install](#manually-download-and-install)
### Use Homebrew
```sh
brew install influxdb-cli
```
{{% show-in "v2" %}}
{{% note %}}
If you used Homebrew to install **InfluxDB {{< current-version >}}**, the `influxdb-cli`
formula was downloaded as a dependency and should already be installed.
If installed, `influxdb-cli` will appear in the output of the following command:
```sh
brew list | grep influxdb-cli
```
{{% /note %}}
{{% /show-in %}}
### Manually download and install
1. Download the `influx` CLI package [from your browser](#download-from-your-browser)
or [from the command line](#download-from-the-command-line).
#### Download from your browser
influx CLI v{{< latest-patch cli=true >}} (macOS)
#### Download from the command line
```sh
curl -LO https://dl.influxdata.com/influxdb/releases/influxdb2-client-{{< latest-patch cli=true >}}-darwin-amd64.tar.gz \
--output-dir ~/Downloads
```
2. Unpackage the downloaded binary.
Do one of the following:
- In **Finder**, double-click the downloaded package file.
- In your terminal (for example, **Terminal** or **[iTerm2](https://www.iterm2.com/)**) use `tar` to extract the package--for example, enter the following command to extract it into `~/Downloads`:
```sh
tar zxvf ~/Downloads/influxdb2-client-{{< latest-patch cli=true >}}-darwin-amd64.tar.gz \
--directory ~/Downloads
```
3. Optional: Place the `influx` binary in your `$PATH`--for example, copy the binary to `/usr/local/bin`:
```sh
sudo cp ~/Downloads/influx /usr/local/bin/
```
With the `influx` binary in your `$PATH` (`/usr/local/bin`), you can enter `influx` in your terminal to run the CLI.
If you do not move the `influx` binary into your `$PATH`, enter the path to the binary to run the CLI--for example:
```sh
~/Downloads/influx
```
4. (macOS Catalina and newer) Authorize the `influx` binary.
macOS requires downloaded binaries to be signed by registered Apple developers.
When you first attempt to run `influx`, macOS prevents it from running.
To authorize the `influx` binary:
**Allow the binary on macOS Ventura**
1. Follow the preceding instructions to attempt to start `influx`.
2. Open **System Settings** and click **Privacy & Security**.
3. Under the **Security** heading, there is a message about "influxd" being blocked, click **Allow Anyway**.
5. When prompted, enter your password to allow the setting.
6. Close **System Settings**.
7. Attempt to start `influx`.
8. A prompt appears with the message _"macOS cannot verify the developer of "influx"...""_.
Click **Open**.
**Allow the binary on macOS Catalina**
1. Attempt to run an `influx` command.
2. Open **System Preferences** and click **Security & Privacy**.
3. Under the **General** tab, there is a message about `influx` being blocked.
Click **Open Anyway**.
{{% /tab-content %}}
{{% tab-content %}}
1. Download the `influx` CLI package [from your browser](#download-from-your-browser)
or [from the command line](#download-from-the-command-line).
#### Download from your browser
influx CLI v{{< latest-patch cli=true >}} (amd64)
influx CLI v{{< latest-patch cli=true >}} (arm)
#### Download from the command line
```sh
# amd64
wget https://dl.influxdata.com/influxdb/releases/influxdb2-client-{{< latest-patch cli=true >}}-linux-amd64.tar.gz
```
```sh
# arm
wget https://dl.influxdata.com/influxdb/releases/influxdb2-client-{{< latest-patch cli=true >}}-linux-arm64.tar.gz
```
2. Unpackage the downloaded binary.
_**Note:** The following commands are examples. Adjust the filenames, paths, and utilities if necessary._
```sh
# amd64
tar xvzf ./influxdb2-client-{{< latest-patch cli=true >}}-linux-amd64.tar.gz
```
```sh
# arm
tar xvzf ./influxdb2-client-{{< latest-patch cli=true >}}-linux-arm64.tar.gz
```
3. Optional: Place the unpackaged `influx` executable in your system `$PATH`.
```sh
# amd64
sudo cp ./influx /usr/local/bin/
```
```sh
# arm
sudo cp ./influx /usr/local/bin/
```
If you do not move the `influxd` binary into your `$PATH`, enter the path to the binary to start the server--for example:
```sh
./influx
```
{{% /tab-content %}}
{{% tab-content %}}
{{% note %}}
We recommend running `influx` CLI commands in Powershell.
Command Prompt is not fully compatible.
{{% /note %}}
1. Download the `influx` CLI package.
influx CLI v{{< latest-patch cli=true >}} (Windows)
2. Expand the downloaded archive.
Expand the downloaded archive into `C:\Program Files\InfluxData\` and rename it if desired.
```powershell
> Expand-Archive .\influxdb2-client-{{< latest-patch cli=true >}}-windows-amd64.zip -DestinationPath 'C:\Program Files\InfluxData\'
> mv 'C:\Program Files\InfluxData\influxdb2-client-{{< latest-patch cli=true >}}-windows-amd64' 'C:\Program Files\InfluxData\influx'
```
3. Grant network access to the `influx` CLI.
When using the `influx` CLI for the first time, **Windows Defender** displays
the following message:
> Windows Defender Firewall has blocked some features of this app.
To grant the `influx` CLI the required access, do the following:
1. Select **Private networks, such as my home or work network**.
2. Click **Allow access**.
{{% /tab-content %}}
{{< /tabs-wrapper >}}
## Set up the influx CLI
- [Provide required authentication credentials](#provide-required-authentication-credentials)
- [Enable shell completion (Optional)](#enable-shell-completion-optional)
### Provide required authentication credentials
To avoid having to pass your InfluxDB **host**, **API token**, and **organization**
with each command, store them in an `influx` CLI configuration (config).
`influx` commands that require these credentials automatically retrieve these
credentials from the active config.
Use the [`influx config create` command](/influxdb/version/reference/cli/influx/config/create/)
to create an `influx` CLI config and set it as active:
{{% code-placeholders "API_TOKEN|ORG|http://localhost:8086|CONFIG_NAME" %}}
```sh
influx config create --config-name CONFIG_NAME \
--host-url http://localhost:8086 \
--org ORG \
--token API_TOKEN \
--active
```
{{% /code-placeholders %}}
Replace the following:
- {{% code-placeholder-key %}}`CONFIG_NAME`{{% /code-placeholder-key %}}: Connection configuration name.
- {{% code-placeholder-key %}}`ORG_NAME`{{% /code-placeholder-key %}}: your InfluxDB [organization](/influxdb/version/admin/organizations/).
- {{% code-placeholder-key %}}`API_TOKEN`{{% /code-placeholder-key %}}: your [API token](/influxdb/version/admin/tokens/).
For more information about managing CLI configurations, see the
[`influx config` documentation](/influxdb/version/reference/cli/influx/config/).
For instructions on how to create API tokens, see [Create a token](/influxdb/version/admin/tokens/create-token/).
{{% show-in "v2" %}}
#### Authenticate with a username and password
The **`influx` CLI 2.4.0+** lets you create connection configurations
that authenticate with **InfluxDB OSS 2.4+** using the username and
password combination that you would use to log into the InfluxDB user interface (UI).
The CLI retrieves a session cookie and stores it, unencrypted, in your
[configs path](/influxdb/version/reference/internals/file-system-layout/#configs-path).
Use the `--username-password`, `-p` option to provide your username and password
using the `:` syntax.
If no password is provided, the CLI prompts for a password after each
command that requires authentication.
{{% code-placeholders "API_TOKEN|ORG|http://localhost:8086|CONFIG_NAME|USERNAME|PASSWORD" %}}
```sh
influx config create \
-n CONFIG_NAME \
-u http://localhost:8086 \
-p USERNAME:PASSWORD \
-o ORG
```
{{% /code-placeholders %}}
Replace the following:
- {{% code-placeholder-key %}}`CONFIG_NAME`{{% /code-placeholder-key %}}: Connection configuration name.
- {{% code-placeholder-key %}}`ORG`{{% /code-placeholder-key %}}: [your organization name](/influxdb/version/admin/organizations/).
- {{% code-placeholder-key %}}`USERNAME:PASSWORD`{{% /code-placeholder-key %}}: your UI username and password combination.
{{% /show-in %}}
### Enable shell completion (Optional)
To install `influx` shell completion scripts, see
[`influx completion`](/influxdb/version/reference/cli/influx/completion/#install-completion-scripts).
## Use influx CLI commands
_For information about `influx` CLI commands, see the
[`influx` CLI reference documentation](/influxdb/version/reference/cli/influx/)._