classify
Classify the result of a test run. The agent inspects step results, screenshots,
and error details and returns a category with reasoning.
Only failed runs are classified; passing runs are skipped. Provide exactly one
selector: --run-id (one or more run IDs or URLs), --run-group-id (a run
group ID or URL), or --git-commit. Multiple failed runs are classified in
parallel with an aggregated summary.
Options
Classify one or more runs by ID or full run URL (e.g.
https://app.momentic.ai/runs/<runId>). Pass multiple space-separated values
to classify several runs in one invocation. Passing more than one run cannot
be combined with --interactive.Classify every failed run in an uploaded run group, by run group ID or full
run group URL (e.g.
https://app.momentic.ai/run-groups/<runGroupId>).Classify every failed run recorded at the given git commit SHA, across all run
groups.
When targeting a run group or commit, skip runs that already have a saved
classification. Useful for resuming a partially-completed batch.
Number of runs to classify in parallel when targeting a run group or commit.
Defaults to
4. The effective value is shown in the run banner.Output format for the classification. Defaults to
text. Use json to print
only the structured payload to stdout.Suppress the agent’s streamed reasoning. Redundant when
--output-format json
is set.Persist the classification into the run’s metadata. For local runs, this
updates the local run zip; for uploaded runs, it updates the dashboard run.
When targeting a run group or commit, each run is saved as it finishes.
After classifying, stay in an interactive terminal chat with the
classification agent. Useful for asking follow-up questions about the run (why
a step failed, what the screenshots show, related runs, etc.) without
re-running classification. Single-run only and requires a TTY; cannot be
combined with
--run-group-id, --git-commit, or --output-format json.
Type exit (or Ctrl-C) to leave; Ctrl-C during a response cancels just that
turn.Output
By default, the classification is printed as plain text:--output-format json to emit a machine-readable payload instead:
json payload is
an array, one entry per run; entries that failed to classify carry an error
field instead of a classification:
--skip-classified to retry
only the runs that did not complete.
Categories
No failures, all attempts passed.
The test is out of date because the application’s flow or UI has changed.
Updating the test to match the new behavior would permanently fix the failure.
Something clearly went wrong in the application that shouldn’t have, such as
an unexpected error message appearing or expected content failing to render.
The test can be permanently updated to prevent the failure while still
validating its original intent, and a specific authorship change can be
recommended. Timeouts, slow page loads, and any failure whose recommended fix
is to wait longer or increase a timeout do not belong here. Those are
INFRA,
even when the test could technically be edited to wait longer.Missing test data or files necessary to run the test, where the fix requires
user action outside of the test itself (e.g. a missing file for a file upload
step, or missing/incorrect credentials).
A failure unrelated to the application or application code that was caused by
an infrastructure outage, long load times, or some other outside factor.
An issue with Momentic’s own execution (e.g. incorrect cache entries,
unexpected locator redirects, obvious AI hallucinations).
The failure doesn’t fit any of the other categories.
triage
Runs the triage agent over a local results archive from
momentic run or an uploaded run group.
The agent investigates failures, groups them by shared fixes when possible,
attempts to update tests in place, and writes the outcome back to the run group.
momentic ai heal is an alias with the same behavior and flags.
When processing a local results archive, the command automatically uploads the
updated archive after processing so the dashboard and connected reporting
receive the final results and validation signal. Pass --no-upload to keep the
archive local. This automatic upload also runs after --dry-run triage.
For a copy-paste CI setup and the different integration paths, see Auto-heal
failing tests in CI.
[results] archive, --run-group-id,
--run-id, or --git-commit. When multiple runs are passed via --run-id,
they are triaged together in a single bucketing pass.
Arguments
Path to a local results archive directory written by
momentic run. The
directory must contain a run group metadata file. Omit when using
--run-group-id, --run-id, or --git-commit.Target and output
Triage an already uploaded run group by ID or full run group URL (e.g.
https://app.momentic.ai/run-groups/<runGroupId>) instead of a local results
archive. Automatic upload does not apply because there is no local archive.Triage one or more uploaded runs by ID or full run URL. Pass multiple
space-separated values to triage several runs together in one bucketing pass.
The run-group risk-summary write-back is skipped for this scope.
Triage every failed run recorded at the given git commit SHA, flat across all
run groups. The run-group risk-summary write-back is skipped for this scope.
Group failed tests and generate a validation signal without attempting or
applying repairs. A local results archive is still uploaded by default. Add
--no-upload to skip the archive upload.How an accepted repair is delivered. Accepts
pull-request,
draft-pull-request, direct-commit-except-main, patch (print a git patch
to stdout), or nothing (leave the changes on disk). Overrides the On
successful heal Healing setting
for this run.What happens to tests the agent cannot fix. Accepts
warn, fail, or
quarantine. Overrides the On failed heal Healing
setting for this run.Suppress progress output and print the triage result as JSON.
Do not automatically upload the local results archive after processing. The
generated validation signal may still update connected pull request reporting.
This flag has no effect when using
--run-group-id.Common flags
Path to the Momentic configuration file. Defaults to
momentic.config.yaml in
the current directory.When using workspaces, load the project whose name
matches the filter.
Number of healing attempts to run in parallel. Each attempt opens its own
browser session. Defaults to
1.Abort when the number of healable failed runs exceeds this threshold. Must be
a positive integer.
Exclude tests whose name matches any of the provided regex patterns from the
triage queue. Provide multiple patterns separated by spaces. A pattern only
needs to match part of the test name for that test to be skipped.
Environment
Environment to run replays in. Overrides any environment configured on the
test itself.
Override the base URL of the test or environment during the replay.
Custom headers to include in the replay. Specify multiple headers separated by
spaces.
CSV file containing input data for the replay. Each row is used as input for a
separate run.
Browser
Override the browser used for replays. Accepts
chromium, chrome, or
chrome-for-testing.Launch healing browser sessions headfully by default. Useful for visually
watching the agent work. Env:
MOMENTIC_HEADFUL_BROWSER.Device pixel ratio for the healing browser. Set to
2 on macOS Retina or
other HiDPI displays.Caching
Always save updated step caches after a successful heal, even on the main and
other protected Git branches.
Disable step caches entirely. Steps run without cached data and no caches are
saved.
Ignore previously cached heal solutions during triage so failures are healed
from scratch. Newly successful heals are still saved; step caches are
unaffected.
Quarantine
Only attempt to heal quarantined tests. Failed runs outside quarantine are
ignored.
Exclude tests whose project-relative file paths match any of the provided
regex patterns.
Setup
Command to run before the replay begins. Useful for booting a local dev
server.
Resource to wait for before the replay begins. Accepts anything supported by
wait-on.HTTP proxy used when polling
--wait-on. Provide the full URL including
protocol, optional credentials, host, and port.Timeout (in seconds) for
--wait-on. Defaults to 60. Triage fails if the
resource is not reachable in time.CI
Maximum total triage time, in minutes. When reached, in-flight healing
attempts stop and the current results are flushed.
Suppress the agent’s streamed reasoning.
Skip all confirmation prompts. Enabled by default when
CI is set.Exit codes
triage is the final status for a run group: a non-zero exit code means
something still needs your attention.
0- every failure was either successfully healed or, when On failed heal iswarn, logged as a warning. A successful heal does not fail the run on its own; the delivered fix (e.g. a pull request) is yours to review and merge.1- a test could not be healed and On failed heal isfailorquarantine, or delivering an accepted repair failed (e.g. opening the pull request errored), or the triage run itself errored out.
explore
For the conceptual overview, see the Explore agent guide.
Run the explorer agent over a git diff window. It reads the diff between two
refs, identifies user-facing changes (including backend changes that surface to
the user), and reports the user journeys that changed. With --build it also
opens a live browser session and authors or edits Momentic tests to cover them,
reusing existing tests where they already partially cover a journey.
Options
Base git ref to diff against (branch name, tag, or SHA). Defaults to the
current pull request’s base when running in CI (GitHub Actions, CircleCI,
GitLab, Buildkite, Azure DevOps); otherwise
HEAD~1.Head git ref to diff. Defaults to the current pull request’s head when running
in CI; otherwise
HEAD.Build Momentic tests for each discovered journey in a live browser session.
When omitted, the agent only discovers journeys and logs them. Defaults to
false.Custom additional prompt appended to the explorer agent’s instructions.
Overrides
--prompt-file when both are provided. Can also be set as a default
in Settings > Explore.Path to a file whose contents are appended to the explorer agent’s
instructions. Overridden by
--prompt when both are provided.-c, --config, -f, --filter, and -p, --parallel flags apply as
they do for triage.
Output behavior
When--build writes tests, the On successful explore behavior in
Settings > Explore decides what
happens to them: open a pull request, open a draft pull request, commit directly
(except on main or protected branches), print a git patch, or leave the
changes on disk. Pull requests are pushed to a momentic-explore/ branch.
To run explore on every pull request, see
Author tests from a diff in CI.