Flake
Flake is a free, cross-platform Go command-line tool for finding, diagnosing and replaying flaky tests.
What Flake is
Flake is a free, cross-platform Go command-line tool for finding, diagnosing and replaying flaky tests. It supports pytest, Jest and Vitest, repeatedly running test suites under controlled variations such as test order, seeds, worker count, timezone, locale and sequential or parallel execution. Flake calculates failure rates and groups failures by normalized signatures. For ordering failures, it uses delta debugging to reduce the preceding test sequence and check a minimized reproduction. Each incident stores a run specification that can be rebuilt with `flake replay <id>`. A GitHub Action can write a Markdown job summary, annotate flaky test files and upload JSON, Markdown or SARIF reports. Flake uses test runners and plugins already in a project rather than installing them. It keeps state in a local SQLite database and says it does not upload source or test output. Likely secrets are redacted before storage, and secret-looking environment variable names are rejected from the allowlist. The README says there is no web dashboard, server or cloud service. With Jest, it cannot force an exact cross-file test order because Jest selects that order itself.
Good
- Supports pytest, Jest and Vitest.
- Stores incident run specifications for replay.
- Runs locally without uploading source or test output.
- GitHub Action can publish reports and annotations.
Watch out
- No web dashboard, server or cloud service.
- Cannot force exact cross-file ordering with Jest.
- Does not install project dependencies or plugins.
Who it suits
Flake suits developers using pytest, Jest or Vitest who want to identify and reproduce intermittent test failures from the command line. Its local storage and lack of a cloud service may fit teams seeking local execution.
Verdict
Flake combines failure grouping, minimized reproductions and saved replay commands for supported test runners. Its local command-line approach has limits, including Jest’s control over cross-file ordering.
The facts
Each one read from Flake's own pages, with the date it was checked.
What it does
- Availability
- The README describes Flake as a cross-platform Go CLI and provides a `go install` command and released binaries for OS and architecture combinations.checked 30 Sep 2026
- Controlled variations
- Runs can vary test order, seeds, sequential or parallel execution, worker count, timezone, locale, temporary-directory handling, and allowed environment variables.checked 30 Sep 2026
- Dependencies
- Flake uses test runners and plugins already installed in the project and does not install dependencies or plugins.checked 30 Sep 2026
- Detection
- It computes failure rates and normalizes output into stable signatures to group failures into incidents.checked 30 Sep 2026
- Detection and replay
- Flake computes failure rates, minimizes reproduction conditions, reports suspected causes from observed evidence, and saves replay commands.checked 30 Sep 2026
- Diagnosis
- For ordering failures, Flake uses delta debugging to reduce the preceding test sequence and verify a minimized reproduction.checked 30 Sep 2026
- Hosting model
- The README states that Flake has no web dashboard, server, or cloud service.checked 30 Sep 2026
- Integrations
- Flake is available as a GitHub Action that can write a Markdown job summary, annotate flaky test files, and upload JSON, Markdown, or SARIF reports as an artifact.checked 30 Sep 2026
- License
- The repository lists the MIT license.checked 30 Sep 2026
- Limitations
- With Jest, Flake cannot force an exact cross-file test order because Jest's own sequencer chooses it.checked 30 Sep 2026
- Local execution
- Flake is a cross-platform Go command-line tool, with released binaries available for operating systems and architectures on its releases page.checked 30 Sep 2026
- Privacy
- The README says Flake does not upload source or test output, and stores its state in a local SQLite database in the OS application-data directory.checked 30 Sep 2026
- Purpose
- Flake detects, diagnoses, and replays flaky tests by repeatedly running test suites under controlled variations.checked 30 Sep 2026
- Replay
- Each incident stores a run specification, and `flake replay <id>` rebuilds the recorded invocation.checked 30 Sep 2026
- Secret handling
- Flake redacts likely-secret values before storing them and rejects secret-looking variable names in the environment allowlist.checked 30 Sep 2026
- Security controls
- Flake rejects secret-looking variable names from its environment allowlist and does not vary or store likely-secret variables by default.checked 30 Sep 2026
- Supported runners
- It supports pytest, Jest, and Vitest test suites.checked 30 Sep 2026
- Supported test runners
- Flake supports pytest, Jest, and Vitest.checked 30 Sep 2026
Alternatives to Flake
- 1

TestMu AI
Free planAndroidiOSWebAPI8.3From $17 a month - 2

Qualflare
Free planAndroidiOSWebAPI8.2From $16 a month - 3

BuildPulse
Free planWebAPILinuxmacOS7.9Free plan - 4

Buildkite
Free planWebAPIExtensionLinux7.3From $30 a month - 5

Flakiness.io
Free planWebSelf-hosted6.9From $49 a month - 6

Mergify
Free planWebAPISelf-hosted6.8From $21 a month
