This article provides a comprehensive overview of the commands available in the mabl CLI, including their usage, positional arguments, and options.
mabl agent authoring answer
Answer the pending question on a paused cloud authoring session and resume it
mabl agent authoring answer {session-id} [text]
Positionals:
session-id The agent session ID to answer. [string] [required]
text The answer text. Mutually exclusive with --file. One of text or --file is required. [string]
Options:
--version, -v Show version number [boolean]
--help, -h Show help [boolean]
--file Path to a file containing the answer text. Mutually exclusive with the text positional argument. [string]
--expected-loop-number The loopNumber from "mabl agent authoring status --session-id {id}" for this session. Passing it rejects the answer if the session advanced since you read it (e.g. a dropped response on an earlier retry already committed a re-clarification), instead of silently rebinding this answer to whatever question is current. Omit for a one-shot answer with no retry protection. [number]
mabl agent authoring initiate
Start test authoring from a planning session or direct test information
mabl agent authoring initiate
Options:
--version, -v Show version number [boolean]
--help, -h Show help [boolean]
--workspace-id, -w Workspace to author in [string]
--planning-session-id Planning session ID from "mabl agent authoring plan". Mutually exclusive with --test-information. [string]
--test-information JSON string with test information (name, test_case, deployment_id or url_override, etc.). Set test_id to edit an existing test instead of creating one (test_case carries the changes; name/URL not required). Mutually exclusive with --planning-session-id. [string]
--plan Markdown test plan/outline. Only valid with --test-information. [string]
--test-type Type of test to create. [choices: "browser", "api"] [default: "browser"]
--api-spec API specification (OpenAPI/Swagger). Required when --test-type is api. [string]
--mode Execution mode. Cloud is recommended (parallelizable). Local drives the agent loop in this CLI process against a browser on your machine. [choices: "cloud", "local"] [default: "cloud"]
--headless Run the local browser in headless mode (local mode only). [boolean] [default: false]
--verbose Verbose agent-loop logging (local mode only). [boolean] [default: false]
--auto-save Save the generated test on shutdown — on success, failure, or external terminate (local mode only). Matches the cloud agent default. Pass --no-auto-save to opt out. [boolean] [default: true]
--merge-source-branch Merge the latest version of the test on this source branch (e.g. "master") into the branch being edited. Requires --test-information with both test_id and branch_id (an edit session on the target branch); the agent reconciles the two versions, preserving step identity for shared steps. [string]
--mabl-branch Branch to save the authored test to. Written into test_information.branch_id; an explicit value must agree with any branch_id already in --test-information. [string]
--impact-session-id The test-impact analysis session (ends in -as) this authoring work answers. The new session is recorded on it. Requires --mabl-branch and --test-information. [string]
mabl agent authoring list
List cloud test-authoring sessions
mabl agent authoring list
Options:
--version, -v Show version number [boolean]
--help, -h Show help [boolean]
--status Filter by the session's latest instance status. Defaults to "needs_attention" (sessions waiting on user input). Pass "all" to list every status. [string] [choices: "queued", "running", "needs_attention", "completed", "failed", "terminated", "terminating", "rate_limited", "skipped", "merged", "accepted", "closed", "resuming", "none", "all"] [default: "needs_attention"]
--limit Maximum number of sessions to return per page. [number]
--workspace-id, -w Workspace to list sessions for [string]
--api-key mabl API key. [string]
mabl agent authoring plan
Start or continue a test planning conversation with the mabl AI planning agent
mabl agent authoring plan
Options:
--version, -v Show version number [boolean]
--help, -h Show help [boolean]
--workspace-id, -w Workspace to author in [string]
--intent Detailed description of what the test should do. Required for starting a new session. [string]
--session-id Planning session ID from a previous plan call. Required for follow-up changes. [string]
--changes Changes to request for an existing plan. Requires --session-id. [string]
--attach Path to a local file to attach as reference material (repeatable). The planning agent is told the file is available and reads it on demand, so a large document costs nothing until it is consulted. A file the authored test must upload at runtime is a workspace file upload instead, not an attachment. Supported: csv/html/json/log/md/txt/xml/yaml/yml up to 100KB, jpeg/jpg/png/webp up to 5MB, pdf up to 10MB (spreadsheets are not supported — export to CSV first). At most 20 attachments per session. [array]
mabl agent authoring status
Check the status of a test authoring session
mabl agent authoring status
Options:
--version, -v Show version number [boolean]
--help, -h Show help [boolean]
--session-id The agent session ID from "mabl agent authoring initiate". [string] [required]
--verbose Show full details including latest agent message and test URL. Without this flag, only the status enum is returned for minimal output. [boolean] [default: false]
mabl agent authoring terminate
Stop an in-progress test authoring session. For local sessions, transitions the session to `terminated`; a running local CLI process detects the change on its next loop iteration, saves the in-progress test, and exits. For cloud sessions, behaves like the UI Terminate button.
mabl agent authoring terminate
Options:
--version, -v Show version number [boolean]
--help, -h Show help [boolean]
--session-id The agent session ID to terminate. [string] [required]
--reason Termination reason. Only valid for cloud sessions; local sessions reject any non-default value. [choices: "execution_timeout", "stop_requested", "infra_shutdown", "dispatch_failed", "agent_stalled", "agent_error", "unknown"] [default: "stop_requested"]
mabl agent debug artifact
Get a forensic artifact (console, dom, network, screenshot) for a test run step
mabl agent debug artifact {type} {id}
Positionals:
type Artifact type to fetch [required] [choices: "console", "dom", "network", "screenshot"]
id Test run ID, e.g. abc123-jr [string] [required]
Options:
--version, -v Show version number [boolean]
--help, -h Show help [boolean]
--step-run-id Step run ID, from `mabl agent debug steps`. Required for cloud test runs. Mutually exclusive with --step [string]
--step Step position (1-based) from `mabl agent debug steps`. Use for externally-reported runs — an agent's validation replay or a reporter-driven run — which have no step run IDs to address. Mutually exclusive with --step-run-id [number]
--before Screenshot only — fetch the before-action snapshot rather than the post-action one. Not supported with --step [boolean] [default: false]
--print Stream the cached artifact contents to stdout (text artifacts only) [boolean] [default: false]
--head Stream the first N lines of the cached artifact to stdout. Note: console / network artifacts are typically a single JSON line, so --head N will return the whole blob; use --query for JSON, --bytes for a fixed-byte prefix. Mutually exclusive with --tail/--bytes/--print/--query/--text-only [number]
--tail Stream the last N lines of the cached artifact to stdout. Same caveat as --head: single-line JSON artifacts ignore line counts. Mutually exclusive with --head/--bytes/--print/--query/--text-only [number]
--bytes Stream the first N bytes of the cached artifact to stdout. Mutually exclusive with --head/--tail/--print/--query/--text-only [number]
--query Run a jq expression against the JSON artifact and stream the result to stdout. Only valid for console and network. Requires `jq` on PATH. [string]
--text-only DOM only — emit a one-line-per-element listing (role, name, id, data-testid) instead of the raw HTML [boolean] [default: false]
mabl agent debug command-list
Print every subcommand under this group as a structured tree, including positionals and flags. Run `<subcommand> --help` for the formatted yargs help text.
mabl agent debug command-list
Options:
--version, -v Show version number [boolean]
--help, -h Show help [boolean]
--output, -o Specify output format [choices: "json", "yaml"]
mabl agent debug session command-list
Print every subcommand under this group as a structured tree, including positionals and flags. Run `<subcommand> --help` for the formatted yargs help text.
mabl agent debug session command-list
Options:
--version, -v Show version number [boolean]
--help, -h Show help [boolean]
--output, -o Specify output format [choices: "json", "yaml"]
mabl agent debug session get-variables
Print current variable context as JSON. Sources from state.json when available (the canonical-tree store the rest of the debug surface speaks); falls back to session.json for legacy sessions. Resolved credential values are masked wherever they can be matched; the username is not.
mabl agent debug session get-variables {session-id}
Positionals:
session-id Debug session id (returned by `session start`). [string] [required]
Options:
--version, -v Show version number [boolean]
--help, -h Show help [boolean]
mabl agent debug session list-steps
List the steps in the debug session with their execution status. Output is YAML by default; pass --output json for the machine-readable form. EvaluateFlow / StepGroup children are expanded inline. Each entry carries a 1-based dot-notation `position` (e.g. "3.2") that `set-current-step` accepts.
mabl agent debug session list-steps {session-id}
Positionals:
session-id Debug session ID [string] [required]
Options:
--version, -v Show version number [boolean]
--help, -h Show help [boolean]
--filter Case-insensitive substring match against the step description. Use to grep for "Application", "login", etc. without piping through grep. [string]
--around Show only the window of steps around the given step. Accepts a step id OR a 1-based position ("3", "4.1"). Use --context N to widen (default 5 before / 5 after). [string]
--from Show steps starting at the given step. Accepts a step id OR a 1-based position ("3", "4.1"). Combine with --limit to bound the window. [string]
--limit Cap the number of steps in the output. Combine with --from for a forward window. [number]
--context Window size for --around. Default 5 steps before and 5 after the target. [number] [default: 5]
--output, -o Output format (json | yaml). [choices: "json", "yaml"] [default: "yaml"]
mabl agent debug session run-all
Run all remaining steps from current position to end, stopping on first failure
mabl agent debug session run-all {session-id}
Positionals:
session-id Debug session id (returned by `session start`). [string] [required]
Options:
--version, -v Show version number [boolean]
--help, -h Show help [boolean]
mabl agent debug session run-step
Execute a step in the debug session. Pass <step-ref> to run a specific step; omit it to run the step at the canonical-tree cursor (the same position list-steps shows as isCursor and set-current-step writes to). A <step-ref> can be the canonical step id, the 1-based flat position from list-steps (e.g. "14"), dot-notation through the step tree (e.g. "3.2"), or the synthetic "<flow-id>:<idx>" id list-steps falls back to when the underlying flow has no json_steps ids.
mabl agent debug session run-step {session-id} [step-id]
Positionals:
session-id Debug session id (returned by `session start`). [string] [required]
step-id Step reference: canonical step id, 1-based flat position (e.g. "14"), dot-notation (e.g. "3.2"), or synthetic "{flow-id}:{idx}". Omit to run the step at the cursor. [string]
Options:
--version, -v Show version number [boolean]
--help, -h Show help [boolean]
mabl agent debug session run-to-step
Run all steps from current position to the target step (inclusive), stopping on first failure. <step-ref> accepts the canonical step id, the 1-based flat position from list-steps (e.g. "14"), dot-notation (e.g. "3.2"), or the synthetic "<flow-id>:<idx>" fallback.
mabl agent debug session run-to-step {session-id} {step-id}
Positionals:
session-id Debug session id (returned by `session start`). [string] [required]
step-id Target step reference: canonical step id, 1-based flat position (e.g. "14"), dot-notation (e.g. "3.2"), or synthetic "{flow-id}:{idx}". [string] [required]
Options:
--version, -v Show version number [boolean]
--help, -h Show help [boolean]
mabl agent debug session set-current-step
Move the execution cursor to a step (no execution — agent owns browser state). Accepts a step id or 1-based dot-notation position (e.g. "3.2").
mabl agent debug session set-current-step {session-id} {step-id}
Positionals:
session-id Debug session id (returned by `session start`). [string] [required]
step-id Step id (UUID) OR 1-based dot-notation position (e.g. "3.2"). Nested addressing ("3.2") requires step 3 to be a step-group / reusable-flow wrapper; for a leaf, use the bare position ("3"). Run `list-steps` to discover both shapes. [string] [required]
Options:
--version, -v Show version number [boolean]
--help, -h Show help [boolean]
mabl agent debug session start
Start a debug session for a test
mabl agent debug session start [test-id]
Positionals:
test-id The ID of the test to debug, e.g. abc123-j. Optional when --run-id is given (the test id and most flags are then derived from the run). [string]
Options:
--version, -v Show version number [boolean]
--help, -h Show help [boolean]
--environment-id, -e Mabl environment ID to load environment variables from. Setting the environment does not override the default URL — use --url for that. [string]
--url, -u URL to run the test against [string]
--credentials-id, --creds Credentials ID to run the test with [string]
--basic-auth-credentials-id, --basic-creds Basic Authentication credentials ID for adding basic auth headers to the test run [string]
--browser Target browser for the test run. One of chrome, edge, firefox, webkit. Defaults to chrome. [string] [choices: "chrome", "edge", "firefox", "webkit"]
--width Browser viewport width in pixels [number] [default: 1080]
--height Browser viewport height in pixels [number] [default: 1440]
--locale Locale to emulate, e.g. en-US [string]
--timezone-id Timezone identifier to emulate, e.g. America/New_York [string]
--user-agent Emulate a custom User-Agent string (e.g. "Mozilla/5.0 …") [string]
--interaction-speed Speed at which mabl interacts with web pages. Overrides test run settings if specified. [string] [choices: "fast", "normal", "slow", "slower"]
--mabl-branch Mabl branch to load test and flows from [string]
--headless Run the browser in headless mode [boolean] [default: false]
--run-id A test run ID (e.g. abc123-jr) to derive flags from. Sets test-id, url, browser, credentials, environment, locale and timezone from the run; explicit flags override. [string]
--port Remote debugging port for Chrome. Defaults to 9222 so it lines up with the chrome-for-mabl MCP server entry. Pass 0 to let Chrome pick a free port. [number] [default: 9222]
--browser-ignore-certificate-errors Ignore TLS certificate errors (e.g. when targeting a local dev server with a self-signed certificate) [boolean] [default: false]
mabl agent debug session stop
Kill the debug Chrome process and delete the session directory
mabl agent debug session stop {session-id}
Positionals:
session-id Debug session id (returned by `session start`). [string] [required]
Options:
--version, -v Show version number [boolean]
--help, -h Show help [boolean]
mabl agent debug steps
Get the failed and recovered steps from a test run. Pass --all for the full trace.
mabl agent debug steps {id}
Positionals:
id Test run ID, e.g. abc123-jr [string] [required]
Options:
--version, -v Show version number [boolean]
--help, -h Show help [boolean]
--all Emit every executed step instead of the failed/recovered subset. The summary block is unchanged. [boolean] [default: false]
--output, -o Output format (json | yaml). [choices: "json", "yaml"] [default: "yaml"]
mabl agent-instructions create
Create a new agent instruction
mabl agent-instructions create
Options:
--version, -v Show version number [boolean]
--help, -h Show help [boolean]
--workspace-id, -w Workspace to create instruction in [string]
--name, -n Name for the instruction [string] [required]
--instruction-text The instruction text (max 2000 characters) [string] [required]
--capabilities Capabilities to scope to (authoring, results_analysis) [array]
--application-ids Application IDs to scope the instruction to [array]
--environment-ids Environment IDs to scope the instruction to [array]
--disabled Create the instruction in a disabled state [boolean] [default: false]
mabl agent-instructions delete
Delete an agent instruction
mabl agent-instructions delete {id}
Positionals:
id The instruction ID [string] [required]
Options:
--version, -v Show version number [boolean]
--help, -h Show help [boolean]
mabl agent-instructions describe
Describe an agent instruction
mabl agent-instructions describe {id}
Options:
--version, -v Show version number [boolean]
--help, -h Show help [boolean]
--output, -o Specify output format [choices: "json", "yaml"]
mabl agent-instructions list
List agent instructions
mabl agent-instructions list
Options:
--version, -v Show version number [boolean]
--help, -h Show help [boolean]
--workspace-id, -w Workspace to list agent instructions for [string]
--limit, -l The number of agent instructions to return [string] [default: 10]
--output, -o Specify result output format [choices: "json", "yaml"]
mabl agent-instructions update
Update an agent instruction
mabl agent-instructions update {id}
Positionals:
id The instruction ID [string] [required]
Options:
--version, -v Show version number [boolean]
--help, -h Show help [boolean]
--name Updated name [string]
--instruction-text Updated instruction text [string]
--capabilities Updated capabilities (authoring, results_analysis) [array]
--application-ids Updated application IDs [array]
--environment-ids Updated environment IDs [array]
--disabled Disable the instruction [boolean]
--enabled Enable the instruction [boolean]
mabl applications describe
Describe a specific application
mabl applications describe {id}
Options:
--version, -v Show version number [boolean]
--help, -h Show help [boolean]
--output, -o Specify output format [choices: "json", "yaml"]
mabl applications list
List your applications
mabl applications list
Options:
--version, -v Show version number [boolean]
--help, -h Show help [boolean]
--workspace-id, -w Workspace to list applications for [string]
--limit, -l The number of applications to return [string] [default: 10]
--output, -o Specify result output format [choices: "json", "yaml"]
mabl auth activate-key
Activate auth by api key
mabl auth activate-key {api-key}
Positionals:
api-key API key (escape leading dashes with "\" (e.g. "\-yourKey") [string] [required]
Options:
--version, -v Show version number [boolean]
--help, -h Show help [boolean]
mabl auth clear
Clear logged in user
mabl auth clear
Options:
--version, -v Show version number [boolean]
--help, -h Show help [boolean]
mabl auth info
Display logged in user
mabl auth info
Options:
--version, -v Show version number [boolean]
--help, -h Show help [boolean]
mabl auth login
Authenticate the mabl CLI
mabl auth login
Options:
--version, -v Show version number [boolean]
--help, -h Show help [boolean]
--auto Capture the authorization code automatically. Useful in environments where the terminal input is not visible (e.g. agents, IDEs). [boolean] [default: false]
mabl branches create
Create a new mabl branch
mabl branches create {name}
Positionals:
name Name of the mabl branch to create [string] [required]
Options:
--version, -v Show version number [boolean]
--help, -h Show help [boolean]
--output, -o Specify an output type for the branch data [choices: "json", "yaml"]
--workspace-id, -w The workspace ID to create a new branch [string]
mabl branches delete
Delete a mabl branch by id or name
mabl branches delete {identifier}
Positionals:
identifier The branch ID or NAME to delete [string] [required]
Options:
--version, -v Show version number [boolean]
--help, -h Show help [boolean]
--name, -n Use identifier as branch name [boolean] [default: false]
--workspace-id, -w The workspace ID to delete a branch by name [string]
mabl branches describe
Describe a specific mabl branch by id or name
mabl branches describe {identifier}
Positionals:
identifier The branch ID or NAME to describe [string] [required]
Options:
--version, -v Show version number [boolean]
--help, -h Show help [boolean]
--name, -n Use identifier as Get branch based on name [boolean] [default: false]
--output, -o Specify an output type for the branch data [choices: "json", "yaml"]
--workspace-id, -w The workspace ID to create a new branch [string]
mabl branches list
List mabl branches
mabl branches list
Options:
--version, -v Show version number [boolean]
--help, -h Show help [boolean]
--limit, -l Item return limit [default: 10]
--output, -o Specify result output format [choices: "json", "yaml"]
--status, -s filter results by status [choices: "open", "merged"]
--workspace-id, -w The workspace ID to list branches for
mabl branches merge
Merge mabl branches
mabl branches merge
Options:
--version, -v Show version number [boolean]
--help, -h Show help [boolean]
--from, -f Name of the mabl branch to merge from [string] [required]
--to, -t Name of the mabl branch to merge to [string] [default: "master"]
--fast-forward-only Refuse the merge if it would conflict with newer versions on the target branch, instead of overwriting them. Recommended for scripts and agents [boolean] [default: false]
--output, -o Specify an output type for the branch data [choices: "json", "yaml"]
--workspace-id, -w The workspace ID to create a new branch [string]
mabl branches merge-status
Check whether merging a mabl branch would carry new versions or conflict with newer versions on the target branch. Exits 1 on a conflict. The target can still change before you merge, so use merge --fast-forward-only to enforce it
mabl branches merge-status
Options:
--version, -v Show version number [boolean]
--help, -h Show help [boolean]
--from, -f Name of the mabl branch that would be merged from [string] [required]
--to, -t Name of the mabl branch that would be merged into [string] [default: "master"]
--output, -o Specify an output type for the merge status [choices: "json", "yaml"]
--workspace-id, -w The workspace ID the branches are in [string]
mabl config delete
Delete a config value
mabl config delete {config-key}
Positionals:
config-key configuration key to delete [string] [required] [choices: "browser.path", "alpha.scm_metadata.enable", "workspace", "http.proxy", "http.sslVerify", "http.proxyMode", "http.proxyType"]
Options:
--version, -v Show version number [boolean]
--help, -h Show help [boolean]
mabl config get
Get a config value
mabl config get {config-key}
Positionals:
config-key desired configuration key [string] [required]
Options:
--version, -v Show version number [boolean]
--help, -h Show help [boolean]
mabl config install
Install add-on tools like mobile testing drivers
mabl config install {add-on}
Positionals:
add-on add-on to install [string] [required] [choices: "mobile-tools", "browser"]
Options:
--version, -v Show version number [boolean]
--help, -h Show help [boolean]
--android [mobile-tools] The android driver version to use [string]
--ios [mobile-tools] The ios driver version to use [string]
--chrome [browser] The chrome browser version to use [boolean]
mabl config list
List all user config values
mabl config list
Options:
--version, -v Show version number [boolean]
--help, -h Show help [boolean]
mabl config set
Set a default configuration key
mabl config set {config-key} {config-value}
Positionals:
config-key The configuration key to set [string] [required] [choices: "browser.path", "alpha.scm_metadata.enable", "workspace", "http.proxy", "http.sslVerify", "http.proxyMode", "http.proxyType"]
config-value The value to configure for the config [string] [required]
Options:
--version, -v Show version number [boolean]
--help, -h Show help [boolean]
mabl credentials list
List your credentials
mabl credentials list
Options:
--version, -v Show version number [boolean]
--help, -h Show help [boolean]
--workspace-id, -w Workspace to list credentials for [string]
--limit, -l The number of credentials to return [string] [default: 10]
--output, -o Specify result output format [choices: "json", "yaml"]
mabl databases list
List your databases
mabl databases list
Options:
--version, -v Show version number [boolean]
--help, -h Show help [boolean]
--workspace-id, -w Workspace to list databases for [string]
--limit, -l The number of databases to return [string] [default: 10]
--output, -o Specify result output format [choices: "json", "yaml"]
mabl datatables create
Create a new mabl DataTable
mabl datatables create {input}
Positionals:
input, file Relative path file to create DataTable from [required]
Options:
--version, -v Show version number [boolean]
--help, -h Show help [boolean]
--workspace-id, -w Workspace to create DataTable in [string]
--name, --table-name The name for your new DataTable [string]
--format, --fmt Specify the format of your input file (checks file extension type by default) [choices: "json", "csv"]
mabl datatables describe
Describe a specific DataTable
mabl datatables describe {id}
Options:
--version, -v Show version number [boolean]
--help, -h Show help [boolean]
--output, -o Specify output format [choices: "json", "yaml"]
mabl datatables export
Export a DataTable in a specified file format
mabl datatables export {id}
Positionals:
id DataTable id to export [string] [required]
Options:
--version, -v Show version number [boolean]
--help, -h Show help [boolean]
--format, --fmt Specify a format for the DataTable export [choices: "json", "yaml", "csv"] [default: "json"]
mabl datatables list
List your DataTables
mabl datatables list
Options:
--version, -v Show version number [boolean]
--help, -h Show help [boolean]
--workspace-id, -w Workspace to list datatables for [string]
--limit, -l The number of datatables to return [string] [default: 10]
--output, -o Specify result output format [choices: "json", "yaml"]
mabl datatables scenarios
List the scenarios of a datatable
mabl datatables scenarios {id}
Options:
--version, -v Show version number [boolean]
--help, -h Show help [boolean]
--limit, -l The number of scenarios to return' [string] [default: 10]
--output, -o Specify result output format [choices: "json", "yaml"]
mabl datatables update
Update a mabl DataTable
mabl datatables update {id} {input}
Positionals:
id ID of DataTable to update [string] [required]
input, file Relative path file to create DataTable from [required]
Options:
--version, -v Show version number [boolean]
--help, -h Show help [boolean]
--workspace-id, -w Workspace your DataTable is exists in [string]
--format, --fmt Specify the format of your input file (checks file extension type by default) [choices: "json", "csv"]
mabl deployments create
Trigger a deployment event via the mabl API
mabl deployments create
Options:
--version, -v Show version number [boolean]
--help, -h Show help [boolean]
--application-id, -a Application to run the mabl tests for. If provided, mabl will only trigger plans that contain this application [string]
--environment-id, -e Environment to run the mabl tests for. If provided, mabl will only trigger plans that contain this environment [string]
--override-environment-id Override environment to run the tests against. Not used to select plans to run. Requires `--application-id`. [string]
--await-completion Block until mabl tests complete. [boolean] [default: false]
--fast-failure If using '--await-completion', exit on first failed test [boolean] [default: false]
--silent Don't output runtime status [boolean] [default: false]
--output, -o Specify final result output format. Implies: --silent [choices: "json", "yaml"]
--workspace-id, -w Workspace containing target environment and/or application [string]
--browsers, -b Space delimited browsers to test against (e.g. "chrome firefox") [array] [choices: "chrome", "edge", "firefox", "webkit"] [default: []]
--labels, -l Space delimited plan labels. Run plans that match any label. [array] [default: []]
--test-ids Space delimited invariant test ids (e.g. "abc123-j") to run as one synthesized plan on this event, up to 50. Given without --labels, only these tests run; with --labels, the matching plans run as well. [array]
--impact-session-id The test impact analysis session (an id ending in "-as") that chose these tests. The deployment event is recorded on that session so the analysis and what it triggered stay linked. [string]
--selection-name Display name for the synthesized plan in results. Defaults to "Selected tests". [string]
--selection-source Who chose these tests: "agent" when software did, "user" when a person named them. Defaults to "agent". [string] [choices: "agent", "user"]
--http-headers Space delimited HTTP headers added to browser requests (e.g. "x-header:foo") [array] [default: []]
--url, -u URL to use for deployment [string]
--app-url Application/web URL to use for deployment [string]
--api-url API URL to to use for deployment [string]
--android-app-file-id Android mobile app file to use for deployment [string]
--ios-app-file-id iOS mobile app file to use for deployment [string]
--api-key, -k API key (found in the mabl web app) [string]
--rebaseline-images, --rbi Rebaseline visual change models [boolean] [default: false]
--set-static-baseline, --ssbi Set run as fixed baseline for visual change models [boolean] [default: false]
--revision, --rev Code revision hash (application under test) [string]
--repository-url Code repository URL (e.g. git@github.com:foo/bar.git) [string]
--mabl-branch mabl branch to run tests against [string]
--auto-branch Create a mabl branch when a mabl-branch target is specified that does not exist [boolean] [default: false]
--snapshot-from Snapshot the current state of the tests from a mabl branch onto the environment. Use "master" for the mainline branch. Requires setting environment-id. [string]
mabl deployments describe
Describe a specific mabl deployment event
mabl deployments describe {id}
Options:
--version, -v Show version number [boolean]
--help, -h Show help [boolean]
--output, -o Specify and alternate output for the deployment data [choices: "json", "yaml", "markdown"]
mabl deployments list
List recent mabl deployment events
mabl deployments list
Options:
--version, -v Show version number [boolean]
--help, -h Show help [boolean]
--workspace-id, -w Workspace to list deployments for [string]
--limit, -l The number of deployments to return [string] [default: 10]
--output, -o Specify result output format [choices: "json", "yaml"]
--environment-id, -e Only deployment events for this environment [string]
--start-time Only events received at or after this time: epoch milliseconds, or a date/time like 2024-01-15 or 2024-01-15T00:00:00Z (history reaches back at most 400 days) [string]
--end-time Only events received at or before this time: epoch milliseconds, or a date/time like 2024-01-15 or 2024-01-15T00:00:00Z [string]
--include-test-executions Set to false to omit per-test run results for a faster, lighter listing [boolean]
--paginate Keep requesting pages until --limit events are collected; a single request returns at most 100 [boolean] [default: false]
mabl deployments watch
Watch a mabl deployment event until completion, with results
mabl deployments watch {id}
Options:
--version, -v Show version number [boolean]
--help, -h Show help [boolean]
--fast-failure Exit on first failed test [boolean] [default: false]
--silent Don't output runtime status [boolean] [default: false]
--output, -o Specify final result output format. Implies: --silent [choices: "json", "yaml"]
mabl environments build-files add
Associate mobile build file with an environment
mabl environments build-files add {id}
Positionals:
id ID of environment to add mobile build file associations to [string] [required]
Options:
--version, -v Show version number [boolean]
--help, -h Show help [boolean]
--application-id ID of application to associate with this environment [string] [required]
--build-file-id mobile build file ID to associate with the application-environment pair [string] [required]
mabl environments build-files list
Show build files associated with an environment
mabl environments build-files list {id}
Positionals:
id Environment ID to list build file associations for [string] [required]
Options:
--version, -v Show version number [boolean]
--help, -h Show help [boolean]
--application-id, -a Application ID to filter build files by [string]
--limit, -l The number of build files to return' [string] [default: 10]
--output, -o Specify result output format [choices: "json", "yaml"]
mabl environments build-files update
Update mobile build file associated with an environment or add new association
mabl environments build-files update {id}
Positionals:
id ID of environment to update mobile build file association [string] [required]
Options:
--version, -v Show version number [boolean]
--help, -h Show help [boolean]
--application-id ID of application to associate with this environment [string] [required]
--build-file-id mobile build file ID to associate with the application-environment pair [string] [required]
mabl environments create
Create a new mabl environment
mabl environments create
Options:
--version, -v Show version number [boolean]
--help, -h Show help [boolean]
--application-id Id of application to associate with this environment [string]
--app-url Web application URLs to associate with the application-environment pair [array]
--api-url API URLs to associate with the application-environment pair [array]
--name, -n Name of the environment [string] [required]
--description Description of the environment [string]
--variables Key-value environment variable pairs of the form var1:value1 [array] [default: []]
--link Name of link agent to use for this environment [string]
--mabl-branch Name of mabl branch to associated with this environment. Tests run against this environment will use the version on this branch. [string]
--preview Set to true to mark this as an preview environment [boolean] [default: false]
--workspace-id, -w Workspace containing to create environment in [string]
mabl environments delete
Delete a mabl environment
mabl environments delete {id}
Positionals:
id Environment id to delete [string] [required]
Options:
--version, -v Show version number [boolean]
--help, -h Show help [boolean]
mabl environments describe
Describe a specific environment
mabl environments describe {id}
Options:
--version, -v Show version number [boolean]
--help, -h Show help [boolean]
--decrypt Set to decrypt and return environment variables as part of the payload [boolean]
--output, -o Specify output format [choices: "json", "yaml"]
mabl environments list
List your environments
mabl environments list
Options:
--version, -v Show version number [boolean]
--help, -h Show help [boolean]
--workspace-id, -w Workspace to list environments for [string]
--limit, -l The number of environments to return [string] [default: 10]
--output, -o Specify result output format [choices: "json", "yaml"]
mabl environments update
Update a mabl environment. Note: This overwrites all existing environment variables set for the environment.
mabl environments update {id}
Positionals:
id ID of environment to update [string] [required]
Options:
--version, -v Show version number [boolean]
--help, -h Show help [boolean]
--name, -n Name of the environment [string]
--description Description of the environment [string]
--variables Key-value environment variable pairs of the form var1:value1 [array] [default: []]
--link Name of link agent to use for this environment [string]
--mabl-branch Name of mabl branch to associated with this environment. Tests run against this environment will use the version on this branch. [string]
--preview Set to true to mark this as an preview environment [boolean] [default: false]
mabl environments urls add
Associate URLs with an environment
mabl environments urls add {id}
Positionals:
id Id of environment to add URL associations to [string] [required]
Options:
--version, -v Show version number [boolean]
--help, -h Show help [boolean]
--application-id id of application to associate with this environment [string] [required]
--app-url web application URLs to associate with the application-environment pair [array]
--api-url API URLs to associate with the application-environment pair [array]
mabl environments urls list
Show URLs associated with an environment
mabl environments urls list {id}
Positionals:
id Environment id to list URL associations for [string] [required]
Options:
--version, -v Show version number [boolean]
--help, -h Show help [boolean]
--application-id, -a Application id to filter URLs by [string]
--limit, -l The number of URLs to return' [string] [default: 10]
--output, -o Specify result output format [choices: "json", "yaml"]
mabl files delete
Delete a file upload
mabl files delete {id}
Positionals:
id ID of the file upload to delete [string] [required]
Options:
--version, -v Show version number [boolean]
--help, -h Show help [boolean]
--force Delete even if tests or flows still reference the file [boolean] [default: false]
mabl files download
Download a file upload
mabl files download {id}
Positionals:
id ID of the file upload to download [string] [required]
Options:
--version, -v Show version number [boolean]
--help, -h Show help [boolean]
--directory, -d Directory to write the file into [string] [default: "."]
mabl files list
List the files uploaded to a workspace
mabl files list
Options:
--version, -v Show version number [boolean]
--help, -h Show help [boolean]
--workspace-id, -w Workspace to list file uploads for [string]
--limit, -l The number of file uploads to return [string] [default: 10]
--output, -o Specify result output format [choices: "json", "yaml"]
mabl files upload
Upload one or more files to a workspace
mabl files upload {paths..}
Positionals:
paths Paths of the files to upload [array] [required] [default: []]
Options:
--version, -v Show version number [boolean]
--help, -h Show help [boolean]
--workspace-id, -w Workspace to upload the files to [string]
mabl flows compare
Compare the steps of two flows or flow versions
mabl flows compare {source} {target}
Positionals:
source The source (base) flow reference: "{id}" for the latest version, or "{id}:{version}" [string] [required]
target The target flow reference to compare against the source: "{id}" or "{id}:{version}" [string] [required]
Options:
--version, -v Show version number [boolean]
--help, -h Show help [boolean]
--show-all-properties, -a Also print the full property set of every added, removed, and unchanged step. Changed steps always list the properties that differ (old → new), so by default only those are shown. [boolean] [default: false]
--output, -o Output the raw structured diff as JSON instead of the formatted view [choices: "json"]
mabl flows export
Export a mabl flow in a specified file format
mabl flows export {id}
Positionals:
id flow id to export [string] [required]
Options:
--version, -v Show version number [boolean]
--help, -h Show help [boolean]
--format, --fmt Specify a format for the flow export [choices: "json", "yaml", "csv", "postman"] [default: "yaml"]
--mabl-branch Which branch of the flow to export [string]
mabl flows list
List flows
mabl flows list
Options:
--version, -v Show version number [boolean]
--help, -h Show help [boolean]
--workspace-id, -w Workspace to list flows for [string]
--limit, -l The number of flows to return [string] [default: 10]
--output, -o Specify result output format [choices: "json", "yaml"]
mabl flows search
Search flows by relevance using the text + semantic search agent
mabl flows search {query}
Positionals:
query Relevance query: natural language, keywords, or an exact name or id [string] [required]
Options:
--version, -v Show version number [boolean]
--help, -h Show help [boolean]
--context Extra context for the search agent, e.g. a code-change overview (max 8000 chars) [string]
--application-id, -a Scope the search to this application [string]
--labels Space delimited labels; results must carry every label (exact match, max 20) [array]
--flow-type Filter by flow type [choices: "browser", "api", "mobile"]
--platform Filter mobile flows by platform [choices: "ios", "android"]
--updated-after Only return flows updated after this ISO-8601 timestamp [string]
--limit, -l The maximum number of flows to return (1-200) [number] [default: 20]
--output, -o Specify result output format [choices: "json", "yaml", "table"] [default: "json"]
--workspace-id, -w Workspace to search flows in [string]
Examples:
mabl flows search "reusable flow that fills out the checkout shipping form" Natural-language relevance search
mabl flows search "login" --flow-type browser -o table Keyword search, filtered, human-readable
mabl flows search {flow-id} Look up a single flow by its exact id
mabl flows search 'api auth setup' -o json | jq -r '.[].id' | xargs -I{} mabl flows export {} Pipe matched ids into another command
Smart search of browser, api, and mobile flows, combining full-text and semantic matching. Well-suited to discovery and CI gates, but takes time to do search. For full listings use 'flows list'. Matches are JSON on stdout by default (pass -o table for a human view); the id field composes with 'flows export'. No relevant matches will exit 0 with empty list; errors go to stderr with exit 1.
mabl link-agents bridge
Open a local port that reaches your network through a Link tunnel, so local tools can use the tunnel's connectivity. Listens as a no-auth SOCKS5 proxy by default; --mode tcp bridges raw TCP to a named tunnel service and --mode p2p forwards raw TCP to a fixed remote host and port. Stays up until interrupted (Ctrl-C).
mabl link-agents bridge
Options:
--version, -v Show version number [boolean]
--help, -h Show help [boolean]
--mode Bridge mode: tcp (raw → service), socks5 (no-auth local proxy), or p2p (raw → fixed host:port) [string] [choices: "tcp", "socks5", "p2p"] [default: "socks5"]
--tunnel Tunnel name (the Link label) to bridge through [string] [required]
--port Local port to listen on [number] [default: 1080]
--service tcp mode only: the tunnel service to bridge to [string] [default: "socks5"]
--remote-host p2p mode only: destination host on the far side of the tunnel (required) [string]
--remote-port p2p mode only: destination port (required) [number]
--workspace-id, -w Workspace to resolve the tunnel from (defaults to your configured workspace); a company tunnel resolves via the company this workspace belongs to [string]
--debug Verbose logging: surface the worker's carrier, dial, and service-discovery logs (useful for diagnosing tunnel connectivity and disruption recovery) [boolean] [default: false]
--verify-carrier Verify the Router's carrier-TLS cert against the system trust store instead of the default do-not-verify. Only works against a Router serving a publicly-trusted cert; it rejects the self-signed dev QUIC endpoint (falling back to WSS) and fails behind a TLS-intercepting egress proxy. The inner end-to-end connection is authenticated regardless. [boolean] [default: false]
--socks-aware Destination-aware routing (default: on): the worker peeks each connection's SOCKS5 CONNECT before picking the egress agent, remembers per-(agent, destination) reachability, and transparently retries another agent on a retryable CONNECT failure. Disable with --no-socks-aware. [boolean] [default: true]
mabl link-agents delete
Delete link agents and infrastructure associate with the link agent label and block new agents with the given label for 15 minutes. Customers dynamically creating link agents must call this when the agent is no longer needed.
mabl link-agents delete {link}
Positionals:
link label of the link agent [string] [required]
Options:
--version, -v Show version number [boolean]
--help, -h Show help [boolean]
--workspace-id workspace id of the link agent [string]
mabl link-agents list
List link agents
mabl link-agents list
Options:
--version, -v Show version number [boolean]
--help, -h Show help [boolean]
--workspace-id, -w Workspace for which to list link agents [string]
--output, -o Specify result output format [choices: "json", "yaml", "table"] [default: "table"]
--limit, -l The number of link agents to return [number] [default: 10]
--max-heartbeat-age Only returns link agents that have sent a heartbeat within this number of seconds [number] [default: 300]
mabl link-agents maintenance end
Take a Link Agent out of maintenance mode (resumes accepting new traffic)
mabl link-agents maintenance end {id}
Positionals:
id id of the Link Agent to take out of maintenance [string] [required]
Options:
--version, -v Show version number [boolean]
--help, -h Show help [boolean]
mabl link-agents maintenance start
Place a Link Agent into maintenance mode (stops new traffic and drains in-flight connections)
mabl link-agents maintenance start {id}
Positionals:
id id of the Link Agent to place into maintenance [string] [required]
Options:
--version, -v Show version number [boolean]
--help, -h Show help [boolean]
--drain-timeout Max seconds to wait for in-flight connections to drain before forcing drained (default: wait indefinitely) [number]
mabl link-agents start
Run a Link 3.0 Agent, exposing this machine's network to mabl test execution. Stays up until interrupted (Ctrl-C drains in-flight connections, then exits).
mabl link-agents start
Options:
--version, -v Show version number [boolean]
--help, -h Show help [boolean]
--config, -c Path to a Link Agent config file (YAML or JSON, same schema as the Java agent). Its apiKey overrides the mabl-cli login; command-line flags override the file. Not usable with --personal. [string]
--tunnel Tunnel name (the Link label) this agent serves. Workspace/company tunnels only — a personal tunnel (--personal) is identified by this machine, not a name. [string]
--workspace-id, -w Workspace that owns the tunnel (defaults to the configured workspace). Mutually exclusive with --company-id. [string]
--company-id Company that owns the tunnel — one tunnel shared across the company's workspaces. Mutually exclusive with --workspace-id. [string]
--channel Worker release channel to provision (default: the channel this CLI build ships with) [string]
--install-root Directory to cache the downloaded worker binary [string]
--binary Path to a pre-staged worker binary (disables auto-update) [string]
--auto-update Apply worker updates as they are published (use --no-auto-update to pin the version). Default: on, unless disableAutoUpdates is set in --config. [boolean]
--personal Run your own personal tunnel: owned by the authenticated user and identified by this machine (a persisted machine id — no tunnel name). Mutually exclusive with --workspace-id/--company-id. [boolean]
--infra-key Link infrastructure placement for the personal tunnel, needed only when your workspaces span more than one cluster (the error names the choices; `mabl` — the shared cluster — is always valid). Only with --personal. [string]
--debug Verbose logging, for diagnosing a tunnel that will not connect or keeps dropping. Writes the detail to the log file as well as the terminal. [boolean] [default: false]
mabl link-agents terminate
Sends a shutdown signal to a specific Link Agent.
mabl link-agents terminate {id}
Positionals:
id id of the link agent to terminate [string] [required]
Options:
--version, -v Show version number [boolean]
--help, -h Show help [boolean]
mabl link-agents test destination
Probe a destination from EVERY agent in a Link tunnel and compare reachability, resolved addresses, and timings
mabl link-agents test destination {destination}
Positionals:
destination Target to probe, as host:port (e.g. db.internal:5432). Each agent resolves the name under ITS network DNS view [string] [required]
Options:
--version, -v Show version number [boolean]
--help, -h Show help [boolean]
--tunnel Tunnel name (the Link label) to run the test through [string] [required]
--workspace-id, -w Workspace to resolve the tunnel from (defaults to your configured workspace); a company tunnel resolves via the company this workspace belongs to [string]
--company-id Resolve an explicit company-owned tunnel by company id (instead of via a workspace) [string]
--personal Resolve your own personal tunnel (owned by the authenticated user). Requires an OAuth login; --tunnel names which machine's tunnel [boolean]
--output Output format [string] [choices: "human", "json"] [default: "human"]
--connect-timeout Per-agent connect timeout in milliseconds [number] [default: 5000]
mabl link-agents test ping
Measure control-plane round-trip time to a tunnel's Link Agent (a liveness check — distinct from `test speed --ping`, which echoes at the application layer)
mabl link-agents test ping
Options:
--version, -v Show version number [boolean]
--help, -h Show help [boolean]
--tunnel Tunnel name (the Link label) to run the test through [string] [required]
--workspace-id, -w Workspace to resolve the tunnel from (defaults to your configured workspace); a company tunnel resolves via the company this workspace belongs to [string]
--company-id Resolve an explicit company-owned tunnel by company id (instead of via a workspace) [string]
--personal Resolve your own personal tunnel (owned by the authenticated user). Requires an OAuth login; --tunnel names which machine's tunnel [boolean]
--output Output format [string] [choices: "human", "json"] [default: "human"]
--count Number of control-plane pings to send [number] [default: 5]
--timeout Per-ping timeout in milliseconds [number] [default: 5000]
mabl link-agents test speed
Measure ping/RTT and download/upload throughput over a Link tunnel (a speed test for the tunnel path to that agent)
mabl link-agents test speed
Options:
--version, -v Show version number [boolean]
--help, -h Show help [boolean]
--tunnel Tunnel name (the Link label) to run the test through [string] [required]
--workspace-id, -w Workspace to resolve the tunnel from (defaults to your configured workspace); a company tunnel resolves via the company this workspace belongs to [string]
--company-id Resolve an explicit company-owned tunnel by company id (instead of via a workspace) [string]
--personal Resolve your own personal tunnel (owned by the authenticated user). Requires an OAuth login; --tunnel names which machine's tunnel [boolean]
--output Output format [string] [choices: "human", "json"] [default: "human"]
--ping Run the ping/RTT test (default: run all three unless one is named) [boolean]
--download Run the download test (default: run all three unless one is named) [boolean]
--upload Run the upload test (default: run all three unless one is named) [boolean]
--ping-count Number of ping records to send (RTT samples) [number] [default: 20]
--duration Duration of each throughput test, in seconds (the host excludes a slow-start warm-up and reports the steady-state rate) [number] [default: 60]
--chunk-size Payload chunk size for the throughput tests, in bytes [number] [default: 131072]
--streams Parallel streams per direction, like iperf3's -P. Defaults to this client's peer-pool size, which is what a real test run uses: streams round-robin across the pool's slot Hosts and each slot pins its own carrier, so the pool size is the number of independent lanes to one agent — one stream measures a single lane and under-states the tunnel. Going past the pool size shares slots and gains nothing; whether the lanes are truly independent also depends on the slots landing on distinct Routers, which the carriers line reports. [number]
mabl link-agents test tcp
Open a TCP connection to host:port through a Link tunnel
mabl link-agents test tcp {destination}
Positionals:
destination Target to connect to, as host:port (e.g. db.internal:5432) [string] [required]
Options:
--version, -v Show version number [boolean]
--help, -h Show help [boolean]
--tunnel Tunnel name (the Link label) to run the test through [string] [required]
--workspace-id, -w Workspace to resolve the tunnel from (defaults to your configured workspace); a company tunnel resolves via the company this workspace belongs to [string]
--company-id Resolve an explicit company-owned tunnel by company id (instead of via a workspace) [string]
--personal Resolve your own personal tunnel (owned by the authenticated user). Requires an OAuth login; --tunnel names which machine's tunnel [boolean]
--output Output format [string] [choices: "human", "json"] [default: "human"]
--agent Pin the test to one agent (link agent id, or agent host address) instead of letting the tunnel pick — bypasses steering by design [string]
--all-agents Run the test once against EVERY live agent in the tunnel and report per-agent results [boolean]
--connect-timeout Connection timeout in milliseconds [number] [default: 10000]
mabl link-agents test url
Make an HTTP request through a Link tunnel (a mini curl)
mabl link-agents test url {url}
Positionals:
url URL to request (http or https) [string] [required]
Options:
--version, -v Show version number [boolean]
--help, -h Show help [boolean]
--tunnel Tunnel name (the Link label) to run the test through [string] [required]
--workspace-id, -w Workspace to resolve the tunnel from (defaults to your configured workspace); a company tunnel resolves via the company this workspace belongs to [string]
--company-id Resolve an explicit company-owned tunnel by company id (instead of via a workspace) [string]
--personal Resolve your own personal tunnel (owned by the authenticated user). Requires an OAuth login; --tunnel names which machine's tunnel [boolean]
--output Output format [string] [choices: "human", "json"] [default: "human"]
--agent Pin the test to one agent (link agent id, or agent host address) instead of letting the tunnel pick — bypasses steering by design [string]
--all-agents Run the test once against EVERY live agent in the tunnel and report per-agent results [boolean]
--request, -X HTTP method (default GET, or POST when --data is set) [string]
--header, -H Request header as 'Name: Value' (repeatable) [array]
--data, -d Request body [string]
--user, -u Basic auth credentials as user:password [string]
--insecure, -k Skip TLS certificate verification [boolean] [default: false]
--location, -L Follow 3xx redirects [boolean] [default: false]
--include, -i Include response headers in the output [boolean] [default: false]
--fail, -f Exit non-zero on an HTTP response status >= 400 [boolean] [default: false]
--max-time Overall request timeout in milliseconds [number]
mabl mobile-build-files delete
Delete a mobile build file.
mabl mobile-build-files delete {id}
Positionals:
id ID of the mobile build file [string] [required]
Options:
--version, -v Show version number [boolean]
--help, -h Show help [boolean]
mabl mobile-build-files download
Download a mobile build file.
mabl mobile-build-files download {id} {destination}
Positionals:
id ID of the mobile build file [string] [required]
destination Relative path to destination directory or file [string] [required]
Options:
--version, -v Show version number [boolean]
--help, -h Show help [boolean]
mabl mobile-build-files list
List your mobile build files
mabl mobile-build-files list
Options:
--version, -v Show version number [boolean]
--help, -h Show help [boolean]
--workspace-id, -w Workspace to list mobile build files for [string]
--limit, -l The number of mobile build files to return [string] [default: 10]
--output, -o Specify result output format [choices: "json", "yaml"]
--platform Filter results to a single mobile platform [string] [choices: "android", "ios"]
mabl mobile-build-files upload
Upload a new mobile build file
mabl mobile-build-files upload {build-file-path}
Positionals:
build-file-path Relative path to mobile build file file [required]
Options:
--help, -h Show help [boolean]
--branch Branch from which this mobile build file was built [string]
--labels Space delimited labels to save the file with [array]
--platform The mobile platform [string] [choices: "android", "ios"] [default: inferred from app binary extension]
--version Version of this mobile build file [string]
--workspace-id, -w Workspace to create mobile build file in [string]
mabl plans describe
Describe a specific plan
mabl plans describe {id}
Options:
--version, -v Show version number [boolean]
--help, -h Show help [boolean]
--output, -o Specify output format [choices: "json", "yaml"]
mabl plans edit-metadata
Edit a plan’s metadata (add or remove labels)
mabl plans edit-metadata {id}
Positionals:
id The id of the plan to edit [string] [required]
Options:
--version, -v Show version number [boolean]
--help, -h Show help [boolean]
--add-labels Space delimited labels to add to the plan [array]
--remove-labels Space delimited labels to remove from the plan [array]
Examples:
mabl plans edit-metadata {id} --add-labels smoke regression add the "smoke" and "regression" labels to a plan
mabl plans edit-metadata {id} --remove-labels flaky remove the "flaky" label from a plan
mabl plans list
List plans
mabl plans list
Options:
--version, -v Show version number [boolean]
--help, -h Show help [boolean]
--workspace-id, -w Workspace to list plans for [string]
--labels Space delimited plan labels to list plans for [array]
--output, -o Specify result output format [choices: "json", "yaml", "table"] [default: "table"]
--limit, -l The number of plans to fetch before label filtering [string] [default: 10]
--columns Columns to show in table output, space or comma delimited. Valid columns: id, application-id, name, labels, created-time, last-updated-time, created-by, last-updated-by; use 'all' to show every column [array]
mabl test-runs export
Export browser test run artifacts. Defaults to screenshots only.
mabl test-runs export {id} [options]
Positionals:
id test run id [string] [required]
Options:
--version, -v Show version number [boolean]
--help, -h Show help [boolean]
--file export to specific file, default: local path/export name [string]
--types types to export, defaults to screenshots only [array] [choices: "all", "screenshots", "console_logs", "doms", "hars", "traces", "xray_json", "variables"] [default: ["screenshots"]]
Examples:
mabl test-runs export {id} export test run screenshots to file
mabl test-runs export {id} --types screenshots doms export test run screenshots and doms to file
mabl test-runs export {id} --types all export test run all types to file
mabl test-runs get-test
Get the test that a test run belongs to
mabl test-runs get-test {run-id}
Positionals:
run-id test run id, e.g. abc123-jr [string] [required]
Options:
--version, -v Show version number [boolean]
--help, -h Show help [boolean]
--output, -o Specify result output format. Defaults to printing the bare test id [choices: "json", "yaml"]
mabl tests cloud-status
Check the status of a cloud test generation initiated by create --mode cloud
mabl tests cloud-status
Options:
--version, -v Show version number [boolean]
--help, -h Show help [boolean]
--session-id The agent session ID from create --mode cloud [string] [required]
--instance-id The cloud instance ID from create --mode cloud [string]
--output Output format: "json" for machine-readable output [string]
mabl tests compare
Compare the steps of two tests or test versions
mabl tests compare {source} {target}
Positionals:
source The source (base) test reference: "{id}" for the latest version, or "{id}:{version}" [string] [required]
target The target test reference to compare against the source: "{id}" or "{id}:{version}" [string] [required]
Options:
--version, -v Show version number [boolean]
--help, -h Show help [boolean]
--show-all-properties, -a Also print the full property set of every added, removed, and unchanged step. Changed steps always list the properties that differ (old → new), so by default only those are shown. [boolean] [default: false]
--output, -o Output the raw structured diff as JSON instead of the formatted view [choices: "json"]
mabl tests create
Create a browser test using the mabl Trainer
mabl tests create {url} {test-name}
Positionals:
url The url to test [string] [required]
test-name The name of the test [string] [required]
Options:
--version, -v Show version number [boolean]
--help, -h Show help [boolean]
--desc, --test-description Description for the test [string] [default: ""]
--width Set the browser width in pixels [number] [default: 1080]
--height Set the browser height in pixels [number] [default: 1440]
--mabl-branch Branch to run the mabl test against [string]
--environment-id, -e Mabl environment to create test under [string]
--application-id, -a Mabl application to create test under [string]
--plan-id Mabl plan to use the config from and add the test to upon completion [string]
--auto-branch Create a mabl branch when a mabl-branch target is specified that does not exist [boolean] [default: false]
--auto-login Insert an auto login flow at the beginning of the created test [boolean] [default: false]
--labels Space delimited labels to save test with [array]
--data-tables Space delimited data table IDs to use with test [array]
--workspace-id, -w Workspace to create test in [string]
--credentials-id, --creds Credentials ID to run the test with [string]
--intent Intent for the test, e.g. "smoke", "regression" [string]
--disabled Create the test in a disabled state [boolean] [default: false]
--empty Create a minimal test with only viewport and visit-URL steps [boolean] [default: false]
--mode Test generation mode: "local" runs locally (default), "cloud" runs in the mabl cloud and returns session/instance IDs for polling status. [string] [choices: "local", "cloud"] [default: "local"]
mabl tests edit
Edit a browser test
mabl tests edit
Options:
--version, -v Show version number [boolean]
--help, -h Show help [boolean]
--id the id of the test to edit [string]
--run-id The id of the test run to pull config from [string]
--mabl-branch Branch to edit the mabl test against [string]
--mabl-source-branch Branch to load the starting version of the test from. Defaults to --mabl-branch, i.e. editing a test on a branch starts from that branch. Set it to start somewhere else, e.g. --mabl-source-branch master --mabl-branch my-feature. [string]
--auto-branch Create a mabl branch when a mabl-branch target is specified that does not exist [boolean] [default: false]
--environment-id, -e Mabl environment to edit the test under. Specify to edit the test with environment variables and the latest find information. [string]
--application-id, -a Mabl application to edit the test under [string]
--width Set the browser width in pixels [number] [default: 1080]
--height Set the browser height in pixels [number] [default: 1440]
--url, -u URL to edit the mabl test against [string]
--credentials-id, --creds Credentials ID to edit the test with [string]
--impact-session-id The test-impact analysis session (ends in -as) this edit answers. The new authoring session is recorded on it. Requires --intent and a --mabl-branch that is not the default branch. [string]
Examples:
mabl tests edit --id {id} edit test in the Trainer by id
mabl tests edit --run-id {test-run-id} edit a browser test in the Trainer in the context of a test configuration from a cloud run
mabl tests edit-metadata
Edit a test’s metadata (add or remove labels)
mabl tests edit-metadata {id}
Positionals:
id The id of the test to edit [string] [required]
Options:
--version, -v Show version number [boolean]
--help, -h Show help [boolean]
--add-labels Space delimited labels to add to the test [array]
--remove-labels Space delimited labels to remove from the test [array]
Examples:
mabl tests edit-metadata {id} --add-labels smoke regression add the "smoke" and "regression" labels to a test
mabl tests edit-metadata {id} --remove-labels flaky remove the "flaky" label from a test
mabl tests export
Export a mabl browser test in a specified file format
mabl tests export {id}
Positionals:
id test id to export [string] [required]
Options:
--version, -v Show version number [boolean]
--help, -h Show help [boolean]
--format, --fmt Specify a format for the test export [choices: "json", "yaml", "csv", "playwright", "postman", "side"] [default: "yaml"]
--mabl-branch Which branch of the test to export [string]
--environment-id, -e Generate selectors based on the find information learned in this environment (Playwright only) [string]
--file Export to specific file, default: local path/export name [string]
mabl tests get-runs
List recent test runs for a test
mabl tests get-runs {id}
Positionals:
id test id, e.g. abc123-j [string] [required]
Options:
--version, -v Show version number [boolean]
--help, -h Show help [boolean]
--limit, -l The number of test runs to return [number] [default: 10]
--output, -o Specify result output format [choices: "json", "yaml", "table"] [default: "table"]
mabl tests impact
Analyze which existing tests are impacted by a code change (advisory; never gates)
mabl tests impact
Options:
--version, -v Show version number [boolean]
--help, -h Show help [boolean]
--application-id, -a The application to analyze. Analysis is scoped to one application; split a change spanning several into one call per application. [string] [required]
--change-description The change, described in product terms — name every user-facing area it reaches, including surfaces the diff never mentions. Mutually exclusive with --change-description-file. [string]
--change-description-file Path to a file holding the change description. Mutually exclusive with --change-description. [string]
--guidance Your intent for this call, e.g. "everything potentially relevant, I am validating nothing broke" or "just the top-priority handful". Shapes how broadly the analysis searches. [string]
--reference Reference to the change being analyzed, repeatable up to 5 times. For a pull request pass the bare URL — --reference https://github.com/mablhq/ui/pull/3341 — and mabl derives the reference from it, so it matches the one the pull request view looks up. Use "{type}:{id}" for a reference that has no URL: an issue key, a branch, a commit. Types are pull_request, commit, branch, issue, test_case, release, custom. Pass every reference you know (the pull request and the ticket it closes): each one is another view the analysis appears under. References are provenance and do not steer the analysis; use --guidance for that. [array] [default: []]
--revision The revision this analysis was run against, normally a commit sha. The same word and meaning as a deployment event's revision, so an analysis and the deployments of the same commit line up. Recorded verbatim; the server requires a non-blank value and rejects one carrying whitespace, {, } or ". Unlike "mabl deployments create", this flag is never filled in from build info: leave it out and the analysis carries no revision, so its row will not join the deployment of the same commit. [string]
--include-plans Also list the plans that include each returned test (json and yaml output only; slower). [boolean] [default: false]
--output, -o Specify result output format [choices: "json", "yaml", "markdown"] [default: "json"]
--timeout Seconds to wait for the analysis before giving up. The analysis takes several minutes; values above the default do not help, since the server itself stops at about five minutes. [number] [default: 330]
--workspace-id, -w Workspace to analyze in. Defaults to the application's own workspace. [string]
Examples:
mabl tests impact -a {application-id} --change-description "Postal code validation now runs on every keystroke, so errors appear while the user types — in checkout and when editing a saved address" Describe the change inline, in product terms
mabl tests impact -a {application-id} --change-description-file change.md Read the description from a file (a PR body, a commit message)
mabl tests impact -a {application-id} --change-description-file change.md -o markdown Render a report to paste into a PR comment
mabl tests impact -a {application-id} --change-description-file change.md --guidance "just the top-priority handful" Steer how broadly the analysis searches
Advisory only: the result names the existing tests a change impacts and the areas where no credible coverage was found (inconclusive, not proof); it decides nothing. Any completed analysis exits 0, even one returning no tests; only a failure (bad input, auth, entitlement, timeout) exits 1. The analysis runs server-side and takes several minutes; --timeout (seconds, default 330) bounds the wait.
mabl tests import playwright
[LABS]: Import an existing Playwright test.
mabl tests import playwright
Options:
--version, -v Show version number [boolean]
--help, -h Show help [boolean]
--auto-save Automatically save imported test when complete [boolean] [default: false]
--workspace-id, -w Workspace into which tests should be imported [string]
--path Project location. Current directory is default [string]
--project Name of the Playwright project to run. You will find the list of your playwright projects in the playwright.config.ts file under the projects array. This project must have tracing enabled. [string]
--grep Grep argument to pass to Playwright to filter tests [string]
--extra-arguments Extra arguments to pass to playwright [string]
--tests-path Path where the tests are located [string] [default: "tests"]
--trace-file Path of a single playwright trace file to import [string]
--traces-path Path of the directory containing playwright trace files to import [string]
mabl tests import selenium
Import an existing Selenium-based test
mabl tests import selenium
Options:
--version, -v Show version number [boolean]
--help, -h Show help [boolean]
--auto-save Submit the captured session to the cloud authoring agent without prompting [boolean] [default: false]
--multi Capture multiple tests at once [boolean] [default: false]
--name, -n The name to give this test in mabl [string]
--port The port on which the Selenium proxy should listen [number] [default: 8889]
--workspace-id, -w Workspace into which tests should be imported [string]
--credentialsId Workspace credential ID to bind to the imported test. Pass when the captured login uses secrets from an external vault that do not match any mabl credential. [string]
--useLink Bias the planner toward applications and environments configured for the Link Agent [boolean] [default: false]
--no-plan Skip the planning agent and submit the captured session directly to the test authoring agent [boolean] [default: false]
mabl tests list
List tests
mabl tests list
Options:
--version, -v Show version number [boolean]
--help, -h Show help [boolean]
--workspace-id, -w Workspace to list tests for [string]
--labels Space delimited test labels to list tests for [array]
--output, -o Specify result output format [choices: "json", "yaml", "table"] [default: "table"]
--limit, -l The number of tests to return [string] [default: 10]
--columns Columns to show in table output, space or comma delimited. Valid columns: id, name, enabled, created-time, last-updated-time, created-by, last-updated-by; use 'all' to show every column [array]
mabl tests restore
Restore a test to a previous version
mabl tests restore {id} {version}
Positionals:
id The id of the test to restore [string] [required]
version The version number to restore as the new latest version [number] [required]
Options:
--help, -h Show help [boolean]
Examples:
mabl tests restore {id} 3 restore the test to version 3
mabl tests run
Run a test locally with headless support
mabl tests run
Options:
--version, -v Show version number [boolean]
--help, -h Show help [boolean]
--id The id of the test to run [string]
--run-id The id of the test run to pull config from [string]
--from-plan-id The plan id to get a list of tests from.
Note: running tests with the --from-plan-id option is not a plan run. Advanced plan configurations, such as stages, browser settings or shared variables, are not applied. [string]
--mabl-branch Mabl branch to run test against [string]
--branch-changes-only Only execute tests changed on specified mabl branch [boolean] [default: false]
--labels Space delimited test labels. Run tests that match any label. [array]
--exclude-labels Space delimited test labels. Exclude tests that match any label. [array]
--workspace-id, -w Workspace to run against [string]
--application-id, -a Mabl application to run against. Supply together with (--environment-id) to run against the URL of the matching deployment. [string]
--environment-id, -e Mabl environment to run under. Specify to ensure the test runs with environment variables and the latest find information.
Note: on its own this does not override the default URL. Supply both (--application-id) and (--environment-id) to run against the URL of the matching deployment, or use (--url) to set the URL directly. [string]
--locale Locale to run the test in, e.g. en-US [string]
--timezone-id Identifier of the timezone to run the test in, e.g. America/Buenos_Aires [string]
--width Set the browser width in pixels [number] [default: 1080]
--height Set the browser height in pixels [number] [default: 1440]
--url, -u URL to run the mabl test against [string]
--credentials-id, --creds Credentials ID to run the test with [string]
--data-table-id Run test using all the scenarios from the Data table ID [string]
--scenario-id Run test using an specific scenario [string]
--basic-auth-credentials-id, --basic-creds Basic Authentication credentials for adding basic auth headers to test run [string]
--headless Should the test run headless or not [boolean] [default: false]
--highlights Highlight elements before interacting with them. Highlighting introduces a small delay for each step. [boolean] [default: false]
--keep-browser-open Prevent the browser from closing at the end of a test. [boolean] [default: false]
--reporter Output test run information with specified reporter. [string] [choices: "mochawesome", "mabl"]
--enable-browser-extensions Enable browser extensions on [Chrome] and [Edge] [boolean] [default: false]
--http-headers Space delimited HTTP headers added to browser requests (e.g. "x-header:foo") [array]
--user-agent Emulates a custom user-agent (e.g. "Mozilla/5.0 (Windows NT 10.0; Win64; x64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/100.0.4651.0 Safari/537.36") [string]
--interaction-speed Set the speed that mabl interacts with webpages. Overrides test run settings if specified. [string] [choices: "fast", "normal", "slow", "slower"]
--via-link Route this run's browser and test traffic through Link. Uses the environment's Link tunnels unless --link-tunnel is given. [boolean] [default: false]
--link-tunnel Link tunnel to route through (repeatable). Overrides the environment's Link tunnels. Requires --via-link. [array]
--allow-billable-features Allow execution of billable features like AI assertions in CLI runs [boolean] [default: false]
--artifacts-dir Directory to write observation artifacts (screenshots). Defaults to a temp directory. [string]
Examples:
mabl tests run --id {id} --headless run test locally by id in headless mode
mabl tests run --run-id {test-run-id} run a test locally using the test configuration from a cloud run
mabl tests run-cloud
Run test(s) in the mabl cloud
mabl tests run-cloud
Options:
--version, -v Show version number [boolean]
--help, -h Show help [boolean]
--id The id of the test to run [string]
--deployment-id, -d Deployment to run the mabl tests against [string]
--url, -u Alias for app-url [string]
--app-url Application/web URL to run the mabl test against [string]
--api-url API URL to run the mabl test against [string]
--basic-auth-credentials-id, --basic-creds Basic Authentication credentials to run the test with [string]
--browsers, -b Space delimited browsers to test against (e.g. "chrome edge firefox") [array] [required] [choices: "chrome", "edge", "firefox", "webkit"] [default: "chrome"]
--api-key, -k API key (found in the mabl web app) [string]
--mabl-branch Mabl branch to run test against [string]
--branch-changes-only Only execute tests changed on specified branch [boolean] [default: false]
--revision, --rev Code revision hash (application under test) [string]
--labels Space delimited test labels. Run tests that match any label. [array]
--exclude-labels Space delimited test labels. Exclude tests that match any label. [array]
--workspace-id, -w Workspace to run against [string]
--application-id, -a Mabl application to run under. Specify to ensure the test runs with the right URLs. Consider also using the environment-id flag. [string]
--environment-id, -e Mabl environment to run under. Specify to ensure the test runs with environment variables and the latest find information. Consider also using the application-id flag. [string]
--credentials-id, --creds Credentials ID to run the test with [string]
--locale Locale to run the test in, e.g. en-US [string]
--timezone-id Identifier of the timezone to run the test in, e.g. America/Buenos_Aires [string]
--http-headers Space delimited HTTP headers added to browser requests (e.g. "x-header:foo") [array] [default: []]
--prompt Prompt to confirm execution selections [boolean] [default: true]
--no-prompt, --yes Do not prompt to confirm execution selections
Examples:
mabl tests run-cloud --id {id} run test by id
mabl tests run-cloud --labels {label1} {label2} run tests by test label
mabl tests run-mobile
Run a mobile test locally
mabl tests run-mobile
Options:
--version, -v Show version number [boolean]
--help, -h Show help [boolean]
--id The id of the test to run [string]
--build-file-path, --app-file The path to the mobile application binary [string]
--build-file-id The ID of a previously uploaded mobile app file [string]
--platform The mobile platform [string] [choices: "android", "ios"] [default: inferred from app binary extension]
--workspace-id, -w Workspace to run against [string]
--credentials-id, --creds Credentials ID to run the test with [string]
--environment-id, -e Mabl environment to run under. Specify to ensure the test runs with environment variables. [string]
--from-plan-id The plan id to get a list of tests from.
Note: running tests with the --from-plan-id option is not a plan run. Advanced plan configurations, such as stages, browser settings or shared variables, are not applied. [string]
--run-id The id of the test run to pull config from [string]
--device Full name of the device to use for the test [string]
--mabl-branch Mabl branch to run test against [string]
--branch-changes-only Only execute tests changed on specified mabl branch [boolean] [default: false]
--labels Space delimited test labels. Run tests that match any label. [array]
--exclude-labels Space delimited test labels. Exclude tests that match any label. [array]
--allow-billable-features Allow execution of billable features like AI assertions in CLI runs [boolean] [default: false]
Examples:
mabl tests run-mobile --id {id} --app-file {path} --platform {platform} run mobile test locally by id
mabl tests search
Search tests by relevance using the text + semantic search agent
mabl tests search {query}
Positionals:
query Relevance query: natural language, keywords, or an exact name or id [string] [required]
Options:
--version, -v Show version number [boolean]
--help, -h Show help [boolean]
--context Extra context for the search agent, e.g. a code-change overview (max 8000 chars) [string]
--application-id, -a Scope the search to this application [string]
--labels Space delimited labels; results must carry every label (exact match, max 20) [array]
--test-type Filter by test type [choices: "browser", "mobile"]
--platform Filter mobile tests by platform [choices: "ios", "android"]
--updated-after Only return tests updated after this ISO-8601 timestamp [string]
--include-chunks Include matched step chunks on semantically-surfaced results [boolean] [default: false]
--limit, -l The maximum number of tests to return (1-200) [number] [default: 20]
--output, -o Specify result output format [choices: "json", "yaml", "table"] [default: "json"]
--workspace-id, -w Workspace to search tests in [string]
Examples:
mabl tests search "tests covering login and password reset" Natural-language relevance search
mabl tests search "checkout payment" --test-type browser -o table Keyword search, filtered, human-readable
mabl tests search {test-id} Id fast-path: returns just that test, no LLM calls
mabl tests search 'auth token refresh' -o json | jq -r '.[].id' | xargs -I{} mabl tests run-cloud --id {} -b chrome Pipe matched ids into another command
Smart search of browser and mobile tests, combining full-text and semantic matching. Well-suited to discovery and CI gates, but takes time to do search. For exact-label or full listings use 'tests list'. Matches are JSON on stdout by default (pass -o table for a human view); the id field composes with 'tests run --id' and 'tests export'. No relevant matches will exit 0 with empty list; errors go to stderr with exit 1.
mabl tests versions
List the versions of a test
mabl tests versions {id}
Positionals:
id The id of the test whose versions to list [string] [required]
Options:
--version, -v Show version number [boolean]
--help, -h Show help [boolean]
--output, -o Specify result output format. Omit for the human-readable listing. [choices: "json", "yaml"]
mabl users list
List users from a workspace
mabl users list
Options:
--version, -v Show version number [boolean]
--help, -h Show help [boolean]
--workspace-id, -w Workspace to list users for [string]
--limit, -l The number of users to return [string] [default: 10]
--output, -o Specify result output format [choices: "json", "yaml"]
mabl workspaces copy
copy data from one workspace to another
mabl workspaces copy
Options:
--version, -v Show version number [boolean]
--help, -h Show help [boolean]
--from The workspace from which to copy [required]
--to The workspace the data will be copied into [required]
--include-defaults Include default tests when copying [boolean] [default: false]
--included-tests List of test ids to include with the copy. If empty, all tests will be copied. [array] [default: []]
--excluded-tests List of test ids to exclude from the copy. If a test is in both the include and exclude list, it will be excluded. [array] [default: []]
mabl workspaces describe
Describe a specific workspace
mabl workspaces describe {id}
Options:
--version, -v Show version number [boolean]
--help, -h Show help [boolean]
--output, -o Specify output format [choices: "json", "yaml"]
mabl workspaces list
List your workspaces
mabl workspaces list
Options:
--version, -v Show version number [boolean]
--help, -h Show help [boolean]
--limit, -l The number of workspaces to return [default: 10]
--output, -o Specify result output format [choices: "json", "yaml"]