Skip to main content
Find the symptom in the Quick Reference table, then expand the matching section for the fix.

Quick Reference

Streaming and result errors

@testdino/playwright streams results as your tests run. Most failures to see a run are a token or a config problem.
No token reached TestDino, so the run is not streamed. npx playwright test prints Token is required but not provided. npx tdpw test prints Token is required to run tests with TestDino. Both mean TESTDINO_TOKEN is unset or empty and no token was passed in config or on the command line.TestDino authenticates with a project API key from Project Settings → API Keys. Confirm the variable is set in the environment that runs the tests, then run with debug output:
  • In CI, store the key as a secret and expose it as TESTDINO_TOKEN to the test step. Never hardcode it.
  • Secret names are case-sensitive: a secret saved as TestDino_Token does not resolve as TESTDINO_TOKEN.
  • See API Keys for creating keys.
TestDino rejected the API key, so the run is not streamed. The key is mistyped, expired, or no longer exists.Create a new key in Project Settings → API Keys in the project you want the run in, update your TESTDINO_TOKEN secret, and run again. See API Keys.
The token is not a project API key. Streaming accepts only project API keys, which start with td_api_. A Personal Access Token (td_pat_) is rejected.Create an API key in Project Settings → API Keys and set it as TESTDINO_TOKEN. See API Keys.
The reporter could not start a session with TestDino, so the run is not streamed. The text after the colon gives the reason. It covers failures other than token and plan errors, such as a network that cannot reach TestDino.Confirm the machine running the tests can reach reporter.testdino.com over HTTPS. Behind a firewall or proxy, allowlist the hosts on Network Endpoints. Re-run with --debug for details:
npx tdpw test could not start Playwright. It prints Playwright is not installed or npx is not available. Install Playwright in the project, then run again:
Tests run but no run shows in the dashboard. Work through these in order:
  1. Reporter not added. With npx playwright test, confirm @testdino/playwright is in the reporter array in your Playwright config. npx tdpw test adds the reporter for you.
  2. Token not set. Confirm TESTDINO_TOKEN is set in the environment that runs the tests.
  3. Wrong project. A run goes to the project that owns the API key. Confirm the key belongs to the project you are viewing.
  4. Debug check. Re-run with npx tdpw test --debug to see the exact stream target and any errors.
The FAQ walks through this case in more detail under Why are my streamed runs not appearing?.
You passed a TestDino flag to npx playwright test. Playwright does not define --tags, --token, --ci-run-id, --split, --split-id, or --no-artifacts, so it exits before the test run starts. --tags is a tdpw flag.Use the TestDino wrapper:
To keep npx playwright test, set the matching environment variable or config field. --split has no alternative: it is tdpw only. --tags labels the test run. It does not filter which test cases run. Use Playwright --grep to filter. Learn every option in CLI flags.

CI and pull request errors

These appear once tests run inside a pipeline: shards do not group into one run, or the result never links to a pull request.
Each shard streams its own run, so the dashboard shows several partial runs instead of one. Pass the same --ci-run-id to every shard so TestDino groups them into a single run:
Key requirements:
  • Every shard must use the same --ci-run-id value for the run.
  • Derive the ID from a stable per-run CI value (for example, the workflow run ID), not a per-shard value.
  • The exact variable to use is provider-specific, so follow the sharding section in your CI provider guide.
A pull request shows no TestDino check or comment even though the run streamed. Both depend on TestDino linking the run to a commit and the connected repository.Common causes:
  • GitHub Checks is off. Enable it in the CI Checks tab. See GitHub status checks.
  • Comments toggle is off. Enable comments in Settings → Integrations → GitHub.
  • No commit SHA. Run tests inside CI so git context is captured automatically.
  • Repository mismatch. The TestDino project must be connected to the same repo the PR lives in.
  • App not installed. The GitHub App must be installed with access to the repository.
A check can also fail while the pass rate looks high when a mandatory tag test fails: that overrides the pass rate. The FAQ covers this under Why might a TestDino CI Check fail even if my pass rate looks high?. For repo connection and comment settings, see the GitHub integration guide.
A run appears without an environment label and drops out of environment-filtered views. The branch matched no mapping pattern. The usual cause is a regex mistake:
  • Unanchored: dev matches any branch that contains “dev”. Anchor it: ^dev/.
  • Too broad: .* or .+ matches every branch and overrides your specific rules.
  • Invalid regex: an unclosed bracket or a bad escape never matches.
Test patterns on regex101.com before saving, and add a catch-all rule for branches outside your naming convention. See Environment mapping for the full pattern reference.

Sign-in and access errors

