Skip to content

Command Reference

Mohit Suman edited this page Jun 8, 2026 · 1 revision

Harness CLI — 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.


Contents


Core (management & discovery)

Source: pkg/spec/core.spec.yaml.

Auth

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.

Version & install

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).

Discovery

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.

Debug

Command One-line description
harness debug miscfg Trigger a misconfigured command (dev-only — registry self-test).

Platform

Source: pkg/spec/platform.spec.yaml.

Account, Organizations & Projects

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.

Users, Groups & Service Accounts

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.

Roles, Permissions & Resource Groups

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.

Settings

Command One-line description
harness list setting List platform settings.
harness get setting <id> Get a setting value by identifier.

Connectors & Secrets

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).

Delegates

Command One-line description
harness list delegate List delegates in the account.
harness get delegate <id> Get a delegate by identifier.

Pipelines / CI-CD

Source: pkg/spec/pipeline.spec.yaml.

Pipelines

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).

Executions

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.

Triggers, Input Sets & Templates

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.

Approvals & Freezes

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.

IaCM

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.

Artifact Registry (HAR)

Source: pkg/spec/har.spec.yaml. Ships as the separate harness-har binary; dispatched transparently from harness.

Registries

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.

Registry metadata

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).

Artifacts — push (per-format)

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.

Artifacts — pull / list / get / delete

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.

Artifact 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.

Artifact / version metadata

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).

Registry-level execute verbs

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).

Interactive TUI (--ui)

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 list command whose API supports paging. Lets you scroll, search, and drill into rows. Wired in pkg/registry/registry.go at the list+paging branch.
  • Resource picker / detail view — opt-in on selected get commands via ui: true in the spec. Used to interactively pick or inspect a single resource.

list commands with --ui

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

get commands with --ui

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.

Notes

  • --ui is mutually exclusive with --format, --out, and stream redirection — pick one.
  • For list commands 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, --ui is wired automatically — no extra spec changes needed.

Conventions used in this doc

  • <id> placeholder — the resource identifier (e.g. pipeline ID, project ID).
  • Get-then-put updates — update verbs accept --set key=value and --del key (instead of a full body) for fields the API doesn't natively support PATCH on.
  • YAML I/O-f file.yaml reads the body from a file; -f - reads from stdin; without -f, get prints YAML by default.
  • Output format — every command supports --format json|jsonl|table|text|csv|tsv|markdown; defaults are table for list and text for everything else.
  • Paging — list commands support --limit, --offset, --all, and --count where the underlying API supports it.
  • Scope--account, --org, --project override profile scope per-invocation; some nouns also accept --level to 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