Get Help

instance

Shows the identity and versions of this CAT installation, or sets — and removes — the Enterprise license key. Works without sign-in.

Synopsis

catcli instance --show [-l <level>]
catcli instance --setLicenseKey <key> [-l <level>]
catcli instance --setLicenseKey "" [-l <level>]

Options

Short Long Value Meaning
-s --show Print the instance table. Exactly one of -s / -k is required.
-k --setLicenseKey key Store the license key. An empty value (-k "") removes the stored key.
-l --loggingLevel level None (default), Error, Information, Debug, … — see Logging.
-q --quiet Accepted for uniformity with the other verbs; instance never signs in, so there is nothing to silence.

What it does

Reads or writes %APPDATA%\CAT\.catconfig (~/.config/CAT/.catconfig on Linux and macOS), the file that identifies this installation and holds the license key. It does not run the sign-in and plan check — that is the point: a key can be installed on a machine that has no portal access and no token, and the installation can always be inspected. Setting a key is how an Enterprise plan is activated; once a valid key is stored, every verb works offline and CAT_PORTAL_TOKEN is no longer read. A key can also come from the CAT_LICENSE_KEY environment variable, which wins over the stored one — see Apply a license key. The same key is shared with the other CAT tools on the machine (CAT Studio, the PowerShell module, the Python module) — it is one installation.

A key is checked before it is stored: a genuine CAT key is stored even when it is expired or not yet valid (what it unlocks is decided at every run, and a future key starts working the day its window opens); anything that is not a CAT key — a typo, a truncated paste — is refused with the reason and the stored key is left unchanged.

Output

--show prints a two-column table:

╭──────────────────────┬──────────────────────────────────────╮
│ Property             │ Value                                │
├──────────────────────┼──────────────────────────────────────┤
│ Instance ID          │ 3f0e9a2c-…                           │
│ Installation Date    │ 2026-03-02T09:14:51.0000000+01:00    │
│ License Key          │ A...LrK8                             │
│ License Key Status   │ Valid                                │
│ License Key Plan     │ Enterprise                           │
│ License Key Validity │ 2026-01-01 – 2026-12-31              │
│ Automation Platform  │ none (interactive invocation)        │
│ Agent Host           │ claude-code 2.1.274                  │
│ Tool and version     │ CAT CLI v3.0.0                       │
│ Version of CAT Core  │ 3.0.0                                │
│ Platform             │ Windows                              │
│ OS Version           │ Microsoft Windows 10.0.22631         │
╰──────────────────────┴──────────────────────────────────────╯

License Key is the key in effect and is shown masked — the first and the last four characters of the key without its CAT3. prefix, the same short form the portal shows on its License Keys page, so you can match the two by eye. When the key comes from the CAT_LICENSE_KEY environment variable rather than from .catconfig, the row ends with (from the CAT_LICENSE_KEY environment variable); there is no such suffix otherwise. No option prints the whole key: the .catconfig file is the only place it can be read. The three rows below it say what the key is worth: License Key Status is Valid, Expired, Future or, for something that is not a readable CAT key, Incorrect, MalformedKey, UnsupportedVersion, InvalidSignature — and NotSet when no key is stored. License Key Plan and License Key Validity are filled in only for a key CAT could read; they are empty otherwise.

Automation Platform names the CI/CD platform CAT detected it was started by, or none (interactive invocation) — useful for checking what the interactive-only rule will see.

Agent Host names the coding agent CAT detected it was started by — claude-code, copilot-cli, cursor, codex, gemini-cli and a few more, with the agent’s version when it reports one — or none. It is informational only: an agent on your machine is interactive use, and this row never affects the interactive-only rule.

--setLicenseKey prints The license key was set., The license key was removed., or The license key was not set. followed by the reason. When CAT_LICENSE_KEY holds a different key, a warning follows on standard error: the key was stored, but the variable is still the key in effect until it is removed.

Exit code

0 when the table was printed or the key was set or removed. 1 when the key was refused or the configuration could not be read or written.

Examples

# what installation is this, and is a key set?
catcli instance -s

# activate the Enterprise plan on this machine
catcli instance --setLicenseKey "your-license-key"

# go back to no key (sign-in with CAT_PORTAL_TOKEN applies again)
catcli instance -k ""