# Runs we could not finish

> When a problem on our side stops a run, it costs nothing.

Source: https://rehearsal.dev/docs/billing/runs-we-could-not-finish

Sometimes a problem on our side stops a run. A server of ours may stop, or a browser may fail to start. That is ours to fix, so you pay nothing for the run.

## What Rehearsal does first

When a run stops moving, Rehearsal starts it again by itself. It keeps the results the run already has and runs the tests that are left. A restart uses no extra test runs.

After three restarts, Rehearsal stops trying. The run then ends as **Could not run**.

## What it costs

Nothing. A run that could not run counts towards nothing on your plan. That includes the tests that passed before it stopped.

It says nothing about your app either. The run is marked **Could not run**, never **Failed**.

## Where you see it

| Where | What it says |
| --- | --- |
| The run | "Something on our side stopped this run. It counts towards nothing, so run it again when you are ready." |
| The list of runs | "Rehearsal could not finish this run. It costs nothing." |
| GitHub | "Could not run these tests. You were not charged." The check asks for action and never passes, so a required check keeps blocking the merge. |
| The CLI | `rehearsal runs wait` reports the verdict `could_not_run` and exits with `5`. |
| Run reports by email | The report says the run did not finish and was not counted. |

## Run it again

Press **Run again** on the run when you are ready. The new run checks the same test versions at the same addresses. From the terminal, use the run's number or identifier:

```sh
rehearsal runs rerun <run-id>
```

On GitHub, re-run the check. The new run counts like any other run.

## Next steps

- Read [what counts as a test run](https://rehearsal.dev/docs/billing/plans-and-runs.md).
- Learn to [read a run](https://rehearsal.dev/docs/tests/read-a-run.md) and its results.
- See how [checks on commits](https://rehearsal.dev/docs/github/checks.md) report each run.
