> For the complete documentation index, see [llms.txt](https://developer.celigo.com/llms.txt). Markdown versions of documentation pages are available by appending `.md` to page URLs; this page is available as [Markdown](https://developer.celigo.com/cli/getting-started/install.md).

# Install

## Requirements

* **Node.js 22 or newer.** Check with `node --version`.
* **npm** (bundled with Node) or an equivalent registry client (pnpm, yarn).

## Global install (recommended)

```bash
npm install -g @celigo/celigo-cli
celigo --version
```

This puts the `celigo` binary on your `PATH`. On macOS/Linux the npm global prefix is typically `/usr/local/bin`; on Windows it's under `%AppData%\npm\celigo.cmd`.

The CLI runs from any directory. It does not need a git repository or a project folder. Configuration is stored in `~/.celigo/`.

### npm install scripts and `--jq`

The CLI's `node-jq` dependency has an install script that downloads the jq binary `--jq` runs, and npm 11 warns about it on a global install. To let that one script run — which is also what `--strict-allow-scripts` requires — install with:

```bash
npm install -g @celigo/celigo-cli --allow-scripts=node-jq
```

An install with `--ignore-scripts` skips the download. Since celigo-cli 2026.10.1, `--jq` then runs the jq that `JQ_PATH` names, or a `jq` on `PATH`, and says how to get one when there is neither. See [Global flags](/cli/getting-started/global-flags.md).

## One-off invocation without install

```bash
npx --yes @celigo/celigo-cli --version
```

Useful in CI when you want to pin a specific version in a workflow file.

## Upgrading

```bash
npm install -g @celigo/celigo-cli@latest
```

The CLI checks npm for a newer version every four hours on startup and auto-installs it unless suppressed. Skip the check with `CELIGO_NO_UPDATE=1`. CI environments are detected (`CI`, `GITHUB_ACTIONS`, `GITLAB_CI`, `JENKINS_URL`, `CIRCLECI`, `BUILDKITE`, …) and the check is skipped automatically. `celigo config set auto_update false` keeps the check but only prints the command to run.

When a newer version exists, the CLI says so on stderr and installs it in the background; the update applies from your next command:

```
celigo: updating 2026.9.6 → 2026.10.1 in the background (same as: npm install -g @celigo/celigo-cli@2026.10.1); it should apply to your next command. Opt out with CELIGO_NO_UPDATE=1 or 'celigo config set auto_update false'.
```

When the CLI cannot update itself, it says so instead of staying on the old version silently. If the installed package directory is not writable by your user, it prints the `sudo` command to run instead; if a background install failed, the next check says that the update did not apply and retries.

Since celigo-cli 2026.10.1:

* **The update replaces the copy you run.** When your `celigo` sits under a prefix npm is not configured for — a second install earlier on `PATH`, or a `prefix` setting changed since — the background install and every command the CLI prints add `--prefix <dir>` (`npm install -g --prefix /opt/tools @celigo/celigo-cli@2026.10.1`). A plain `npm install -g` would update the other copy. Nothing changes where the two prefixes agree.
* **The update check works on Windows.** The check, the install, and the background skills install start npm's `.cmd` shims through the shell with one quoted command line. Until this release the check never reached npm on Windows, so no update was found there.
* **npm and npx run from your home directory, without the CLI's API tokens.** The update check and install, and the background skills install, start npm and npx from your home directory — never the directory you ran `celigo` in, whose project `.npmrc` could otherwise choose the registry — and without `CELIGO_API_TOKEN` or `CELIGO_TARGET_API_TOKEN` in their environment.
* **A home directory the CLI cannot write** (a full disk, a read-only sandbox) no longer slows every command: the check records its throttle first, and skips itself when it cannot.

## Uninstalling

> ⚠️ **`rm -rf ~/.celigo` is irreversible.** It permanently deletes your saved profiles, tokens, config, and the account index. Omit it if you plan to reinstall the CLI later.

```bash
npm uninstall -g @celigo/celigo-cli
rm -rf ~/.celigo     # removes profiles, config, and the account index
```

## Verifying the install

```bash
$ celigo --version
2026.6.1

$ celigo --help
Usage: celigo [options] [command]

Celigo CLI — manage your integrator.io resources from the terminal.

Options:
  --token <token>                           API bearer token (prefer CELIGO_API_TOKEN env var to avoid exposing in process list).
  --base-url <url>                          API base URL.
  --format <format>                         Output format (json or table). Defaults to config or json.
  --jq <expr>                               Transform JSON output with a jq expression (e.g. --jq '.[] | {id: ._id, name}').
  --verbose                                 Show HTTP requests.
  --profile <name>                          Run against a named config profile (must exist — see 'celigo profile list'). Overrides CELIGO_PROFILE, which in turn overrides the machine-wide active profile.
  -h, --help                                display help for command

Commands:
  config                                    Manage CLI configuration.
  profile                                   Manage named config profiles (multiple accounts/environments).
  login [options]                           Sign in with OAuth (authorization code + PKCE). …
  logout                                    Revoke the OAuth session for a profile and forget stored tokens. …
  skills                                    Install and update agent skills from the public celigo/ai repository.
  …

Version: 'celigo --version' (or 'celigo -v') prints the CLI's version — as the first argument
only, so that a subcommand's own --version (connections create, http-connectors catalog and
endpoint-detail) reaches the subcommand.
…
```

`-v`/`--version` is read only as the first argument since celigo-cli 2026.10.1, so it is no longer listed under `Options`.

If `celigo` isn't found after install, make sure the npm global `bin` directory is on your `PATH`:

```bash
npm prefix -g    # the global prefix: commands live in <prefix>/bin on macOS and Linux, in <prefix> on Windows
```

Add that path to your shell rc file (`~/.zshrc`, `~/.bashrc`, or PowerShell `$PROFILE`).

## Releases & versioning

The CLI uses calendar versioning (e.g. `2026.6.1` = 2026-06, patch 1). Release notes and tarballs live on the [npm package page](https://www.npmjs.com/package/@celigo/celigo-cli).
