Global flags and output formats
Learn how to use global flags to control scope, output format, pagination, and behavior across all Harness CLI commands.
The Harness CLI provides a set of flags that work consistently across commands. Use these flags to control scope, output formatting, pagination, and command behavior. This page serves as a reference for the shared flags available throughout the CLI.
What you will learn in this topic
By the end of this page, you will know how to:
Control the account, organization, and project scope of commands.
Switch between supported output formats.
Customize which fields appear in command output.
Paginate through large result sets or retrieve all results.
Configure the CLI using environment variables.
Interpret CLI exit codes in scripts and CI pipelines.
Before you begin
Harness CLI installed and authenticated: For setup steps, see Install and upgrade and Authenticate.
Scope flags
Use scope flags to control which account, organization, and project a command operates against. The CLI resolves scope in the following order: command-line flags, profile defaults, and then environment variables.
--profile <name>
Use a specific authentication profile.
--org <id>
Override the organization defined in the active profile.
--project <id>
Override the project defined in the active profile.
--level account|org|project
Specify the scope for resources that support multiple levels.
Output formats for list commands
By default, list commands display results in a table. You can use the --format flag to produce machine-readable output or export data for external tools.
table
Interactive terminal use
Default format for list commands
json
Integration with tools that consume JSON
Returns a formatted JSON array
jsonl
Streaming and line-based processing
Outputs one JSON object per line
csv
Spreadsheet and reporting tools
Includes a header row
tsv
Tab-delimited processing
Includes a header row
markdown
Documentation, pull requests, and wikis
Renders output as a Markdown table
Customize columns
You can use --columns flag to control which columns appear in list output.
Run the --list-columns command to view the available columns for a resource.
Output formats for get, create, and update commands
Commands that operate on a single resource default to human-readable text output. Use the following flags to change the format or save output to a file.
--format text|json|yaml
Output format. Default is text.
--json
Shorthand for --format json.
--yaml
Shorthand for --format yaml.
--fields <names>
Print only the specified comma-separated field names, tab-separated on output. Run --list-fields to discover available field names.
--list-fields
Display available field identifiers and exit.
--raw
Return the complete API response envelope (JSON output only).
-o, --out <path>
Write output to a file instead of standard output.
Pagination flags
List commands return paginated results by default. Use these flags to control how many records are returned.
These options are mutually exclusive. Use either --all, --limit and --offset, or --count.
--all
Retrieve all available results.
--limit <N>
Return up to N results.
--offset <N>
Skip the first 'N' results.
--count
Return the total number of results without retrieving records.
Behavior flags
These flags modify how a command runs and are available on every command.
--debug
Enable debug logging
--timeout <seconds>
Abort after N seconds; accepts decimals (1.5); 0 = no timeout; exits 124 on timeout
--ui
Launch an interactive TUI - browse lists, pick resources, or open the live execution log viewer (requires a TTY)
-h, --help
Help for the current command
Exit codes
0
Success
1
Generic failure — validation error, API error, or resource not found
2
Usage error — invalid flags or unknown command
124
Timed out — --timeout duration exceeded
130
Interrupted by the user (Ctrl+C)
Use exit codes in scripts to gate downstream work:
Environment variables
Environment variables override saved profile settings and are the preferred authentication method in CI pipelines, Docker containers, and scripted environments.
HARNESS_API_KEY
API token. Takes precedence over saved profile credentials.
HARNESS_ACCOUNT
Account ID. Used together with HARNESS_API_KEY for environment variable auth.
HARNESS_PROFILE
Name of the saved profile to use. Same effect as --profile <name>.
HARNESS_ORG
Default org for commands that need one. Overridden by --org.
HARNESS_PROJECT
Default project for commands that need one. Overridden by --project.
HARNESS_API_URL
Override the API URL. Typically only needed for self-hosted Harness deployments.
HARNESS_DEBUG
Set to 1 to enable debug logging without passing --debug.
HARNESS_NO_COLOR
Set to 1 to disable ANSI colors. NO_COLOR is also respected.
HARNESS_CLI_COLUMNS
Per-noun default --columns overrides. Semicolon-separated noun=cols pairs — for example pipeline=id,name,status;execution=id,status,started.
HARNESS_CLI_HOME
Override the location of ~/.harness/.
Related articles
Platform: Review detailed examples of platform resource operations.
Troubleshooting: Resolve common CLI errors.
Last updated
Was this helpful?