What the line means
Every NeoForge mod describes itself in a metadata file inside its jar. NeoForge 20.5, the first NeoForge for Minecraft 1.20.5, made META-INF/neoforge.mods.toml the only metadata file NeoForge recognises. Forge mods, and NeoForge mods built for Minecraft 1.20.4 or earlier, carry META-INF/mods.toml instead.
When NeoForge scans mods/ and finds a jar that has a mods.toml and no neoforge.mods.toml, it does not load it, and this line says why. The check only looks at which metadata file the jar contains. It does not read the mod's code or its version number.
Tip
A multi-loader jar that ships both files is read from its neoforge.mods.toml and never prints this line. The line appears only when that file is missing.
The same check has sibling messages for other loaders: “is a Fabric mod and cannot be loaded”, “is a Quilt mod and cannot be loaded”, and “is for an old version of Minecraft Forge and cannot be loaded” for a jar that carries the mcmod.info file of older Forge mods. Each one means the jar was built for a different loader.
Why the server may keep starting, or crash somewhere else
In NeoForge's source, a jar refused this way from the mods folder is reported as a warning, not an error. The log line starts with “Skipping jar.”, the jar is left out, and loading continues with every other mod.
On NeoForge for Minecraft 1.21.x, the server repeats it once loading finishes: a line starting “Mods loaded with” gives the number of issues, followed by the issue's key, fml.modloadingissue.brokenfile.minecraft_forge.
That leaves two outcomes:
- Another mod requires the skipped one. NeoForge stops the boot with a missing-dependency error that calls the skipped mod not installed, even though its jar is sitting in mods/. That error, not this line, is the crash.
- Nothing requires it. The server can start, and that mod's blocks, items and commands are simply not there.
NeoForge's 20.5 release post also says that, at the time, jars without a neoforge.mods.toml were skipped silently. If your log has the missing-dependency error but no “Skipping jar.” line, check the named mod's jar for the same mismatch.
Note
Running Sinytra Connector? It loads Fabric mods on NeoForge, and a jar with both Fabric and Forge metadata could print this warning even though Connector loaded it as a Fabric mod. Connector's issue #1934 tracked that false alarm, and a later Connector change silences the warning for jars Connector loads. On a Connector pack, check whether the mod is really missing before you remove it.
Exact error messages
The full lines, for matching against your log. The parts in angle brackets change from server to server: the jar's file name and the mod ids.
| Exact line in the log | What it tells you |
|---|---|
| Skipping jar. File mods/<name>.jar is for Minecraft Forge or an older version of NeoForge, and cannot be loaded | NeoForge's warning during its mod scan. The named jar has a Forge-style mods.toml and no neoforge.mods.toml, so it was left out. Loading carries on without it. |
| Mod <id> requires <modid> <version> or above | The crash that can follow: a loaded mod needs one that is not loaded. If <modid> belongs to the jar skipped above, replacing that jar fixes both lines. |
| Currently, <modid> is not installed | Printed under the line above. Here “not installed” can mean the jar is in mods/ but NeoForge skipped it, so search the log for “Skipping jar.” before you download anything. |
| <name>.jar: Wrong loader -- mod supports ['forge'], server uses neoforge | MineXEngine's own warning before the server starts, for a jar added on top of the pack whose metadata names Forge only, on Minecraft newer than 1.20.1. It is a warning: the jar stays in mods/. |
How to find the jar and fix it
- Back up the world folder first. Everything below is reversible; the backup is what makes that true.
- Search logs/latest.log for “Skipping jar.” or “is for Minecraft Forge”. Each match names one file, written as mods/<name>.jar.
- Note the server's Minecraft version and loader. The replacement must match both: a NeoForge build of the mod, for that exact Minecraft version.
- Open the mod's CurseForge or Modrinth page and filter its files by NeoForge and your Minecraft version. If a build exists, stop the server, replace the old jar with it, and start again.
- If there is no NeoForge build for your version, take the jar out of mods/. Any mod that required it has to come out too, or be replaced by a version that does not need it.
- If most of your mods print this line, the server runs the wrong loader or Minecraft version for the pack. Run it on the loader and version its own server files name, instead of replacing mods one by one.
Warning
Do not rename mods.toml to neoforge.mods.toml inside the jar. NeoForge moved its code to net.neoforged packages in version 20.2, so a Forge mod's code still refers to Forge classes the server does not have. Renaming the file does not make the mod work; it only moves the failure somewhere harder to read.
If a mod reports a dependency as missing and that jar is not in mods/ at all, the missing dependencies guide covers it.
Read the missing dependencies guideWhat MineXHost's launcher does with this line
Every server here is started by MineXEngine, our own launcher, and its crash recovery has a rule for this line. On your server that rule does not move or delete the jar: crash recovery is identify-only on customer servers, so mods/ stays exactly as you uploaded it. NeoForge's line already names the file, and choosing between the NeoForge build and removing the mod is yours.
Mods you add on top of a pack also get a check before the server starts. When the engine can tell a jar was added after the pack was installed, and that jar's metadata names Forge only while the server runs NeoForge on Minecraft newer than 1.20.1, the console shows MineXEngine's “Wrong loader” warning naming it. In its default mode that check only warns and leaves the jar where it is.
The engine's other pre-boot check, which compares every mod's declared loader with the server's, keeps the jar too. The loader information inside jars is often incomplete, and a launcher should not remove a mod on that alone.
Choosing a pack for a server? Our modpacks hub lists the packs our QA Lab has boot-tested, and each pack's page shows its latest test result and what that test covers.
Modpacks our QA Lab has boot-testedMineXHost runs NeoForge and Forge packs on MineXEngine. Our launcher 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 plansFrequently asked questions
What does “is for Minecraft Forge or an older version of NeoForge, and cannot be loaded” mean?
The message means NeoForge found a jar in your mods folder that carries a Forge-style META-INF/mods.toml and no META-INF/neoforge.mods.toml, the only metadata file NeoForge has recognised since its 20.5 release for Minecraft 1.20.5, so the jar was built for Forge or an older NeoForge and is skipped rather than loaded. Replace it with the mod's NeoForge build for your Minecraft version, or remove it.
Why does my NeoForge server keep starting after this message?
A NeoForge server keeps starting after this message because NeoForge logs it as a warning, leaves out only the jar it cannot read and loads everything else, so the line itself does not stop the boot; a crash comes when another mod requires the skipped one, as a missing-dependency error that calls that mod not installed. If nothing requires it, the server runs without that mod's content.
Why does a mod say another mod is not installed when its jar is in mods/?
A mod reports another mod as not installed while its jar sits in mods/ when NeoForge skipped that jar during its mod scan, for example because the jar was built for Forge or for an older NeoForge and has no neoforge.mods.toml, so to the loader the required mod is not there at all. Search the log for “Skipping jar.” and replace the file it names with the mod's NeoForge build.
Can I make a Forge mod load on NeoForge by renaming mods.toml?
Renaming mods.toml to neoforge.mods.toml inside the jar does not make a Forge mod work on a modern NeoForge server, because NeoForge moved its code to net.neoforged packages in version 20.2, so the mod's own code still refers to Forge classes the server does not have and the failure only moves somewhere harder to read. Use the mod's NeoForge build, or remove the mod.
Does MineXHost remove the Forge jar automatically?
MineXHost does not remove this jar for you: MineXEngine's crash recovery has a rule for the wrong-loader line, but crash recovery on customer servers is identify-only, so the jar stays in mods/ exactly as you uploaded it and the choice between the mod's NeoForge build and removing it stays with you. For a mod you added on top of a pack, the engine also prints a “Wrong loader” warning before the server starts, when it can tell the mod was added after the pack was installed.
