Documentation
Troubleshooting
Start with tested doctor. Then match the symptom below.
Run doctor first
tested doctor
tested doctor --jsonHard FAILs must be green before push. WARNs are okay to understand.
tested: command not found
Install the CLI, or skip local install and use the Action. After install, td is the same CLI. See Install.
pnpm add -D @tested/cli
# one-off
npx @tested/clitested doctor FAIL under Node 24
Need Node 24 or newer. Doctor exits 1 until you upgrade.
No coverage file
tested run writes coverage/coverage-final.json even if tests fail. If the file is still missing, the runner is not emitting Istanbul/V8 JSON. Run the runner with coverage yourself, then tested diff and tested check.
invalid_credentials on push
- Install tested-dev-app, then mint the token at
https://app.tested.dev/repos/{owner}/{name}/settings. It must match the repo in the app - Env is
TESTED_TOKENorTESTED_TOKEN_FILE. Value is 64 hex characters. Settings shows it once - After rotate, update the
TESTED_TOKENsecret the same day TESTED_API_URLmust behttps://app.tested.dev(not a random preview deploy unless it shares the same DB)- Repo must exist in the app (open it once after GitHub App install)
0 repos after install
- Confirm tested-dev-app is installed on the correct GitHub user/org
- Sign out/in once; open
/reposagain - Install-before-login needs membership sync. Open the app after install
Empty 30-day chart
Chart is mainline only. PR pushes do not fill it. Upload with tested push --mainline or Action mainline: true on default branch.
Patch gate skipped
Empty patch (no new executable lines) skips patch threshold by design. Project threshold still runs.
Share link 404 / expired
- Public shares TTL ~30d; private shorter
- Owner can revoke all shares from repo Settings
Sticky / App checks missing
- Hobby or Team plan required for sticky comments and App-posted required checks
- tested-dev-app must stay installed
- Free plan: share URL still works. You can still require the Action job in branch protection
Fork PR push failed
The gate works on fork PRs. push: true fails without secrets. GitHub does not pass repository secrets to workflows from forks.
Still stuck? Open a share of what tested doctor --json prints (redact tokens). See the CLI docs.