> For the complete documentation index, see [llms.txt](https://docs.currents.dev/llms.txt). Markdown versions of documentation pages are available by appending `.md` to page URLs; this page is available as [Markdown](https://docs.currents.dev/guides/missing-runs.md).

# Missing Runs

What to check when test results don't reach Currents, on the first run or after runs stop arriving from CI

Use this page when a run doesn't show up in Currents, or when runs from CI stopped arriving. To have a coding agent do the checks, paste this prompt in the repository with your tests:

```
Find out why test results from this repository don't reach Currents. Read https://docs.currents.dev/guides/missing-runs.md and follow it.
```

A run reached Currents when the test output has a link to it. Playwright prints `Run URL: https://app.currents.dev/run/...` when the run starts. Jest, Vitest and JUnit print the link when `currents run upload` finishes. Look for that line first, locally or in the CI log.

## The first run doesn't show up

Check these in order.

1. **The reporter ran.** Playwright prints `Currents reporter: <version> recording to project <project-id>` at the start. If the line is missing, `currentsReporter()` is not in the `reporter` list of `playwright.config`, and the tests don't run with `npx pwc`, which adds the reporter itself. A `--reporter` flag on the command line replaces the reporters in the config, so it removes Currents too.
2. **The results were uploaded.** Jest, Vitest and JUnit don't send results during the test run.
   * Jest: the run writes a `.currents` folder, and `currents run upload` sends it. Run `currents run upload` with the same environment variables as the test run.
   * Vitest and JUnit: the run writes a JUnit XML file, and `currents run upload --input-format junit --input-file <file>` converts and sends it. Check that the XML file exists at the `--input-file` path. Vitest writes it only when the `junit` reporter is on and `outputFile.junit` is set.
3. **The Project ID and Record Key are set.** The reporter reads `CURRENTS_PROJECT_ID` and `CURRENTS_RECORD_KEY`, or the values in `currents.config` or the command line flags. Currents rejects a Record Key that was deleted. See [Record Key](/guides/record-key.md).
4. **The debug log.** If the checks above pass, turn on debug mode and look for the error. The troubleshooting page for each framework shows how, and what to send to support: [Playwright](/guides/troubleshooting-playwright.md), [Jest](/getting-started/other-frameworks/jest/troubleshooting.md), [Vitest](/getting-started/other-frameworks/vitest/troubleshooting.md), [Cypress](/getting-started/other-frameworks/cypress/troubleshooting-cypress.md).

## Runs stopped arriving from CI

1. **Find the last run that arrived.** In the Currents dashboard, open the project's runs and note the branch, commit and date of the latest one.
2. **Compare the CI configuration since that commit.** Look for:
   * the Currents reporter or `currents run upload` step removed, or the test command changed (for example, a new `--reporter` flag)
   * the test job skipped by new branch or path filters, or the tests no longer running at all
   * for Jest, Vitest and JUnit: the job stopping when tests fail, before the upload. Make `currents run upload` run whatever the test result.
3. **Check that the job can read the Record Key.** A job without the secret reports nothing. Common causes:
   * GitHub Actions: pull requests from forks get no secrets.
   * GitLab: protected variables are available only on protected branches and tags.
   * CircleCI: the job's workflow doesn't attach the context that holds the secret.
   * Azure DevOps: the pipeline doesn't link the variable group that holds the secret.
   * The Record Key was deleted or rotated in Currents, and CI still uses the old one.
4. **Check the CI Build ID on retries.** If a retried build reuses the CI Build ID of a finished run, Currents doesn't accept new results for it. See [CI Build ID](/guides/parallelization-guide/ci-build-id.md).

If none of these explain it, collect the debug log as described on the framework's troubleshooting page and [contact support](/resources/support.md).


---

# Agent Instructions
This documentation is published with GitBook. GitBook is the documentation platform designed so that both humans and AI agents can read, navigate, and reason over technical content effectively. Learn more at gitbook.com.

## Querying This Documentation
If you need additional information that is not directly available in this page, you can query the documentation by asking a question.

Perform an HTTP GET request on the following URL with the `ask` and `goal` query parameters:

```
GET https://docs.currents.dev/guides/missing-runs.md?ask=<question>&goal=<user_goal>
```

`ask` is the immediate question: it should be specific, self-contained, and written in natural language.
`goal` is what the user is ultimately trying to achieve, the reason they need the answer. Sharing it helps GitBook give you a better, more relevant answer. A goal is most helpful when it describes the outcome the user wants rather than restating the question. For example, with `ask=how do I create an API token`, a goal like `automate deployments from our CI pipeline` lets GitBook tailor the answer to that use case.

The response will contain a direct answer to the question and relevant excerpts and sources from the documentation.

Use this mechanism when the answer is not explicitly present in the current page, you need clarification or additional context, or you want to retrieve related documentation sections.
