Squally and Currents.
Side by side, area by area.
As of 12 November 2026, based on public documentation.
Squally
Squally is a hosted service that collects Playwright results from CI through its own reporter and shows runs, tests, errors and pull requests, with flaky and failure rates per test.
Currents
Currents is a hosted reporter, dashboard and test orchestrator for Playwright, with reporters for Jest, the Node.js test runner and Cypress and a JUnit XML upload for other frameworks.
At a glance
✓ documented and available · ✗ not offered · Partial: with documented limits · Not documented: not found in the public documentation.
| Area | Squally | Currents |
|---|---|---|
| Setup | SquallyYesPlaywright reporter; results arrive while the suite runs | CurrentsYes@currents/playwright reporter or the pwc command |
| Hosting and data location | SquallyHosted in the EU (Frankfurt) | CurrentsDocumented region: AWS us-east-1 (USA) |
| Self-hosting | SquallyNoNot offered | CurrentsPartialDocker Compose and Helm deployment repositories; container images through Currents |
| Flaky test detection | SquallyYesRetry-based per run; flaky rate per test | CurrentsYesRetry-based: did not pass on the first attempt; quarantine rules |
| History and retention | SquallyYesRuns 30, 60 or 90 days by plan; artifacts 7 or 21 days | CurrentsYesSet per data type: results, test details, artifacts, analytics |
| Pull requests and GitHub | SquallyYesGitHub App: a check per commit, an optional pull request comment, a Pull requests page | CurrentsYesGitHub App: commit status, pull request comment, optional inline comments |
| GitHub permissions | SquallyChecks: read and write · Pull requests: read and write · Metadata: read-only (mandatory) · Organization members: read-only · No access to repository contents (code) | CurrentsIssues: read and write · Pull requests: read and write · Commit statuses: read and write · Metadata: read |
| Error grouping | SquallyYesFingerprint of the normalised error message and the test file | CurrentsYesErrors classified by category, action and target |
| Traces, screenshots and video | SquallyPartialScreenshots, Playwright traces and the browser console; no video | CurrentsYesScreenshots, videos, traces and terminal output |
| API and MCP | SquallyYesRead-only REST API; local MCP server with 7 read-only tools (Standard and Pro) | CurrentsYesREST API (read-only or read and write keys), webhooks, hosted and local MCP server |
| Test management | SquallyNoNot offered | CurrentsNot documentedRules to skip, quarantine or tag tests |
| Frameworks | SquallyPlaywright | CurrentsPlaywright, Jest, Node.js test runner, Cypress; JUnit XML upload (for example Vitest) |
| Notifications and reports | SquallyYesSlack, weekly email report, printable run report | CurrentsYesSlack, Microsoft Teams, scheduled reports, Jira, Linear |
Area by area
Setup
Squally
You add the npm package squally-reporter as one line in playwright.config.ts and store the project's ingest key as a CI secret. Results arrive while the suite runs, with no upload step afterwards; it needs @playwright/test 1.30 or later and Node 20.18.1 or later.
Runs are recognised on GitHub Actions, GitLab CI, Azure Pipelines, Jenkins, Buildkite, Travis CI and Drone, and the shards of one CI run become one run.
Currents
@currents/playwright is added as a Playwright reporter, or the pwc command runs Playwright with it; a currents.config.ts holds the record key and project ID. Parallel CI machines join one run through a shared CI build ID.
The CI guides cover GitHub Actions, GitLab, Jenkins, CircleCI, Buildkite, Azure DevOps, AWS CodeBuild, Harness and Nx. The same package includes pwc-p, which hands spec files to idle CI machines from a shared queue.
Hosting and data location
Squally
Squally is a hosted service. It is hosted in the EU (Frankfurt).
The privacy policy lists the providers involved and what each one processes.
Currents
Currents documents its hosting on AWS in the us-east-1 region (USA). Its sub-processor list names providers in the U.S., including OpenAI and Anthropic while AI features are enabled.
Artifacts can be stored in a customer-owned S3-compatible bucket (“Bring your own storage”).
Self-hosting
Squally
Squally is offered as a hosted service. A self-hosted or on-premises edition is not offered.
Currents
Self-hosting is listed by the vendor. Public Docker Compose and Helm repositories describe the deployment.
The container images come from a private registry, with access through Currents, and MongoDB, ClickHouse, Redis and object storage are required.
Flaky test detection
Squally
A test's result in a run counts as flaky when it failed first and then passed on a Playwright retry, so retries need to be turned on.
For each test and period, Squally shows runs, stability, flaky rate (flaky runs ÷ runs), failure rate and the CI time that retries and failures cost. Squally does not quarantine or skip tests.
Currents
Currents defines a flaky test as one that did not succeed on its first attempt, which requires retries. The Test Explorer shows a flakiness rate and its impact over time.
Quarantine is a rule (“Currents Actions”) with an expiry date.
History and retention
Squally
Runs and results are kept 30 days on the Free plan, 60 days on Standard and 90 days on Pro.
Screenshots, traces and browser consoles are kept 7 days for attempts that passed on the first try and 21 days for failures and retried tests, on every plan. Deletion runs once a day.
Currents
Retention is documented per data type: test results three months in hot and nine months in cold storage, test details 30 plus 60 days, artifacts 7 days for passed and 21 days for failed, flaky or quarantined tests, and analytics 12 months.
Per-plan figures differ between their pages; see their docs.
Pull requests and GitHub
Squally
A GitHub App posts a check on every commit, one per CI job, and, if switched on for the project, one comment per pull request that is updated with each run. The Pull requests page compares each pull request's runs with its target branch.
Runs from GitLab, Azure Repos and Bitbucket are collected as well; checks and comments are posted to GitHub.
Currents
The GitHub App sets a commit status, posts one run comment per pull request and can add inline comments on changed spec files; a Pull Requests view lists each pull request's runs.
GitLab gets merge request comments and commit statuses through an OAuth app with the api scope; Bitbucket gets the Pipelines build status.
GitHub permissions
Squally
Checks: read and write. Pull requests: read and write. Metadata: read-only (mandatory). Organization members: read-only, used while connecting to confirm that the person installing the app is an owner of the GitHub organization.
No access to repository contents (code).
Currents
The GitHub App requests Issues, Pull requests and Commit statuses (read and write) and Metadata (read).
Per their docs, changed-file names and diffs are read when inline comments are switched on; other source code is not read.
Error grouping
Squally
Failures are grouped by a fingerprint of the normalised error message and the test file, so one error can be followed across runs and tests.
The Error explorer shows each error's runs, tests, failed and flaky rate, first and last seen, and a category derived from the error text.
Currents
The Errors Explorer classifies each error into category, action and target and groups errors by any combination of these fields.
It shows occurrences, affected tests and affected branches.
Traces, screenshots and video
Squally
The reporter uploads screenshots, Playwright traces and the browser console; video is not uploaded.
A trace opens in Playwright's Trace Viewer (trace.playwright.dev) through a link that expires after ten minutes. Attempts that did not pass on the first try also carry their recorded steps.
Currents
The reporter uploads screenshots, videos, traces and terminal output.
Traces open in Playwright's Trace Viewer or through time-limited Trace API links, and the IDE extension has an inline trace viewer.
API and MCP
Squally
On the Standard and Pro plans: a read-only REST API with organization read keys, documented in OpenAPI, and the MCP server squally-mcp, which runs locally and offers 7 read-only tools.
On attempt and run pages, “Fix in your agent” builds a prompt for your own coding agent; Squally sends nothing to an AI provider. Outgoing webhooks and a write API are not offered.
Currents
A REST API with organization-wide read-only or read and write keys, HTTP webhooks for run events, and an MCP server, hosted or local, whose tools include write actions such as quarantine rules.
“Fix with AI” hands the failure context to your own coding agent.
Test management
Squally
Squally has no test case management, manual runs or test plans.
Currents
Currents Actions apply skip, quarantine and tag rules to selected tests.
Manual test case management is not documented.
Frameworks
Squally
Squally reads Playwright results through its own reporter. Other test frameworks are not supported.
Currents
Reporters exist for Playwright, Jest and the Node.js test runner, and packages for Cypress. Other frameworks, such as Vitest, send JUnit XML through an upload command.
Notifications and reports
Squally
A Slack message per CI run through an incoming webhook, and a weekly email report per project on the Standard and Pro plans.
A run report can be printed, saved as PDF or copied as Markdown. GitHub checks and pull request comments are described above.
Currents
A Slack app, Microsoft Teams through an incoming webhook, and scheduled reports by email or Slack.
Failures can be turned into Jira or Linear issues.
Sources
As of 12 November 2026, based on public documentation. Currents: its own documentation, product pages and repositories. Squally: its documentation and code. Something out of date or wrong? Write to support@squally.dev and we will correct it.
Squally
- Setup: docs.squally.dev/reporter/setup
- CI providers: docs.squally.dev/ci
- Sharded runs: docs.squally.dev/ci/sharded-runs
- Hosting: docs.squally.dev/security/hosting
- Providers: squally.dev/privacy#sub-processors
- Flaky detection: docs.squally.dev/guides/test-metrics
- Retention: docs.squally.dev/security/retention
- GitHub: docs.squally.dev/integrations/github
- Pull requests: docs.squally.dev/app/pull-requests
- Error grouping: docs.squally.dev/app/errors
- Traces and screenshots: docs.squally.dev/guides/debugging-basics
- Read API: docs.squally.dev/read-api/overview
- MCP server: docs.squally.dev/agents/mcp-server
- Fix in your agent: docs.squally.dev/guides/debug-with-ai
- Slack: docs.squally.dev/integrations/slack
- Weekly reports: docs.squally.dev/guides/email-reports
- Run report: docs.squally.dev/app/runs/report
Currents
- Overview: docs.currents.dev
- Setup: docs.currents.dev/getting-started/your-first-playwright-run
- CI setup: docs.currents.dev/getting-started/ci-setup
- Orchestration: docs.currents.dev/guides/test-orchestration
- Hosting: currents.dev/security
- Sub-processors: currents.dev/sub-processors
- Bring your own storage: docs.currents.dev/resources/data-privacy/byos
- Helm charts: github.com/currents-dev/helm-charts
- Docker: github.com/currents-dev/docker
- Flaky tests: docs.currents.dev/dashboard/tests/flaky-tests
- Currents Actions: docs.currents.dev/guides/currents-actions
- Data retention: docs.currents.dev/resources/data-privacy/data-retention
- GitHub App: docs.currents.dev/resources/integrations/github/github-app
- GitLab: docs.currents.dev/resources/integrations/gitlab
- Bitbucket: docs.currents.dev/resources/integrations/bitbucket
- Pull requests: docs.currents.dev/dashboard/runs/pull-requests
- Errors Explorer: docs.currents.dev/dashboard/test-suite-performance-explorer/errors-explorer
- Attachments: docs.currents.dev/dashboard/runs/run-attachments
- Trace API: docs.currents.dev/ai/reference/trace-api
- REST API: docs.currents.dev/api
- Webhooks: docs.currents.dev/resources/integrations/http-webhooks
- MCP server: docs.currents.dev/ai/reference/mcp-server
- Fix with AI: docs.currents.dev/ai/agentic-testing/fix-failing-tests
- Reporters: docs.currents.dev/resources/reporters
- Slack: docs.currents.dev/resources/integrations/slack
- Microsoft Teams: docs.currents.dev/resources/integrations/microsoft-teams
- Automated reports: docs.currents.dev/dashboard/automated-reports
- Integrations: docs.currents.dev/resources/integrations
Currents is a trademark of its owner. Squally is not affiliated with, endorsed by or sponsored by the makers of Currents.