Skip to main content

Global flags

Available on any command:

Output modes for agents

Auto-JSON on redirect: if stdout is not a terminal (e.g. jelou whoami | jq), the CLI switches to JSON automatically. Force it to human-readable with --human or JELOU_FORCE_HUMAN_OUTPUT=1. Response shape:
Error codes: AUTH_ERROR, FORBIDDEN, NOT_FOUND, VALIDATION_ERROR, API_ERROR, MISSING_FUNCTIONS_PROJECT, MISSING_WORKFLOW_PROJECT, MISSING_AUTH, INPUT_ERROR, UNKNOWN_ERROR, NETWORK_ERROR, TRANSIENT_ERROR, MISSING_LOCKFILE. The error object can also include a retryable boolean field indicating whether it’s worth retrying the command as-is, with nothing changed:
The --json responses of action commands include a breadcrumbs array with the suggested next commands. Streaming logs emit NDJSON (one JSON object per line).
Mode flags are output-only, never security. Collision preservation, the push rejection on unresolved incoming, schema validation, and dirty-state checks always run, with or without --agent. Destructive operations require --yes in JSON/agent mode — and that flag is for CI, not a shortcut to skip confirmations.

Introspection with --describe

--describe walks the command tree and emits its signature as JSON, without executing anything. It’s read-only — use it to plan.
It returns { command, description, arguments, options, examples, subcommands }. Global flags are filtered out so you only see the command-specific surface.

Exit codes

The CLI uses granular exit codes so an agent can branch without parsing stderr: Codes 7-9 are specific to jelou pull/push/incoming (8 is reserved and not yet emitted on production paths). Code 10 shows up when the local toolchain has fallen behind the schema the CLI expects. In --json mode, the same code appears in error.code with a hint field that suggests the next command.

Environment variables

Maintenance commands

To update the CLI:
To query company analytics (the catalog, one metric, or a whole dashboard), use jelou metrics — it has its own page in Metrics.