Compatibility check
Know which mod stops your upgrade, before you start it
modcheck sorts every mod in your list into one of six states and tells you what to do about each one. It never guesses: when it cannot find out, it says Undetermined.
~18 MB single file · zero third-party dependencies · GPL-3.0
Six states
Six states, six next steps
Every mod lands in exactly one of these. There is no seventh state, and nothing is ever reported as "probably fine".
-
Ready
A usable build exists for the target version
What to doNothing to do
-
Check
The latest stable does not support it, but an older stable does
What to doUse that older stable build, not the latest one
-
Beta only
Only an alpha/beta supports the target version
What to doJudge the risk yourself — back up your world first
-
Blocked
No usable build exists for the target version
What to doMust be fixed first, or you cannot upgrade
-
Undetermined
Nothing was found (this is not a failure)
What to doRe-run later, or pin the platform project by hand
-
Ignored
You marked it as out of scope
What to doLeft out of the verdict
Order of work: clear the easy ones first, decide on the risky ones last
-
Handle it directly
Ready needs nothing at all; Check means taking the older stable build. Neither one needs a decision from you.
-
Your call
Beta only means you decide whether the risk is acceptable; Undetermined means re-run, or pin its platform project and check again.
-
Fix first
One Blocked mod is enough to stop the upgrade. Wait for the author to update, or replace the mod.
It does not guess
Undetermined is not failure
When it cannot find out, it writes Undetermined. It will not pick a version at random just to make the table look complete.
It will not reach into a mod's release history, grab the closest-looking build and file it under Ready. A Ready like that is a lie: you upgrade on the strength of it, the server dies on startup, and you had every reason to believe you were prepared.
Undetermined means one thing only: this run did not find out. The platform API timed out, the mod is not listed on Modrinth or CurseForge, or the name it is listed under does not match your local file. You can re-run later, or point modcheck at the right platform project by hand so the next run can identify it.
A wrong Ready is far more dangerous than an honest Undetermined.
Interactive demo
Press the button and watch it reach a verdict
This window is redrawn in HTML, not a screenshot — so you can click it, tab through it, and a screen reader can read it. The data inside is sample data.
Not started. Press Start check above to watch it run.
| Mod | Status | Version | Released |
|---|
Press Start check above — the verdicts will appear here one row at a time.
Select any row and this panel shows what it suggests you do.
Waiting to start
Verdicts come from Modrinth, CurseForge and the official Mojang version manifest. The mod list, target version and loader are fixed sample values here; the three buttons at the bottom explain what the real client would do.
While you poke at it
Three things worth noticing
-
Undetermined: it does not pretend to know
Switch the window above to the Undetermined tab. This sample data has none at all; in a real run Undetermined means this pass found nothing, not that the mod is broken.
-
Check means: do not take the latest
It means the newest stable release does not support your target version, but an earlier stable one does. Take the build it names and you will not fall through.
-
Open a row to see the advice
Every state comes with a next step attached, so you are not left reading changelogs to guess. Keyboard works too: tab into the table, arrow up and down, press Enter.
The demo runs on sample data. Your server does not.
Download modcheck and run it against your own list. It only tells you the verdict and what to do about it — it does not touch your mods folder, does not download or replace mod files, and does not decide for you whether a beta is acceptable.
CLI ~18 MB, single file · GUI ~70 MB, unzip and run · config lives in a config folder next to the binary