# Comparison between CLIs

## Overview

StackState has a new CLI! The new CLI has many advantages and a few notable differences.

{% hint style="warning" %}
**From StackState v5.0, the old `sts` CLI is called `stac`. The old CLI is now deprecated.**

The new `sts` CLI replaces the `stac` CLI. It's advised to install the new `sts` CLI and upgrade any installed instance of the old `sts` CLI to `stac`. For details see:

* [Which version of the `sts` CLI am I running?](#which-version-of-the-cli-am-i-running)
* [Install the new `sts` CLI and upgrade the old `sts` CLI to `stac`](/5.1/setup/cli/cli-sts.md#install-the-new-sts-cli)
* [Comparison between the CLIs](/5.1/setup/cli/cli-comparison.md)
  {% endhint %}

## Why a new CLI?

The new `sts` CLI has been built for a reason. Here are the major advantages of switching:

* Easy installation and configuration for all Operating Systems
* Native macOS support
* Faster releases - the CLI is versioned independently of the StackState product
* Backwards as well as forwards compatible with StackState versions
* Machine-readable output for every command
* Many UX improvements, including syntax highlighting, auto-completion and progress bars.
* SaaS support

## Notable Differences between the CLIs

* Unlike `stac`, the new `sts` CLI won't have commands for sending data to StackState. For these purposes, you can use either the StackState Agent or the StackState Receiver API.
* Some commands have been renamed to fall more in line with how we think of StackState today. For example, the old command `stac graph` is now called `sts settings`.
* The new `sts` CLI only works with StackState v5.0 or later.

{% tabs %}
{% tab title="CLI: sts" %}
The `sts` CLI is:

* 🎉 The new CLI!
* Works with StackState v5.0 or later.
* Contains all of the latest commands - see the [CLI command overview](#cli-command-overview).

➡️ [Install the new `sts` CLI](/5.1/setup/cli/cli-sts.md)
{% endtab %}

{% tab title="CLI: stac (deprecated)" %}
The `stac` CLI is:

* The old CLI.
* Works with StackState v5.1 or earlier.
* ⚠️ Doesn't include the newest commands - see the [CLI command overview](#cli-command-overview).
* Deprecated since StackState v5.1 and will no longer be actively maintained.

{% hint style="warning" %}
**From StackState v5.0, the old `sts` CLI is called `stac`. The old CLI is now deprecated.**

The new `sts` CLI replaces the `stac` CLI. It's advised to install the new `sts` CLI and upgrade any installed instance of the old `sts` CLI to `stac`. For details see:

* [Which version of the `sts` CLI am I running?](#which-version-of-the-cli-am-i-running)
* [Install the new `sts` CLI and upgrade the old `sts` CLI to `stac`](/5.1/setup/cli/cli-sts.md#install-the-new-sts-cli)
* [Comparison between the CLIs](/5.1/setup/cli/cli-comparison.md)
  {% endhint %}
  {% endtab %}
  {% endtabs %}

## Which version of the CLI am I running?

There are now two versions of the StackState CLI and the old version of the CLI has been renamed:

* The new CLI is called `sts` - note that this name was used by the old CLI in previous releases of StackState.
* The old CLI has been renamed to `stac`, this allows you to have the old CLI and new CLI installed on the same machine.

You can check which version of the `sts` CLI you are running with the following command:

```
$ sts version

# new `sts` CLI - example output:
VERSION | BUILD DATE           | COMMIT
1.0.0   | 2022-06-24T12:26:50Z | 6553352125d31a46c4790068e36c8eca32ace7fd


# old `sts` CLI - example output:
usage: cli.py [-h] [-v] [-i [INSTANCE]] [-c [CLIENT]]


# no `sts` CLI installed - example output:
command not found: sts


```

If you aren't running the new `sts` CLI yet, we recommend that you:

1. [Upgrade the old `sts` CLI to `stac`](/5.1/setup/cli/cli-stac.md).
2. [Install the new `sts` CLI](/5.1/setup/cli/cli-sts.md).

## CLI command overview

The new `sts` CLI replaces the old `stac` CLI, however, not all commands are available in both of the CLIs. An overview of the commands available in each CLI can be found in the table below.

| stac CLI (deprecated)      | sts CLI                           | Description                                                                                                                                                                                                                                                                                                                  |
| -------------------------- | --------------------------------- | ---------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------- |
| `anomaly collect-feedback` | `anomaly collect-feedback`        | Export anomalies to disk.                                                                                                                                                                                                                                                                                                    |
| `datasource list`          | `settings list --type DataSource` | List all telemetry data sources.                                                                                                                                                                                                                                                                                             |
| `graph *`                  | `settings *`                      | Configure StackState settings.                                                                                                                                                                                                                                                                                               |
| `graph retention`          | `graph retention`                 | Configure StackState graph database retention.                                                                                                                                                                                                                                                                               |
| `health *`                 | `health *`                        | Configure health synchronization.                                                                                                                                                                                                                                                                                            |
| `monitor *`                | `monitor *`                       | Manage, test and develop [monitors](/5.1/use/checks-and-monitors/monitors.md).                                                                                                                                                                                                                                               |
| `permission *`             | `rbac *`                          | Configure user/group permissions.                                                                                                                                                                                                                                                                                            |
| `script execute`           | `script execute`                  | Execute StackState scripts.                                                                                                                                                                                                                                                                                                  |
| `stackpack *`              | `stackpack *`                     | Install, configure and uninstall StackPacks.                                                                                                                                                                                                                                                                                 |
| `subscription *`           | `license *`                       | Configure the StackState license.                                                                                                                                                                                                                                                                                            |
| `subject *`                | `rbac *`                          | Configure users/groups.                                                                                                                                                                                                                                                                                                      |
| `topic *`                  | `topic *`                         | Inspect StackState messaging topics.                                                                                                                                                                                                                                                                                         |
| ❌                          | `completion`                      | Generate the CLI autocompletion script for the specified shell.                                                                                                                                                                                                                                                              |
| ❌                          | `context`                         | Manage CLI authentication contexts.                                                                                                                                                                                                                                                                                          |
| `anomaly send`             | ❌                                 | Send anomalies. Won't be ported to the new `sts` CLI. This remains possible via the StackState Receiver API.                                                                                                                                                                                                                 |
| `event send`               | ❌                                 | Send events. Won't be ported to the new `sts` CLI. This remains possible via the StackState Agent and the StackState Receiver API.                                                                                                                                                                                           |
| `metric *`                 | ❌                                 | Send and retrieve metrics. Won't be ported to the new `sts` CLI. Metrics can still be sent via the StackState Agent and the StackState Receiver API. To retrieve metrics, use the StackState UI [telemetry inspector](/5.1/use/metrics/browse-telemetry.md) or [analytics environment](/5.1/use/stackstate-ui/analytics.md). |
| `serverlog`                | ❌                                 | Read StackState log files. Won't be ported to the new `sts` CLI. Log files can be read via Kubernetes or directly from disk.                                                                                                                                                                                                 |
| `topology send`            | ❌                                 | Send topology. Won't be ported to the new `sts` CLI. This remains possible via the StackState Agent or the StackState Receiver API.                                                                                                                                                                                          |
| `trace send`               | ❌                                 | Send traces. Won't be ported to the new `sts` CLI. This remains possible via the StackState Agent or the StackState Receiver API.                                                                                                                                                                                            |


---

# Agent Instructions: Querying This Documentation

If you need additional information that is not directly available in this page, you can query the documentation dynamically by asking a question.

Perform an HTTP GET request on the current page URL with the `ask` query parameter:

```
GET https://archivedocs.stackstate.com/5.1/setup/cli/cli-comparison.md?ask=<question>
```

The question should be specific, self-contained, and written in natural language.
The response will contain a direct answer to the question and relevant excerpts and sources from the documentation.

Use this mechanism when the answer is not explicitly present in the current page, you need clarification or additional context, or you want to retrieve related documentation sections.
