Skip to content
Latchkey

Coveralls "Couldn't find a repository matching this job" in CI

Coveralls could not match the submission to a repository in its records. The repo token is missing or belongs to a different project, or the repository was never enabled on Coveralls.

What this error means

The upload fails with "Couldn't find a repository matching this job." (often inside a 422 body) and no coverage appears on Coveralls.

Coveralls
Bad response: 422 {"message":"Couldn't find a repository matching this job.","error":true}

Common causes

The repo token is wrong or for another repository

A copied or stale COVERALLS_REPO_TOKEN points at a different project, so Coveralls cannot find this repo.

The repository is not enabled on Coveralls

The project was never added/activated on coveralls.io, so there is nothing to match the job to.

How to fix it

Enable the repo and use its token

  1. Add and enable the repository on coveralls.io.
  2. Copy that repo's token into COVERALLS_REPO_TOKEN, or use the Actions integration.
  3. Re-run so the job matches the enabled repository.
.github/workflows/ci.yml
env:
  COVERALLS_REPO_TOKEN: ${{ secrets.COVERALLS_REPO_TOKEN }}

Prefer the GitHub Action integration

The official action identifies the repository via the GitHub token, avoiding manual repo-token mismatches.

.github/workflows/ci.yml
- uses: coverallsapp/github-action@v2
  with:
    github-token: ${{ secrets.GITHUB_TOKEN }}

How to prevent it

  • Enable the repository on Coveralls before the first upload.
  • Use the repo-specific token, not one copied from another project.
  • Prefer the GitHub Action so identity is derived automatically.

Related guides

Tired of flaky CI? Latchkey auto-heals failed jobs and retries them for you. Start free →