About rerunplan
rerunplan is a local tool for deciding whether a failed check should be rerun, fixed, or investigated. It classifies failures using the check name, error signature, and past runs, and returns the evidence behind its recommendation.
Key features
- 01Classify infrastructure flakes, flaky checks, and real failures
- 02Use matching check history and error signatures
- 03Return a recommendation with supporting evidence
- 04Normalize common pass and failure statuses
- 05Run locally without network or configuration
Use cases
- 01Choose whether to rerun or fix a failed check
- 02Triage intermittent test failures
- 03Identify failures that need further investigation
MCP support
Exposes a `plan_rerun` tool to MCP clients. It accepts the failed check, optional error signature, and past-run history, then returns a classification and recommendation.
Configuration
Local server config is the same for every client. Copy it into your client’s MCP config file.
Tools
1Saved tool list · updated 1w ago
| Parameter | Type | Required | Description |
|---|---|---|---|
| check | string | Yes | The failed check's name |
| past_runs | array | Yes | Past runs; runs for other checks are ignored |
| error_signature | string | No | The current failure's error signature (optional) |
Details
From the project READMErerunplan
A check failed. Rerun it, or fix it? rerunplan classifies the failure from evidence — the failing check's name, its error signature, and past runs of the same check — and answers with a classification, a recommendation, and the evidence lines that drove the call:
infra_flake→ rerun — the error signature matches a known infrastructure pattern (timeout, connection reset, DNS, rate limit, runner loss, gateway errors) and the check is not failing that way every timeflaky→ rerun — the check has passed before and has failed before with this same error signature; the failure comes and goesreal_failure→ fix — the check fails in every usable past run (with the current signature, when one is given); an infra-looking signature that fails every time is still a real failureinsufficient_evidence→ investigate — no usable history, or a mixed history no rule claims
Rules fire in a fixed order and each appends its evidence.
Statuses are normalised (success/pass/passed,
failure/fail/failed/error); runs for other checks are
ignored. Pure local computation: no network, no configuration.
CLI
npx @reneturcios/rerunplan plan --check unit-tests --signature "Error: boom" --past past-runs.json
npx @reneturcios/rerunplan --version
past-runs.json is a JSON array of
{"check": "unit-tests", "status": "failure", "error_signature": "Error: boom"}
objects (check and error_signature optional per run).
Exit codes: 0 on success, 1 on a runtime error (including
an unreadable or invalid past-runs file), 2 on a usage error.
MCP server
npx -y @reneturcios/rerunplan mcp
MCP client config:
{
"mcpServers": {
"rerunplan": {
"command": "npx",
"args": ["-y", "@reneturcios/rerunplan", "mcp"]
}
}
}
Tools
plan_rerun— Classify a failed check from its past-run history and recommend rerun, fix, or investigate.check(string, required) — the failed check's nameerror_signature(string, optional) — the current failure's error signaturepast_runs(array, required) — past runs as{check?, status, error_signature?}objects
Docker
docker run -i ghcr.io/cloudcorprecords/rerunplan
docker run --rm -v "$PWD:/w" ghcr.io/cloudcorprecords/rerunplan plan --check unit-tests --past /w/past-runs.json
Development
npm install
npm run build # tsc -> dist/
npm test # tsx --test test/*.test.ts (pure local, no network)
npm run dev # run the CLI from source
License
MIT — Copyright (c) 2026 Rene Turcios
Comments
New to MCP?
From what the protocol is to installing your first server, these answers cover most first questions.
An open protocol that defines how AI applications connect to external tools and data in a uniform way. Clients talk to the model; MCP servers provide tools, resources and prompt templates. They exchange standard messages, so one server can be reused by many clients.