---
title: Tiger CLI reference | Tiger Data Docs
description: Command reference for Tiger CLI, including every command, configuration parameter, and global flag for managing Tiger Cloud
---

Tiger CLI is a command-line interface that you use to manage Tiger Cloud resources including VPCs, services, read replicas, and related infrastructure. Tiger CLI calls Tiger REST API to communicate with Tiger Cloud.

To install CLI, configure authentication, and create your first service, see [Get started with Tiger CLI](/get-started/quickstart/tiger-cli/index.md). This page is the reference for every CLI command and configuration parameter. For an overview of Tiger CLI and Tiger MCP, see [Tiger CLI and Tiger MCP](/learn/tiger-cli-mcp/index.md).

Tiger CLI (which bundles Tiger MCP) is open source. [File an issue in the repo](https://github.com/timescale/tiger-cli/issues/new) to report bugs or request features and help shape the product.

Use the following commands to manage Tiger Cloud from the terminal. Every command supports `-h` for inline help, for example `tiger service create -h`.

## Authentication

### `tiger auth login`

Create an authenticated connection to your Tiger Cloud account. This opens a browser to authorize. For non-interactive login, pass credentials as flags.

Terminal window

```
tiger auth login
```

- `--public-key`: public key for non-interactive login.
- `--secret-key`: secret key for non-interactive login.

You can also set the `TIGER_PUBLIC_KEY` and `TIGER_SECRET_KEY` environment variables; the project is auto-detected from your credentials. See [Authentication parameters](#authentication-parameters).

### `tiger auth logout`

Remove the credentials used to connect to Tiger Cloud.

Terminal window

```
tiger auth logout
```

### `tiger auth status`

Show your current authentication status and project ID.

Terminal window

```
tiger auth status
```

- `--output, -o`: output format: `json`, `yaml`, or `table`.

## Version

### `tiger version`

Show the installed Tiger CLI version.

Terminal window

```
tiger version
```

- `--check`: force a check for updates, regardless of the last check time.
- `--output, -o`: output format: `table`, `json`, `yaml`, or `bare`.

## Configuration

### `tiger config show`

Show the current configuration.

Terminal window

```
tiger config show
```

- `--output, -o`: output format: `json`, `yaml`, or `table`.
- `--no-defaults`: do not show default values for unset fields.
- `--with-env`: apply environment variable overrides.

### `tiger config set`

Set a configuration value. See [Configuration parameters](#configuration-parameters) for the available keys.

Terminal window

```
tiger config set <key> <value>
# for example
tiger config set read_only true
```

### `tiger config unset`

Clear a configuration value.

Terminal window

```
tiger config unset <key>
```

### `tiger config reset`

Reset the configuration to defaults. This also logs you out of the current Tiger Cloud project.

Terminal window

```
tiger config reset
```

## Services

### `tiger service create`

Create a new service in the current project.

Terminal window

```
tiger service create --name analytics --region us-east-1
```

- `--name`: service name (auto-generated if omitted).
- `--addons`: addons to enable: `time-series`, `ai`. Set to `none` for vanilla PostgreSQL.
- `--region`: region code. [Free services](/get-started/quickstart/create-service#what-is-a-tiger-cloud-service/index.md) (shared CPU/memory) must use `us-east-1`.
- `--cpu`: CPU allocation in millicores. Set to `shared` for a free service.
- `--memory`: memory allocation in gigabytes. Set to `shared` for a free service.
- `--replicas`: number of high-availability replicas.
- `--environment`: environment tag: `DEV` or `PROD` (default: `DEV`).
- `--no-wait`: return without waiting for the operation to complete.
- `--wait-timeout`: wait timeout (for example, `30m`, `1h30m`, `90s`).
- `--no-set-default`: do not set this service as the default.
- `--with-password`: include the password in the output.
- `--output, -o`: output format: `json`, `yaml`, `env`, or `table`.

Allowed compute configurations: `shared`/`shared` (only in `us-east-1`), 0.5 CPU/2 GB, 1/4, 2/8, 4/16, 8/32, 16/64, 32/128. Specify `--cpu` and `--memory` together, or set one and the other is configured automatically.

### `tiger service list`

List the services in the current project.

Terminal window

```
tiger service list
```

- `--output, -o`: output format: `json`, `yaml`, or `table`.

### `tiger service get`

Show detailed information about a service. Aliases: `describe`, `show`.

Terminal window

```
tiger service get <service-id>
```

- `--with-password`: include the password in the output.
- `--output, -o`: output format: `json`, `yaml`, `env`, or `table`.

### `tiger service fork`

Fork an existing service into a new, independent copy. Choose exactly one timing option.

Terminal window

```
tiger service fork <service-id> --now
```

- `--now`: fork at the current database state.
- `--last-snapshot`: fork at the last snapshot (faster).
- `--to-timestamp`: fork at a point in time (RFC3339).
- `--cpu`, `--memory`: compute for the fork (inherits from the source if omitted). See [`service create`](#tiger-service-create) for allowed configurations.
- `--name`: fork name (default: `{source-service-name}-fork`).
- `--environment`: environment tag: `DEV` or `PROD` (default: `DEV`).
- `--no-wait`, `--wait-timeout`: wait behavior (default timeout: `30m`).
- `--no-set-default`, `--with-password`, `--output, -o`: default-service and output options.

### `tiger service resize`

Change a service's CPU and memory. The service may be briefly unavailable during the resize.

Terminal window

```
tiger service resize <service-id> --cpu 4 --memory 16
```

- `--cpu`, `--memory`: new allocation. See [`service create`](#tiger-service-create) for allowed configurations.
- `--no-wait`, `--wait-timeout`: wait behavior (default timeout: `10m`).

### `tiger service start`

Start an inactive service.

Terminal window

```
tiger service start <service-id>
```

- `--no-wait`, `--wait-timeout`: wait behavior (default timeout: `10m`).

### `tiger service stop`

Stop an active service. After stopping, the service no longer accepts connections.

Terminal window

```
tiger service stop <service-id>
```

- `--no-wait`, `--wait-timeout`: wait behavior (default timeout: `10m`).

### `tiger service update-password`

Update the master password for a service.

Terminal window

```
tiger service update-password <service-id>
```

- `--new-password`: new password for the `tsdbadmin` user.
- `--auto-generate`: auto-generate a secure password (mutually exclusive with `--new-password`).

### `tiger service delete`

Delete a service. This is irreversible and prompts for confirmation before proceeding.

Terminal window

```
tiger service delete <service-id>
```

- `--confirm`: skip the confirmation prompt. AI agents must confirm with the user first.
- `--no-wait`, `--wait-timeout`: wait behavior (default timeout: `30m`).

### `tiger service logs`

View the logs for a service. Alias: `log`.

Terminal window

```
tiger service logs <service-id>
```

- `--tail`: number of log lines to show (default: `100`).
- `--since`, `--until`: fetch logs within a time range (RFC3339, for example `2024-01-15T09:00:00Z`).
- `--node`: specific node to fetch logs from (for services with HA replicas; `0` is valid).
- `--output, -o`: output format: `text`, `json`, or `yaml`.

## Database

### `tiger db connect`

Connect to a service with `psql`. Pass extra `psql` flags after `--`, for example `tiger db connect <service-id> -- --single-transaction`. Alias: `psql`.

Terminal window

```
tiger db connect <service-id>
```

- `--pooled`: use connection pooling (default: `false`).
- `--role`: database role (default: `tsdbadmin`).
- `--read-only`: open the session in Tiger Cloud's immutable read-only mode, so writes and DDL are rejected by the server. The [`read_only` config option](#configuration-parameters) or `TIGER_READ_ONLY=true` forces the same behavior.
- `--no-replica-prompt`: do not prompt to connect to a read replica.

### `tiger db connection-string`

Print the connection string for a service.

Terminal window

```
tiger db connection-string <service-id>
```

- `--pooled`: use connection pooling (default: `false`).
- `--role`: database role (default: `tsdbadmin`).
- `--with-password`: include the password (default: `false`, less secure).
- `--read-only`: emit a read-only connection string.

### `tiger db create role`

Create a database role.

Terminal window

```
tiger db create role <service-id> --name app_role
```

- `--name` (required): the role to create.
- `--read-only`: enforce permanent read-only for the role using `tsdb_admin.read_only_role`.
- `--from`: inherit grants from one or more roles, for example `--from app_role,readonly_role`.
- `--statement-timeout`: statement timeout for the role, for example `30s`, `5m`.
- `--password`: role password (falls back to `TIGER_NEW_PASSWORD`, otherwise auto-generated).
- `--output, -o`: output format: `json`, `yaml`, or `table`.

### `tiger db schema`

Display the schema of a service database as readable text.

Terminal window

```
tiger db schema <service-id>
```

- `--schema`: restrict output to a single schema.
- `--definitions`: include full object definitions (view `SELECT`s, function and procedure bodies).
- `--comments`: include object comments (`COMMENT ON` text).
- `--internal`: include system schemas (`pg_*`, `information_schema`, TimescaleDB internals) and extension-owned objects.
- `--pooled`: use connection pooling (default: `false`).
- `--role`: database role (default: `tsdbadmin`).

### `tiger db save-password`

Save the password for a service to the keychain.

Terminal window

```
tiger db save-password <service-id>
```

- `--role`: database role (default: `tsdbadmin`).
- `--password`: password value (or use `TIGER_NEW_PASSWORD`).

### `tiger db test-connection`

Test connectivity to a service.

Terminal window

```
tiger db test-connection <service-id>
```

- `--timeout, -t`: connection timeout (default: `3s`, `0` for none).
- `--pooled`: use connection pooling (default: `false`).
- `--role`: database role (default: `tsdbadmin`).

## MCP

### `tiger mcp install`

Install and configure Tiger MCP for an AI agent. Supported clients: `claude-code`, `codex`, `cursor`, `gemini`, `vscode`, `windsurf`, `antigravity`, `kiro-cli`. If no client is given, you are prompted to choose.

Terminal window

```
tiger mcp install claude-code
```

- `--no-backup`: do not back up the client's existing config before writing.
- `--config-path`: path to the client config file to update.

### `tiger mcp list`

List the available Tiger MCP tools, prompts, and resources.

Terminal window

```
tiger mcp list
```

- `--output, -o`: output format: `json`, `yaml`, or `table`.

### `tiger mcp get`

Show detailed information about a Tiger MCP tool, prompt, or resource, including skills. Aliases: `describe`, `show`.

Terminal window

```
tiger mcp get service_create
tiger mcp get setup-timescaledb-hypertables
```

- `--output, -o`: output format: `json`, `yaml`, or `table`.

### `tiger mcp start`

Start Tiger MCP. `tiger mcp start` is the same as `tiger mcp start stdio`.

Terminal window

```
tiger mcp start
```

- `stdio`: stdio transport (default).
- `http`: HTTP transport, with `--port` (default: `8080`) and `--host` (default: `localhost`).

## Configuration parameters

By default, Tiger CLI stores your configuration in `~/.config/tiger/config.yaml`. Change the config directory with the `--config-dir` flag or the `TIGER_CONFIG_DIR` environment variable.

### Configuration options

Set these with `tiger config set <key> <value>`:

| Flag               | Default   | Description                                                                                                                                                                                                                                                                                                                                                                                                                       |
| ------------------ | --------- | --------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------- |
| `analytics`        | `true`    | Enable or disable usage analytics                                                                                                                                                                                                                                                                                                                                                                                                 |
| `color`            | `true`    | Enable or disable colored output                                                                                                                                                                                                                                                                                                                                                                                                  |
| `debug`            | `false`   | Enable or disable debug logging                                                                                                                                                                                                                                                                                                                                                                                                   |
| `docs_mcp`         | `true`    | Enable or disable the Tiger Data documentation MCP proxy                                                                                                                                                                                                                                                                                                                                                                          |
| `mcp_max_rows`     | `100`     | Set the maximum number of rows returned by the `db_execute_query` Tiger MCP tool                                                                                                                                                                                                                                                                                                                                                  |
| `output`           | `table`   | Set the output format to `json`, `yaml`, or `table`                                                                                                                                                                                                                                                                                                                                                                               |
| `password_storage` | `keyring` | Set the password storage method. Options are `keyring`, `pgpass`, or `none`                                                                                                                                                                                                                                                                                                                                                       |
| `read_only`        | `false`   | Enable or disable read-only mode. When `true`, mutating CLI commands and Tiger MCP tools (`service create`, `fork`, `start`, `stop`, `resize`, `update-password`, and `delete`) are refused, and the database sessions opened by `db connect`, `db connection-string`, and `db_execute_query` run in Tiger Cloud's immutable read-only mode, so writes and DDL are rejected by the server. Read commands and tools are unaffected |
| `service_id`       | -         | Set the default service to manage                                                                                                                                                                                                                                                                                                                                                                                                 |
| `version_check`    | `true`    | Enable or disable checking for a new version of Tiger CLI on startup                                                                                                                                                                                                                                                                                                                                                              |

You can also set these configuration options as environment variables. Environment variables:

- Take precedence over configuration parameters values.
- Are in upper case and use the `TIGER_` prefix. For example, `TIGER_ANALYTICS`

### Global flags

These flags are available on all commands and take precedence over both environment variables and configuration file values:

| Flag                  | Default           | Description                                                                 |
| --------------------- | ----------------- | --------------------------------------------------------------------------- |
| `--analytics`         | `true`            | Enable or disable usage analytics                                           |
| `--color`             | `true`            | Enable or disable colored output                                            |
| `--config-dir`        | `~/.config/tiger` | Set the directory that holds `config.yaml`                                  |
| `--debug`             | `false`           | Enable or disable debug logging                                             |
| `--help`, `-h`        | -                 | Print help about the current command. For example, `tiger service --help`   |
| `--password-storage`  | `keyring`         | Set the password storage method. Options are `keyring`, `pgpass`, or `none` |
| `--service-id`        | -                 | Set the default service to manage                                           |
| `--skip-update-check` | `false`           | Skip checking if a new version of Tiger CLI is available                    |

### Authentication parameters

You can authenticate using client credentials instead of interactive browser login. Client credentials are a public key and secret key pair that you create in the Tiger Cloud Console. [Learn how to create client credentials](/integrate/find-connection-details#create-client-credentials/index.md).

Once you have your credentials, either set them as environment variables, then log in:

Terminal window

```
TIGER_PUBLIC_KEY=<public_key> TIGER_SECRET_KEY=<secret_key> \
tiger auth login
```

Or pass them to the `login` command:

Terminal window

```
tiger auth login --public-key=<public_key> --secret-key=<secret_key>
```

The project is auto-detected from your credentials.
