Skip to content

CLI reference

Most commands act on the active project, and most require you to be logged in — the exceptions are login, logout, version, setup, serve and uninstall.

Global

CommandWhat it does
qaclan --helpList the command groups. Works on any subcommand too.
qaclan --versionPrint the version.
qaclan versionThe same, as its own command.

Auth

CommandWhat it does
qaclan loginPrompt for your auth key and validate it against the server.
qaclan login --key <auth_key>Non-interactive login, for scripts and unattended hosts.
qaclan login --key <auth_key> --server <url>Point the agent at a different server.
qaclan logoutRemove the stored key. Local data is untouched.

Setup and runtime

CommandWhat it does
qaclan setupFull bootstrap: move the binary, add it to PATH, install the runtime and Chromium.
qaclan setup --runtime-onlyRuntime dependencies only.
qaclan setup --path-onlyBinary move and PATH only.
qaclan setup --no-pathSkip the PATH step.
qaclan setup --no-moveLeave the binary in place; add its directory to PATH.
qaclan setup --no-chromiumSkip the Chromium download.
qaclan setup --forceRe-run every step even if it looks done.
qaclan reset-runtimeDelete the runtime directory only, keeping the database, scripts and config.

--path-only and --runtime-only are mutually exclusive. Full detail on Install and setup.

Uninstall

CommandWhat it does
qaclan uninstallRemove PATH entries, the binary and the whole ~/.qaclan/ directory, after confirming.
qaclan uninstall --yesSkip the confirmation.

Irreversible

This deletes local projects, scripts, run history and environments. Work that was synced can be restored on a new machine with qaclan pull.

Project

CommandWhat it does
qaclan project create <name>Create a project and make it active.
qaclan project listAll projects, with ID and creation date.
qaclan project use <project_id>Switch the active project.
qaclan project showShow the active project.
qaclan project delete <project_id>Delete a project and everything in it, including script files on disk.

Environment

CommandWhat it does
qaclan env create <name>Create an environment in the active project.
qaclan env set <env> <key> <value>Set or update a variable. Add --secret to mask it in list output.
qaclan env list [env]All environments, or just one.
qaclan env delete <env>Delete an environment and its variables.

Status

CommandWhat it does
qaclan statusEvery web and API feature in the active project with script counts, plus a summary.

Web testing

CommandWhat it does
qaclan web feature create <name>Create a web feature.
qaclan web feature listFeatures with script counts.
qaclan web feature delete <feature_id>Delete a feature and its scripts.
qaclan web record --feature <id> --name <name> [--url <start_url>] [--language <lang>]Record with Playwright codegen. Languages: python, javascript, javascript-test, typescript. Needs a display.
qaclan web script list [--feature <id>]List scripts.
qaclan web script show <script_id>Print a script's contents.
qaclan web script import <file> --name <name> --feature <id> [--language <lang>]Import an existing Playwright script.
qaclan web script delete <script_id>Delete a script and its file.
qaclan web suite create <name>Create an empty suite.
qaclan web suite add --suite <id> --script <id>Append a script.
qaclan web suite remove --suite <id> --script <id>Remove a script.
qaclan web suite reorder --suite <id> --scripts <id1,id2,...>Set the exact run order.
qaclan web suite show --suite <id>Scripts in order, with run status.
qaclan web suite listAll suites with counts and last-run status.
qaclan web suite delete <suite_id>Delete the suite, keeping its scripts.
qaclan web run --suite <id> [--env <name>] [--browser <engine>] [--resolution WxH] [--headless] [--stop-on-fail]Run every script in the suite, in order, in one shared browser context.

API testing

CommandWhat it does
qaclan api list [--collection <name>]Collections, or the requests in one.
qaclan api run <name_or_id> [--collection <name>] [--env <name>]Run a single request, or a whole collection when --collection is given. The positional argument is required either way.
qaclan api import <file_or_url> [--format auto|har|openapi|postman|bruno] [--collection <name>]Import requests. Format is auto-detected by default.
qaclan api export <collection> [--output <dir>]Export a collection as Bruno .bru files.
qaclan api record [--url <start_url>]Open a browser, capture the calls your app makes, then choose which to save. Needs a display.

Postman and OpenAPI export live in the UI

The CLI export writes Bruno files. Exporting a collection as Postman JSON, or the generated reference as OpenAPI YAML, is done from the local web UI.

Runs

CommandWhat it does
qaclan runs [--suite <suite_id>]Run history, optionally filtered.
qaclan run show <run_id> [--verbose]Per-script results and classified errors. --verbose adds the raw traceback.
qaclan runs report <run_id> [--output <file>]Write a self-contained offline HTML report.

Sync

CommandWhat it does
qaclan pullDownload the workspace and merge it into the local database.
qaclan push [--all]Force a full resync of the active project, or of all.

Local web UI

CommandWhat it does
qaclan serveStart the local UI at localhost:7823 and open a browser.
qaclan serve --port <port>Use a different port.
qaclan serve --host 0.0.0.0Bind all interfaces, for example inside a container.
qaclan serve --no-browserDo not open a browser tab.
qaclan serve --port 7823 --no-browser

If you are logged in, serving also starts the background sync worker.