Skip to content

CLI

Run cluster agents and tools, manage dashboard resources, and sync skills from the terminal.

Use exo to run agents and tools, manage resources, and sync skills. It saves your login for later commands and connects through Industric to your deployments.

Command name
The CLI is called exo. Existing EXO_* variables, credentials paths, and download URLs still apply.

Also available: exo chat, exo workflow, exo devbox, exo wiki, and exo inbox. Find agent templates with exo agent search.

Install

The installer adds exo to ~/.exo/bin and your PATH. Available for macOS (Intel and Apple Silicon), Linux (amd64 and arm64), and Windows.

terminal· bash
curl -fsSL https://exo.assets.adaptive.live/install.sh | bash
exo version

Login

Run exo login to sign in through your browser using password, OAuth, or SSO. The CLI saves your token in ~/.config/exo/credentials.json (mode 0600).

terminal· bash
exo login --endpoint https://exo.example.com
Non-interactive auth
For CI, use exo login --email ada@example.com --password - to read the password from stdin, or set EXO_CLIENT_ID and EXO_CLIENT_SECRET for OAuth. EXO_TOKEN takes priority.

Contexts

A context saves a login for an endpoint and workspace. Keep several contexts and switch between them without replacing saved logins.

terminal· bash
exo login --endpoint https://exo.example.com --context prod
exo context list
exo context use prod
exo context current
exo context delete old-staging

Use --context at login to name it. Otherwise, the name is <endpoint>-<tenant-id>.

Command types

  • Cluster commands (agent, tool) run through Industric's connection to your cluster. Sessions are recorded; no kubeconfig is needed.
  • Platform commands (deployment, skill, role, team, idp, and other resources) call the Industric API using your saved login.

Command reference

exo help· text
1# Session
2exo login Authenticate (browser, or --email/--password for CI)
3exo logout Delete cached credentials
4exo context list | current | use | delete — switch saved logins
5exo whoami Show the authenticated user (alias: exo me identity)
6exo me Show identity; "exo me permissions" shows effective perms
7exo version Print the CLI version
8
9# Cluster resources — platform-routed
10exo agent list | get | run (alias: invoke) | connect | mount
11exo tool list | get | create -f | delete | connect | exec |
12 pause | status | test | context [collect]
13exo fs list | ls | create | cp | resize | delete
14
15# Dashboard resources (via Industric API, requires exo login)
16exo deployment list | get | delete | rotate-token
17exo skill list | get | create | update | delete | sync
18exo sync Mirror tenant skills + policies onto this machine
19exo mcp list | get | tools | proxy | create | update | delete
20exo role list | get | create | update | delete
21exo team list | get | create | update | delete | add-user |
22 remove-user
23exo permission list | create | update | delete
24exo policy create -f <file|dir> [-R] [--update] | list | delete |
25 lint -f <file> | test | sync
26exo runtime-policy list | get | create | update | delete
27
28# Add --json to any command for machine-readable output.
29# -v / -vv / -vvv turn on tracing: lifecycle, +bodies, +headers.

exo run is a top-level shortcut for exo agent run. Other resources (guardrail, integration, sandbox, oauth-app, mcp-server) use the same create, read, update, and delete commands.

Common workflows

Guides: attach to an agent, run an agent, connect to a tool, sessions & replay, skills, MCP servers, file systems, and policies.

attach to an agent· bash
exo agent run prod/checkout-bot --reason "investigating stuck order"
exo agent connect prod/default/checkout-bot
open a database tool· bash
exo tool connect prod/orders-db
exo tool exec prod/orders-db -- psql -c 'select count(*) from orders'
fire a run· bash
exo agent run prod/adaptive/triage-bot --reason "nightly triage"
exo agent list
exo agent get triage-bot -n adaptive
sync skills to disk· bash
exo skill sync --runtime claude --local --prune
exo sync
MCP servers and file systems· bash
exo mcp tools linear
claude mcp add linear -- exo mcp proxy linear
exo fs cp ./dataset.parquet build-cache:/data/dataset.parquet
exo fs ls build-cache:/data
exo agent mount ./src:/workspace/src --name triage-bot

Environment & config

environment· text
1EXO_ENDPOINT Dashboard API base URL (else credentials.json, else default)
2EXO_TOKEN Raw bearer token — highest precedence
3EXO_CLIENT_ID OAuth client credentials, exchanged at /api/v1/oauth/token
4EXO_CLIENT_SECRET (used when no EXO_TOKEN / credentials.json is present)
5EXO_CONTEXT Select a saved context for one command, without switching
6EXO_CREDENTIALS Override path to credentials.json (default ~/.config/exo/)
7EXO_MANAGER_URL Direct autonomic-manager URL (bypass the kube-apiserver proxy)
8NO_COLOR Disable ANSI colour (https://no-color.org)