Skip to main content
The engini CLI is machine-first: human-readable output on a TTY, JSON when piped or with --json, stable exit codes, and agent-resumable flows. Two distributions, identical behavior:

Commands at a glance

Quickstart

Universal flags

Every command accepts:

Authentication & configuration

Two ways to authenticate:
  • engini login --api-key eng_… - stores the credential in a 0600 TOML config file (~/.config/engini/config.toml; %APPDATA%\engini\config.toml on Windows), alongside api_url (default https://api.engini.io).
  • Environment variables - ENGINI_API_KEY (preferred) or ENGINI_API_TOKEN; no login needed. Useful for CI and agents.
Verify with engini whoami (exit code 3 means the credential is missing/invalid). Point at another environment with engini login --api-url <url>. What the two credential types mean: Authentication.

Errors & big results

  • Failures print a structured JSON error (with a hint where applicable) and exit with a stable code - 2 usage, 3 auth, 4 not found, 5 needs-input, 124 timeout. Full table: machine contract.
  • API rate limiting surfaces as an error - honor Retry-After per the rate-limit rules.
  • List commands return complete results (pagination is handled for you). Large tool outputs become a result handle - drill in with engini tools result <handle> instead of re-fetching.
Full per-command reference: CLI commands.