Skip to main content

Fabric “Incompatible mods found” and “Mod resolution failed”: how to read the Fix line

Last updated 2026-09-09 · MineXHost

Fabric refuses to start when the mods you gave it cannot all be satisfied at once, and unlike most crashes it prints the solver's own reasoning. The output looks hostile and is not: three lines in it tell you precisely which mod wants what, and what would fix it.

What the error means

Fabric resolves your mod list before Minecraft starts. Every mod declares what it depends on and what version range of it, and the loader has to find one combination that satisfies all of them. “Mod resolution failed” and “Incompatible mods found!” mean no such combination exists with the jars present.

Nothing has crashed at this point. Minecraft never started. That is good news: no world was touched, and the fix is always in the mods folder.

The three lines worth reading

“... which is missing”

The plainest of the three. It reads like: Mod 'Some Mod' (somemod) 1.2.3 requires version 4.0.0 or later of otherlib, which is missing. A library the pack needs is simply not in the folder — download that library for your Minecraft version and Fabric loader, and drop it in.

HARD_DEP_NO_CANDIDATE

This one names the dependency and the version range in Maven bracket notation: HARD_DEP_NO_CANDIDATE somemod 1.2.3 {depends otherlib @ [4.0.0,)}. A square bracket includes the bound, a round bracket excludes it, so [4.0.0,) means 4.0.0 or anything newer, and [1.1.4,1.1.4] means that exact build and nothing else. “No candidate” means either the dependency is absent, or the copy you have falls outside the range.

The Fix line

Fabric ends with its own proposed remedy in three buckets: Fix: add [...], remove [...], replace [...]. It is the most useful line in the whole log and it is at the bottom where nobody reads.

What the Fix line showsWhat it meansWhat to do
add is populated, remove and replace emptySomething is simply absent.Install exactly what it names, at a version inside the range.
replace is populatedA mod you have is the wrong version.Swap that jar for the version named, do not add a second copy.
remove is populatedTwo mods cannot coexist.Drop one — and if the pack shipped both, that is a pack bug worth reporting.
add: minecraft <version>The mods want a different Minecraft version than the server is running.Re-install the server on the Minecraft version the pack targets.
“add: minecraft” is the one to check first. If every mod in the list wants the same Minecraft version and it is not the one you are running, no amount of mod-swapping helps — the server itself is on the wrong version.

The cases behind those lines

  • A missing library. Fabric API is the usual one, and packs also lean on shared libraries that are separate downloads rather than bundled.
  • One mod not updated with the rest, so its declared range no longer overlaps everyone else's.
  • The server on the wrong Minecraft version — the whole mod list rejects the same version at once.
  • A mod for a different loader entirely. A Forge or NeoForge jar in a Fabric mods folder is invisible to the resolver and shows up as its dependency being missing.
  • Two copies of the same mod at different versions, usually from a manual update where the old jar was never removed.

The duplicate-jar tell

A duplicate is worth calling out because it prints something that does not look like a dependency problem at all: Non-unique Mixin config name X used by the mods A and B. Two jars are claiming the same mixin config, which means the same mod is in the folder twice — often under two different filenames. Delete the older one.

Working through it

  1. Read the Fix line at the bottom of the output before anything else. It is frequently the entire answer.
  2. Check the Minecraft version the mods are asking for against the version the server is running. Fix that first if they disagree.
  3. Confirm Fabric API is present and is the build for your exact Minecraft version. A large share of these failures are nothing else.
  4. Add or replace what the Fix line names, one change at a time, restarting between changes so you can attribute the result.
  5. Sort the mods folder by name and look for the same mod twice — duplicates hide well when a pack has three hundred jars.
  6. Check the loader of anything you added by hand. Forge and Fabric jars look identical from the outside.

What MineXHost's launcher does with this

MineXEngine parses this output rather than only matching on it. It reads the dependency ids and version floors out of the HARD_DEP_NO_CANDIDATE and “which is missing” lines and tries to fetch each genuinely absent dependency at a version inside the declared range, then restarts. A missing library is often resolved before you have read the console.

Where the whole mod list rejects the Minecraft version the server is on, the engine re-provisions the server onto the version the pack asks for and re-picks the Java version to match, rather than reporting a crash you would have to act on.

When it cannot fix it, it says so plainly instead of retrying forever. A dependency that is absent and unavailable is reported as a pack problem with the missing id named, and that verdict needs two independent proofs from Fabric's own output before it is issued — an add-only Fix line alone is not enough, because a mod can be present and disabled rather than missing.

MineXHost runs Fabric and Quilt packs on MineXEngine — our launcher auto-detects the modpack, picks the right Minecraft loader and Java version, tunes the JVM for your RAM, and auto-recovers from the crashes that normally end a modded server's evening. Pick your RAM, paste the pack, and play.

See hosting plans

Frequently asked questions

What does “Mod resolution failed” mean on a Fabric server?

Fabric checks that every mod's declared dependencies can be satisfied before Minecraft starts, and this message means no combination of the jars present satisfies them all. Minecraft never launched, so nothing is damaged and the fix is entirely in the mods folder. The output includes Fabric's own proposed remedy on a line beginning “Fix:” which lists what to add, remove or replace — read that line first, because it is frequently the complete answer.

What does HARD_DEP_NO_CANDIDATE mean?

HARD_DEP_NO_CANDIDATE means a mod declared a hard dependency and no installed jar satisfies it. The line names the mod, the dependency and the accepted version range in Maven bracket notation, so {depends otherlib @ [4.0.0,)} means version 4.0.0 or newer and [1.1.4,1.1.4] means that exact build. Either the dependency is absent, or the copy you have sits outside the range — check which before downloading anything, since installing a second copy makes it worse.

Fabric says a mod requires a different Minecraft version. What do I do?

If every mod in the list rejects the same Minecraft version, the server is running the wrong version and no mod change will fix it — re-install the server on the version the pack targets. If only one or two mods disagree while the rest are content, those specific jars are built for a different version and need replacing with builds for yours. The Fix line makes the distinction visible: a whole-pack mismatch shows up as “add: minecraft”.

What is “Non-unique Mixin config name ... used by the mods”?

A non-unique Mixin config name means two jars in your mods folder claim the same mixin config, which almost always means the same mod is installed twice under different filenames — typically an update where the old jar was never deleted. The message names both mods. Delete the older jar and restart. It is not a compatibility problem between two different mods, so there is nothing to configure and no compatibility patch to look for.

Do I need Fabric API on a server?

Yes, if any mod you are running depends on it, which most Fabric mods do — and the server needs the build published for its exact Minecraft version, not merely a recent one. A missing or mismatched Fabric API is behind a large share of Mod resolution failed messages. It goes in the mods folder like any other jar, and the loader itself is separate from it: having Fabric Loader installed does not mean Fabric API is present.