Skip to content

Command line

HarborClient ships as a single product binary. With no arguments it opens the desktop app; with an HTTP method, run, or workflow it acts as a command-line client that shares the same HTTP stack and local data as the GUI. Download and install HarborClient for your platform, then invoke harborclient from a terminal.

bash
harborclient --help
harborclient -V

Ad-hoc requests

Send a one-off HTTP request without opening the GUI:

bash
harborclient <METHOD> <url> [options]

Supported methods: GET, POST, PUT, PATCH, DELETE, HEAD, and OPTIONS (case-insensitive).

bash
harborclient GET https://echo.harborclient.com
harborclient POST https://echo.harborclient.com --json '{"ok":true}'
harborclient GET https://echo.harborclient.com -H 'X-Token: secret' -v

The response body is written to stdout. With -v / --verbose, status and response headers go to stderr so you can pipe the body separately.

Ad-hoc options

OptionDescription
-H, --header <Name: value>Add a request header. Repeat for multiple headers. The value is split on the first :.
-d, --data <body>Set the request body as a raw string.
--json <body>Set a JSON body. Adds Content-Type: application/json when that header is not already set.
--timeout <ms>Request timeout in milliseconds.
--no-verify-sslDisable TLS certificate verification.
-v, --verbosePrint HTTP status and response headers to stderr; body still goes to stdout.
-h, --helpShow help. Prefer harborclient --help on the product binary.

Run a collection

Run every request in a saved collection by name or uuid. The CLI reads collections from the same Electron userData directory as the desktop app (for example ~/.config/HarborClient on Linux, ~/Library/Application Support/HarborClient on macOS, and %APPDATA%\HarborClient on Windows).

bash
harborclient run <name-or-uuid> [options]
bash
harborclient run "My Collection"
harborclient run <collection-uuid> --stop-on-failure
harborclient run "My Collection" --user-data /path/to/HarborClient
OptionDescription
--user-data <path>Override the Electron userData directory used to find saved collections.
--stop-on-failureStop after the first failed request or test.

Run a workflow

Run a saved workflow by name or uuid. Workflows are loaded from the same Electron userData directory as collections (for example ~/.config/HarborClient on Linux, ~/Library/Application Support/HarborClient on macOS, and %APPDATA%\HarborClient on Windows). Create and edit workflows in the GUI first — see Workflows.

Playback is headless: the CLI executes request.load, request.draft, request.send, and environment.activate actions. Pure UI actions (tabs, pages, workspaces) and persistence side effects (request.save, request.create, request.cancel) are skipped. For action coverage and hello-world recipes, see Workflows — Run from the CLI.

bash
harborclient workflow run <name-or-uuid> [options]
bash
harborclient workflow run "My Workflow"
harborclient workflow run <workflow-uuid> --stop-on-failure
harborclient workflow run "My Workflow" --export ./results
harborclient workflow run "My Workflow" --user-data /path/to/HarborClient
OptionDescription
--user-data <path>Override the Electron userData directory used to find saved workflows.
--stop-on-failureStop after the first failed request.send (HTTP status 400 or higher, transport error, or failed test).
--export <dir>Write a workflow-run JSON export to this directory (workflow-yyyy-mm-dd-hh-mm-ss.json).

Exit codes

CodeMeaning
0Success (ad-hoc requests also require an HTTP status below 400).
1Transport error, missing or invalid arguments, unknown option, failed collection or workflow run, missing workflow/collection, or (for ad-hoc) HTTP status ≥ 400.

GUI vs CLI

The same binary serves both modes. Empty argv or GUI-only flags open the desktop app; an HTTP method, run, or workflow as the first argument routes to the CLI.

  • harborclient --verbose / harborclient -v (with no method) opens the GUI with main-process verbose logging. See Getting started — Verbose logging.
  • harborclient GET https://echo.harborclient.com -v is CLI verbose: status and response headers on stderr.

Desktop startup flags such as --seed, --theme, and --disable-plugins are documented under Getting started. They are not CLI request options.

What's next

  • Download — install HarborClient for your operating system.
  • Getting started — launch the desktop app and use startup flags.
  • Making requests — build, send, and inspect HTTP requests in the GUI.
  • Collections — organize saved requests and run them from the sidebar or CLI.
  • Workflows — record multi-step sessions and run them from the GUI or CLI.