Skip to main content
Once a test exists, you can change its metadata, replace its plan or code, or remove it — all from the CLI.

Creating Tests

Author new tests from the CLI.

Editing a test

Metadata (name, description, priority) — and, for backend tests, the dependency declarations (--produces / --needs / --category, repeatable; echoed back by test get) — use test update:
Frontend plan steps — use test plan put:
The --steps file must contain a JSON object with a planSteps array (≤ 200 steps, ≤ 256 KB). Pass --expected-step-count <n> as an optional concurrency check — the server returns 412 if the current step count differs, preventing a silent overwrite. Backend test code — use test code put:
--expected-version checks the codeVersion (e.g. v3) you received from the last create or update. If the test has a newer version, the CLI exits with a conflict (exit 6) — re-fetch the current code and retry. --force overwrites regardless of the current version. The two flags are mutually exclusive. codeVersion is an opaque version token that changes on every code change. It prevents two agents (or a human and an agent) from silently overwriting each other’s edits.

The Agent Loop

More on safe concurrent edits.

Deleting tests

Delete a single test — --confirm is required:
Delete multiple tests in one call:
The CLI prints a summary line: Deleted N, Skipped M, Failed K. A 404 response counts as skipped rather than an error, so it is safe to pass IDs that may have already been deleted. Exit codes: 0 if all targeted tests were deleted or skipped; 1 if any deletion failed; 5 for validation errors.

Where to Go Next

Creating Tests

Author frontend plans and backend code, single or in batches

Running Tests

Trigger runs, poll for verdicts, and handle timeouts

Reading Results

Fetch failure bundles, steps, and run history

Command Reference

Full flag listing for every command