These errors block users from signing in or performing actions within the organization. Most stem from SSO configuration issues or insufficient role permissions.
SSO errors trace to a mismatch between your identity provider and the values saved in TestDino. The most common ones:For the full setup and OIDC troubleshooting, see Single Sign-On.
Permissions are organization-level, so a blocked action usually means your role is too low, not a bug. Common cases:
  • Cannot invite a member. Only Owners and Administrators can invite. The org may also be at its member limit for the plan.
  • Cannot change a role. You can only assign roles at or below your own. Administrators cannot grant the Owner role or change their own role.
  • Cannot delete a run or test case. Members cannot delete; Viewers are read-only.
  • Cannot manage an integration. Project-level integrations (GitHub, GitLab, Slack, monday, Azure DevOps) need Owner or Administrator.
  • Cannot manage billing. Only Owners and Billing Managers can change a subscription.
See the permission matrix and each case in Users, Roles & Permissions.

API errors

These come from the Public API and the MCP server, which both use the td_pat_ Personal Access Token. Authentication, scope, and rate limits are the usual causes.
The full error table is in API conventions, and the auth setup is in the API quickstart.
A 429 RATE_LIMIT_EXCEEDED means you crossed a per-token window:
Read RateLimit-Reset from the response headers and wait that many seconds, or back off exponentially. See Rate limits for the full header reference.

Integration errors

Slack and MCP each have their own connection and configuration failures. These accordions cover the top symptoms and link to the full guides.
No TestDino messages arrive in Slack. Check the connection and the project’s notifications:
  • App not connected, or no notification saved. Verify the connection in Project → Integrations → Slack App, then confirm at least one notification exists with a destination under Where it goes. Use Send test to post a real message.
  • Private channel not listed. Add the TestDino app to the channel first (channel name → Integrations → Add an App), then click Refresh in Slack settings.
  • Messages in the wrong channel. A notification posts only to the channels and users listed under Where it goes, with no fallback channel. Check the destinations on each notification in the list.
  • Nothing sent for a matching run. Open the notification and read the preview. When a setting would stop it from sending, the preview names that condition. Check When it sends, Only these branches, and Only these environments.
  • Annotation notification silent. The Annotation key on the notification must equal the annotation type or description in your test code.
Each case is detailed in Slack alerts.
The MCP server has its own setup, authentication, and network failures, with a dedicated page. The categories:
  • Installation: npm ERR! 404 Not Found, command not found: testdino-mcp.
  • Editor integration: the server does not appear in Claude Code, Cursor, or Claude Desktop.
  • Authentication: health returns “Invalid token” or “No projects found”.
  • Network: ECONNREFUSED, timeouts, or a 429 from the server.
Each category and its fix is in MCP troubleshooting.

Plan and seat limits

When the organization reaches a plan limit, tests still run but TestDino stops accepting new data. 2 limits apply. Test case limit. The monthly test case limit is shared across all projects in your organization. When it runs out, the reporter prints 1 of these and the run is not recorded: New results resume when you upgrade the plan, add executions for the current cycle, or the limit resets on your billing date. Open Billing & Usage to see usage and the reset date. Seat limit. New members count against the plan’s seat cap. At the cap, the invite dialog shows Plan seat limit reached. Upgrade or remove members to invite more., and a new member’s first SSO sign-in fails with Seat limit reached. Existing members signing in again are never blocked. Fix: Free a seat by removing an inactive member, or upgrade your plan. See Billing & Usage to review your plan and usage.

Other setup gaps

  • Commit, branch, or author blank. TestDino reads git metadata from the repository, so run tests inside an initialized git repo.
  • Run tags missing from a run. --tags works on npx tdpw test only. npx playwright test --tags exits with error: unknown option '--tags' and never streams a run. For npx playwright test, set tags in the reporter options; TESTDINO_TAGS and testdino.config.ts are read by tdpw only, from version 2.7.6. When tags do arrive, TestDino keeps the first 50, trims each to 100 characters, strips control characters, and drops duplicates and empty values. Learn how to set run labels in Run-level tags.
  • Errors on an old runtime. @testdino/playwright needs Node.js 18+ and @playwright/test 1.52+.

Get help

Still stuck? Collect this before contacting support, so the team can reproduce it without a back-and-forth:
  • The Run ID or dashboard URL of the affected run.
  • The package version: @testdino/playwright version from your lockfile.
  • The framework and runtime: Playwright version, Node.js version.
  • The full error and stack trace.
  • The CI logs with tokens and credentials redacted.
  • The --debug output from npx tdpw test --debug.
Reach the team at support@testdino.com or on Discord. See Support for hours and response times.

Node.js Reporter

Upload flags, reporter config, and CLI commands for the Node.js CLI.

Generate API Keys

Create and scope the token the CLI and API use.

CI Setup Overview

Per-provider pipeline guides with sharding and artifact handling.
Last modified on October 10, 2026