-
Notifications
You must be signed in to change notification settings - Fork 0
Command Reference
Complete list of every command supported by the Harness CLI, grouped by module.
The grammar is harness <verb> <noun> [identifier] [flags]. A small set of management commands (auth, install, version, debug) sit outside the verb/noun grammar because they operate on the tool itself.
| Module | Commands | Notes |
|---|---|---|
core |
15 | Auth, install, version, discovery (list/get module, list/get noun) |
platform |
31 | Orgs, projects, users, roles, connectors, secrets, settings, delegates |
pipeline |
25 | Pipelines, executions, triggers, input sets, templates, freezes |
iacm |
3 | IaCM workspaces |
har |
40 | Artifact Registry — push/pull, registries, metadata, scans, migrate |
Use harness list noun --matrix for the live noun × verb matrix. Use harness <verb> <noun> --help for full flag details on any command.
Source: pkg/spec/core.spec.yaml.
| Command | One-line description |
|---|---|
harness auth login |
Save credentials (PAT) to a profile via interactive flow. |
harness auth setscope |
Set the default org and/or project on a profile. |
harness auth logout |
Remove a profile and its stored credentials. |
harness auth profiles |
List all configured authentication profiles. |
harness auth status |
Show the current auth profile and validate credentials. |
harness auth env |
Print env vars for the current auth context (use with --export for sourcing). |
harness auth token |
Print the active API token to stdout. |
| Command | One-line description |
|---|---|
harness version |
Print the Harness CLI version. |
harness install cli |
Install or upgrade the harness binary itself. |
harness install module <name> |
Install or upgrade a CLI module binary (e.g. har). |
| Command | One-line description |
|---|---|
harness list module |
List all loaded CLI modules (builtin + plugin). |
harness get module <name> |
Show the domain model and nouns for a module (--matrix for noun/verb support). |
harness list noun |
List all registered nouns with their module and supported verbs (--matrix). |
harness get noun <noun> |
Show fields and supported commands for a specific noun. |
| Command | One-line description |
|---|---|
harness debug miscfg |
Trigger a misconfigured command (dev-only — registry self-test). |
Source: pkg/spec/platform.spec.yaml.
| Command | One-line description |
|---|---|
harness get account |
Get the current account details. |
harness list organization |
List organizations in the account. |
harness get organization <id> |
Get an organization by identifier. |
harness create organization |
Create a new organization. |
harness update organization |
Update an organization (get-then-put via --set/--del). |
harness delete organization |
Delete an organization by identifier. |
harness list project |
List projects in an organization. |
harness get project <id> |
Get a project by identifier. |
harness create project |
Create a new project. |
harness update project |
Update a project (get-then-put via --set/--del). |
harness delete project |
Delete a project by identifier. |
| Command | One-line description |
|---|---|
harness list user |
List users in the account. |
harness get user <id> |
Get a user by identifier. |
harness list user_group |
List user groups in the account. |
harness get user_group <id> |
Get a user group by identifier. |
harness list service_account |
List service accounts in the account. |
harness get service_account <id> |
Get a service account by identifier. |
| Command | One-line description |
|---|---|
harness list role |
List roles in the account. |
harness get role <id> |
Get a role by identifier. |
harness list role_assignment |
List role assignments in scope. |
harness get role_assignment <id> |
Get a role assignment by identifier. |
harness list resource_group |
List resource groups in scope. |
harness get resource_group <id> |
Get a resource group by identifier. |
harness list permission |
List all available permissions. |
harness get permission <id> |
Get a permission by identifier. |
| Command | One-line description |
|---|---|
harness list setting |
List platform settings. |
harness get setting <id> |
Get a setting value by identifier. |
| Command | One-line description |
|---|---|
harness list connector |
List connectors. |
harness get connector <id> |
Get a connector by identifier. |
harness list secret |
List secrets (metadata only — values never returned). |
harness get secret <id> |
Get a secret by identifier (metadata only — value never returned). |
| Command | One-line description |
|---|---|
harness list delegate |
List delegates in the account. |
harness get delegate <id> |
Get a delegate by identifier. |
Source: pkg/spec/pipeline.spec.yaml.
| Command | One-line description |
|---|---|
harness list pipeline |
List pipelines in a project. |
harness get pipeline <id> |
Get a pipeline's YAML definition (--format json to convert; --raw for full envelope). |
harness create pipeline |
Create a pipeline — inline from YAML (-f file.yaml) or Git-backed (--connector/--repo/--file-path). |
harness update pipeline |
Update a pipeline's YAML definition (-f file.yaml or -f - for stdin). |
harness delete pipeline <id> |
Delete a pipeline by identifier. |
harness execute pipeline <id> |
Trigger a pipeline execution. |
harness execute pipeline:input_set <id> |
Execute a pipeline using the inputSetList endpoint (merges input sets server-side). |
harness list pipeline_v1 |
List v1-schema pipelines in a project (legacy API compatibility). |
harness get pipeline_v1 <id> |
Get a v1-schema pipeline by identifier. |
harness get pipeline:summary <id> |
Get a lightweight pipeline summary (without full YAML). |
harness get runtime_input_template <id> |
Get the runtime input template for a pipeline (shows all <+input> placeholders). |
| Command | One-line description |
|---|---|
harness list execution |
List pipeline executions in a project (optionally scope to a pipeline ID). |
harness get execution <id> |
Get a pipeline execution by ID. |
harness list execution_step |
List expanded execution steps (including loop/matrix iterations) for a pipeline execution. |
harness list execution_log |
List all log keys for a pipeline execution. |
harness get execution_log <key> |
Fetch logs for a log key; use <pipeline/execId> or append / to fetch all logs by prefix. |
| Command | One-line description |
|---|---|
harness list trigger |
List triggers for a pipeline. |
harness get trigger <id> |
Get a trigger by identifier. |
harness list input_set |
List input sets for a pipeline. |
harness get input_set <id> |
Get an input set by identifier. |
harness list template |
List templates in a project. |
harness get template <id> |
Get a template by identifier. |
| Command | One-line description |
|---|---|
harness list approval_instance |
List approval instances for a pipeline execution. |
harness list freeze_window |
List deployment freeze windows. |
harness get freeze_window <id> |
Get a deployment freeze window by identifier. |
harness get global_freeze |
Get the global deployment freeze status. |
Source: pkg/spec/iacm.spec.yaml.
| Command | One-line description |
|---|---|
harness list workspace |
List IACM workspaces in a project. |
harness get workspace <id> |
Get an IACM workspace by identifier. |
harness execute workspace <id> |
Execute a remote Terraform plan on a workspace. |
Source: pkg/spec/har.spec.yaml. Ships as the separate harness-har binary; dispatched transparently from harness.
| Command | One-line description |
|---|---|
harness list registry |
List artifact registries in a project. |
harness get registry <id> |
Get an artifact registry by identifier. |
harness create registry |
Create a new artifact registry. |
harness delete registry <id> |
Delete an artifact registry by identifier. |
harness configure registry <id> |
Configure a local package-manager client (e.g. .npmrc/pip.conf) to use a Harness registry. |
| Command | One-line description |
|---|---|
harness get registry_metadata <id> |
Get metadata for an artifact registry. |
harness update registry_metadata |
Update metadata on an artifact registry (--set key=value, --del key). |
| Command | One-line description |
|---|---|
harness push artifact:maven |
Push a Maven artifact (.jar/.war) to a Harness registry. |
harness push artifact:npm |
Push an npm package (.tgz) to a Harness registry. |
harness push artifact:python |
Push a Python package (.whl) to a Harness registry. |
harness push artifact:nuget |
Push a NuGet package (.nupkg) to a Harness registry. |
harness push artifact:rpm |
Push an RPM package to a Harness registry. |
harness push artifact:cargo |
Push a Cargo crate (.crate) to a Harness registry. |
harness push artifact:go |
Push a Go module to a Harness registry. |
harness push artifact:conda |
Push a Conda package to a Harness registry. |
harness push artifact:dart |
Push a Dart package to a Harness registry. |
harness push artifact:composer |
Push a Composer package (.zip) to a Harness registry. |
harness push artifact:swift |
Push a Swift package to a Harness registry. |
harness push artifact:puppet |
Push a Puppet module (.tar.gz) to a Harness registry. |
harness push artifact:helm |
Push a Helm chart to a Harness registry. |
harness push artifact:docker |
Push a Docker image to a Harness registry. |
| Command | One-line description |
|---|---|
harness pull artifact <registry> |
Pull a generic artifact from a Harness registry. |
harness list artifact <registry> |
List artifacts in a registry. |
harness get artifact <id> |
Get artifact metadata by registry and name. |
harness delete artifact <id> |
Delete an artifact and all its versions. |
| Command | One-line description |
|---|---|
harness list artifact_version |
List versions of an artifact. |
harness get artifact_version <id> |
Get artifact-version metadata. |
harness delete artifact_version <id> |
Delete a specific artifact version. |
harness list artifact_file |
List files in a specific artifact version. |
harness execute artifact_version:copy <id> |
Copy a specific artifact version to another registry. |
harness execute artifact_version:firewall_scan <id> |
Evaluate firewall policy for a specific artifact version. |
| Command | One-line description |
|---|---|
harness get artifact_metadata <id> |
Get metadata for an artifact. |
harness update artifact_metadata |
Update metadata on an artifact (--set key=value, --del key). |
harness get artifact_version_metadata <id> |
Get metadata for an artifact version. |
harness update artifact_version_metadata |
Update metadata on an artifact version (--set key=value, --del key). |
| Command | One-line description |
|---|---|
harness execute registry:firewall_scan |
Audit lock-file dependencies against firewall policies for a registry. |
harness execute registry:migrate |
Migrate artifacts from a source registry into Harness using a config file (-f). |
Many commands support a --ui flag that launches an interactive terminal UI (Bubble Tea TUI). It requires a TTY on both stdin and stdout — running under a pipe, in CI, or with output redirected will error with --ui requires an interactive terminal (TTY).
Two flavors:
-
Paged list browser — auto-enabled on every
listcommand whose API supports paging. Lets you scroll, search, and drill into rows. Wired inpkg/registry/registry.goat thelist+paging branch. -
Resource picker / detail view — opt-in on selected
getcommands viaui: truein the spec. Used to interactively pick or inspect a single resource.
| Module | Commands |
|---|---|
core |
auth profiles, list module, list noun
|
platform |
list organization, list project, list user, list user_group, list service_account, list role, list role_assignment, list resource_group, list permission, list setting, list connector, list secret, list delegate
|
pipeline |
list pipeline, list pipeline_v1, list execution, list execution_step, list execution_log, list trigger, list input_set, list template, list approval_instance, list freeze_window
|
iacm |
list workspace |
har |
list registry, list artifact, list artifact_version, list artifact_file
|
| Command | What --ui does |
|---|---|
harness get project --ui |
Interactive project picker (org-aware). |
harness get workspace --ui |
Interactive IaCM workspace picker. |
harness get artifact_version --ui |
Interactive artifact + version picker. |
harness get execution_log --ui |
Live log viewer for a pipeline execution — tails steps, supports navigation. Use <[pipeline/]execId> form (not a full log key) and don't pair with --stage or --step. |
-
--uiis mutually exclusive with--format,--out, and stream redirection — pick one. - For
listcommands with--ui, paging flags (--limit,--offset,--all,--count) are ignored; the TUI handles paging itself. - If a noun is added to a spec with a paged list endpoint,
--uiis wired automatically — no extra spec changes needed.
-
<id>placeholder — the resource identifier (e.g. pipeline ID, project ID). -
Get-then-put updates —
updateverbs accept--set key=valueand--del key(instead of a full body) for fields the API doesn't natively support PATCH on. -
YAML I/O —
-f file.yamlreads the body from a file;-f -reads from stdin; without-f,getprints YAML by default. -
Output format — every command supports
--format json|jsonl|table|text|csv|tsv|markdown; defaults aretableforlistandtextfor everything else. -
Paging — list commands support
--limit,--offset,--all, and--countwhere the underlying API supports it. -
Scope —
--account,--org,--projectoverride profile scope per-invocation; some nouns also accept--levelto switch between account/org/project scope.
For the always-current source of truth, run:
harness list noun --matrix # all nouns × verbs
harness get noun pipeline # fields and supported verbs for one noun
harness <verb> <noun> --help # full flag list for any command