---
title: "trove setup and install"
description: "Use when you install Trove into your coding agents, turn it on or off for one agent, update the binary, check the version, or run the first-run commands scan, welcome and tour."
url: https://docs.heytrove.ai/reference/cli/setup
updated: 2026-10-01
---

# trove setup and install

> Load this page when: you need to run trove setup, enable or disable an agent, install or update the binary, or check the installed version

## For agents

- Run trove setup --status --json to see which agents have Trove installed and enabled.
- Use trove setup --enable or --disable with agent tokens, such as claude-code or cursor.
- Run trove version --json to learn whether the binary is the latest.

These commands put Trove into your coding agents and keep the binary current. First-time install steps are on [Install Trove](https://docs.heytrove.ai/install.md).

## Quick reference

| Command | What it does |
| --- | --- |
| `trove setup` | Install the Trove skill into every detected agent |
| `trove setup --status` | Show per-agent state |
| `trove setup --list` | List every supported agent |
| `trove setup --enable` | Turn Trove on for agents |
| `trove setup --disable` | Turn Trove off for agents |
| `trove install` | Install or update the binary and the shell setup |
| `trove update` | Update to the latest version |
| `trove version` | Show the version and whether it is the latest |
| `trove scan` | List documents on this machine worth adding |
| `trove welcome` | Replay the marketplace showcase |
| `trove tour` | Take the two-minute tour in Claude Code |

## trove setup

With no flags, it detects every supported agent and installs the Trove skill into each one that is not disabled. Running it again refreshes the files.

**Usage**

```bash
trove setup [--status | --list | --enable AGENTS | --disable AGENTS] [--json]
```

**Arguments and flags**

The four flags conflict with each other. Use one at a time.

| Flag | Value | Default | Meaning |
| --- | --- | --- | --- |
| `--status` | none | off | Show Detected, Installed, Enabled and Type for each agent. |
| `--list` | none | off | List every supported agent with its name token, detection and install state. |
| `--enable` | names or `all` | none | Turn Trove on. Installs now when the agent is detected, and later when it appears. |
| `--disable` | names or `all` | none | Turn Trove off. Removes only Trove's files and config keys from those agents. |

Agent tokens are `claude-code`, `cursor`, `github-copilot`, `gemini-cli`, `codex` and `grok`. Separate several with commas.

The choice is stored in your account, so it applies on every machine. Other machines follow within about two hours, or at once when you run `trove setup` there. The same switches are in Settings under Connected agents.

**Example**

```bash
trove setup --disable cursor
trove setup --status --json
```

**Output**

With `--json`, `--status` and `--list` print `agents`. Each agent has `name`, `display_name`, `detected`, `installed`, `enabled`, `install_type`, `skills_dir` and `detection_path`. `--enable` and `--disable` print `op`, `agents`, `synced`, `pending_ops`, `disabled`, `removed`, `installed`, `not_detected` and `failed`. They exit non-zero when `failed` is not empty. Plain setup prints `skill_version`, `installed`, `removed`, `skipped_disabled`, `failed` and `detected`.

**Errors**

| Message | Fix |
| --- | --- |
| ``{verb} failed for: {agents} (preference saved; run `{retry}` to retry)`` | The preference is saved. Run the command it names. |
| `agent: unknown agent. Supported agents: …` | Use a token from the list above. |

REST equivalent: [Account API](https://docs.heytrove.ai/reference/api/account.md#change-which-agents-are-turned-off).

## trove install

Installs or updates the binary and the shell integration. The install script on the [install page](https://docs.heytrove.ai/install.md) calls it for you.

**Usage**

```bash
trove install [TARGET] [--channel CHANNEL] [--no-setup]
```

**Arguments and flags**

| Argument or flag | Value | Default | Meaning |
| --- | --- | --- | --- |
| `TARGET` | `latest`, `stable` or a version such as `1.0.0` | none | Version to install. |
| `--channel` | `stable` or `beta` | stable | Release channel to install from and to follow for updates. |
| `--no-setup` | none | off | Install only. Do not run setup or sign-in afterwards. |

**Errors**

| Message | Fix |
| --- | --- |
| `Invalid channel: {raw} (expected lowercase letters, digits and '-')` | Use `stable` or `beta`. |
| `` `stable` conflicts with --channel {c}; use `trove install --channel {c}` `` | Pass one of the two. |
| `Checksum verification failed (expected {a}, got {b})` | Run it again. If it repeats, report it with [trove report](https://docs.heytrove.ai/reference/cli/report.md). |
| `Could not reach {host} ({error}). Check your network connection, then try downloading directly: {url}` | Check the network. |

## trove update

Updates the binary to the latest version.

**Usage**

```bash
trove update [--json]
```

**Output**

With `--json` the output has `current`, `latest`, `updated` and `up_to_date`. It adds `channel` when you are not on the stable channel.

The CLI also updates itself in the background on the next command. Set `TROVE_NO_AUTO_UPDATE=1` to stop that.

## trove version

Shows the installed version and whether it is the latest. It checks live, unlike `trove --version`, which reads a local cache.

**Usage**

```bash
trove version [--json]
```

**Output**

```json
{
  "current": "1.0.0",
  "latest": "1.0.0",
  "up_to_date": true,
  "source": "live"
}
```

`up_to_date` is `null` when the latest version is unknown. `source` is `live` or `cache`.

## trove scan

Lists documents on this machine worth adding: PDFs, EPUBs and Markdown in Documents, Downloads and Desktop, two levels deep. Nothing uploads. Files that look personal are counted but never listed.

**Usage**

```bash
trove scan [--json]
```

## trove welcome

Replays the first-run marketplace showcase. Use it for demos.

**Usage**

```bash
trove welcome [--json]
```

## trove tour

Starts the two-minute tour in Claude Code. The command always prints JSON.

**Usage**

```bash
trove tour
```
