Whether you want to run a pipeline, add an artifact to the registry, or run worker agents, use the same grammar.
Closed grammar + stable JSON contracts give agents a deterministic action surface they can introspect and rely on.
One grammar across 10+ harness products. The flags you learn for pipelines work exactly the same for connectors, secrets, and policies.
--format json on every command. Pipe into jq, feed into notebooks, or wire directly into CI scripts without glue code.
Predictable by design. New modules add nouns, never new verbs. Learn it once, use it everywhere.
Self-documenting. list noun --matrix exposes the full verb × noun grid. No docs required.
Consistent scoping. --level account | org | project works the same on every noun.
Runtime extensible. The CLI reads each module's spec at runtime: no per-module code paths.
Structured, predictable, and ready for LLM tool calling. Consumes less tokens, reduce context window and saves cost.
6 core verbs (list, get, create, update, delete, execute) cover every Harness resource. Learn once, reach everywhere.
Platform, Pipeline, CD, HAR, IACM, Code, Governance, Audit, GitOps: one update path.
list noun --matrix prints the full verb × noun grid. get noun <noun> returns fields, flags, and examples.
--format json on every command. Field names don't move between releases. Pipe straight into jq, LLMs, or notebooks.
Shell completions for bash, zsh, and fish that hit the live Harness API and surface real pipeline and service names.
harness install cli upgrades the binary in place: no package manager required. Single version train across all modules.
Resolves credentials from flag → env var → CI runner env → config file, so the same binary works in dev and CI with zero changes.
Agents read the grammar the same way humans do: discover the matrix, pick a verb, run the command. Every output is structured. Every flag means the same thing everywhere.
list noun --matrix returns the full capability grid as structured data for agent context
Closed grammar means no ambiguous command surfaces, so agents don't hallucinate flags
Predictable exit codes and JSON contracts make tool-call parsing reliable across LLMs
Get Started
macOS (arm64 & amd64) and Linux (amd64 & arm64), one installer.
Homebrew support is Coming Soon