Paste a PR or workflow URL. Tell SubCat how many times to run it. Go back to work. You'll be notified when you have an answer.
Passes locally, passes in review, then fails in main. Nobody can reproduce it.
Engineers watching CI, clicking Re-run. Repeat. Repeat. Repeat. Hours lost every week.
BuildPulse requires cloud hooks, org admin access, and a budget approval and $299/month.
Most tools only say "it failed", they don't say which test, not how often, not why.
Point it at your repo. Pick a test command. SubCat runs it in a Docker container with CI-matched CPU and memory, repeated N times, streaming live output. Pass/fail/flaky counts with the failing test names — no CI round-trip, no 40-minute feedback loop.
Playwright · Jest · Vitest · Nx. Stress factors (network latency, packet loss, CPU contention, stale reads) optional. Env file injection and custom install commands supported.
Simulate CI conditions that don't show up on your laptop. Network latency, packet loss, CPU contention, file descriptor limits, timezone, stale reads. One toggle each, or Light / Medium / Heavy presets.
Playwright uses --repeat-each. Jest, Vitest, and Nx fall back to a shell loop with iteration sentinels so progress tracking works for every test runner, not just one.
Set any GitHub Actions run to execute N times automatically. Each iteration is tracked, logged, and compared. Flaky tests expose themselves when you run them enough.
Paste a GitHub Actions run URL. Get a native macOS notification when it finishes. No tab watching, no refresh loops.
When a run fails, re-trigger only the failed jobs — not the full workflow. Faster flake confirmation, less CI spend.
Every run, every iteration — logged with status, duration, and failed test names. Persists across app restarts.
Paste a PR URL and SubCat resolves the workflows automatically. SubCat auto-detects your open PRs — no URL needed.
Pin a workflow URL and SubCat tracks the latest run automatically — always up to date without re-pasting on every push.
Cancel an in-progress run directly from SubCat — no need to open GitHub. Full run lifecycle control from your menu bar.
After every repeat run, SubCat exports a structured .md report with a table of results, clickable run links, and per-iteration failed test names. Drop it in a PR comment or your team's wiki.
New in v1.2: root-cause hints and artifact links for every failed iteration, straight from the drill-down viewer.
No extra tooling. No parsing. One click.
SubCat is MIT licensed and built in the open. No tracking, no telemetry, no accounts. Your GitHub token never leaves your machine — it's encrypted with macOS safeStorage. Read the code, fork it, improve it.
Sign in via OAuth Device Flow — no config files. Token encrypted with macOS safeStorage.
Paste a GitHub Actions run or PR URL. Set a repeat count — ×1 to watch, ×10 to hunt flakes.
SubCat polls every 15s, triggers reruns, and surfaces which tests failed. Native notification when done.
SubCat ships fast. Here's what's coming.
Continuous watch mode — keep re-running a workflow until you manually stop it. Essential for overnight flake hunts.
Paste a workflow URL (not a run) and SubCat tracks the latest run automatically — always up to date, no re-pasting on every push.
Move from OAuth App (full repo scope) to GitHub App for granular, minimal permissions.
SubCat runs on Linux. Windows is possible — investigating demand before committing to distribution.
Re-trigger only the failed jobs instead of the full workflow. Faster flake confirmation, less CI spend.
SubCat automatically detects your open PRs and surfaces their latest runs without any URL pasting.
SubCat runs quietly, watching your CI runs in real time. No browser tabs, no constant refreshing. Get a native macOS notification the moment something needs your attention.
SubCat is MIT licensed and will always be free. If it saved you hours of debugging or helped you ship with more confidence, consider buying us a coffee — it keeps the late nights going and the features coming.
Signed · Notarized · Auto-updating · macOS & Linux