CLI command reference
Every command and option in elva-cli 1.2.0. Run elva <command> --help for details, or elva --json schema for a machine-readable schema of commands, options, and exit codes.
Global options
Global options go before the subcommand, for example elva --workspace "Acme" --json collection list.
-w, --workspaceWorkspace to act on (ELVA_WORKSPACE).-c, --collectionCollection to act on (ELVA_COLLECTION).--profileNamed set of defaults from your config (ELVA_PROFILE).--jsonMachine-readable output.-q, --quietSuppress hints and warnings; data and errors still print.-y, --yesAnswer every confirmation with yes. Required in CI.--color / --no-colorForce or disable colour. NO_COLOR is honoured.-V, --versionShow the installed version.--install-completioninstalls shell completion.
Commands
| Sign in through the browser, or with an emailed code. |
| Sign up with only an email (alias: auth register). Also signs in existing users. |
| Verify the emailed code, resume an interrupted signup, or sign out. |
| Show the signed-in identity and workspace. |
| List workspaces or switch to one by name or ID. |
| Inspect and change settings in the project elva.json, or in the user config with --global. |
| List collections or show details of one. |
| Filters are repeatable; --path matches a path prefix. |
| Pass - as FILE to read from stdin. |
| The Postman key comes from ELVA_POSTMAN_API_KEY, a hidden prompt, or stdin, never from the command line. --list shows the collections the key can see. |
| List connected repositories. |
| AI scanning is off for new connections and preserved on reconnect. --wait-timeout defaults to 900 seconds. |
| Sync a repo or check the status of a sync job. |
| List, inspect, or publish an MCP server. |
| --operations takes "METHOD /path" and is repeatable, or - for stdin. --auth-type is none (default), bearer, or api_key. --api-key-in is header or query. --timeout is 1000 to 300000 ms. |
| Send the full request body as JSON. Required for oauth, openid_connect, basic, and jwt auth. The client secret reference is env:NAME, file:PATH, or - for stdin. |
| Recent tool calls, 20 per page by default (up to 1000). --follow (-f) streams new entries. |
| Plan a contract and MCP from repository APIs. Does not publish. |
| List contracts or show details of one. |
| --audience is partner, internal, public, or ai_agent. --from takes a contract JSON file, or - for stdin. |
| Save changes without publishing. Accepts the same input options as create. Add --mode compose to change endpoint selection. |
| Apply a reviewed sync file without publishing. |
| For assigned approvers. Notes are up to 500 characters. |
| Publish a contract. |
| Removes the contract together with its generated artifacts and deployment. |
| Design, DeveloperExperience, AIReadiness, or Security. No login required. |
| Pass - to read from stdin. No login required; the CLI review limit is 2 MiB. |
| The threshold is 0 to 100; a lower or unscorable result exits with code 4. |
| Target is codex, claude, or all. |
| Manage agent schemas, validate, or create an agent from a definition file. |
| Wait for a planning job and save its plan without applying it. |
| Apply or resume a reviewed plan. Never publishes. |
| Versioned description of every command, option, and exit code. |
| Build from local source. Audience is partner, public, or internal. |
| Resume a local-source planning job without uploading again. |
Configuration
Settings resolve in this order: command-line flag, environment variable, project elva.json, selected profile, user configuration, built-in default.
- Environment variables. ELVA_TOKEN, ELVA_WORKSPACE, ELVA_COLLECTION, ELVA_PROFILE, ELVA_TIMEOUT, ELVA_POSTMAN_API_KEY.
- elva.json keys. workspace, collection, profile, and timeout (seconds, default 30). The CLI looks for elva.json from the current directory up to the repository root.
- Credentials. elva auth login stores credentials in the OS keyring, with a fallback file readable only by you. Never put tokens in elva.json.
Exit codes
- 0 Success.
- 1 Unexpected local error.
- 2 Invalid usage or a command conflict.
- 3 Authentication is missing or invalid.
- 4 Validation failure or failed quality gate.
- 5 API, transport, or incomplete-job failure, including plan limits.
- 130 Interrupted.
On this page
- CLI command reference