# Selectors

These are the currently implemented try selectors:

- {doc}`auto <auto>`: Have tasks chosen for you automatically.
- {doc}`fuzzy <fuzzy>`: Select tasks using a fuzzy finding algorithm and
  a terminal interface.
- {doc}`chooser <chooser>`: Select tasks using a web interface.
- {doc}`again <again>`: Re-run a previous `try_task_config.json` based
  push.
- {doc}`empty <empty>`: Don't select any tasks. Taskcluster will still run
  some tasks automatically (like lint and python unittest tasks). Further tasks
  can be chosen with treeherder's `Add New Jobs` feature.
- {doc}`release <release>`: Prepare a tree for doing a staging release.
- {doc}`scriptworker <scriptworker>`: Run scriptworker tasks against a recent release.
- {doc}`compare <compare>`: Push two identical try jobs, one on your current commit and another of your choice
- {ref}`perf <Mach Try Perf>`: Select categories of performance tests to run, and produce a before/after compare view link.

You can run them with:

```shell
mach try <selector>
```

See selector specific options by running:

```shell
mach try <selector> --help
```

```{toctree}
:caption: Available Selectors
:hidden: true
:maxdepth: 1

Auto <auto>
Fuzzy <fuzzy>
Chooser <chooser>
Again <again>
Empty <empty>
Release <release>
Scriptworker <scriptworker>
Perf </testing/perfdocs/mach-try-perf>
```
