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

  1. Handle it directly

    Ready needs nothing at all; Check means taking the older stable build. Neither one needs a decision from you.

  2. Your call

    Beta only means you decide whether the risk is acceptable; Undetermined means re-run, or pin its platform project and check again.

  3. 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.

modcheck — results Sample data
Mod list Server A
Target version 26.3
Loader Fabric

Not started. Press Start check above to watch it run.

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

  1. 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.

  2. 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.

  3. 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