Skip to main content
Early Access: MineXHost is live and still being built. Expect maintenance and occasional outages. Check live status
Mods and loadersForgeNeoForge

“is for Minecraft Forge or an older version of NeoForge, and cannot be loaded”: what it means and how to fix it

Updated 8 min read By MineXHost

NeoForge prints this line while it scans your mods folder, when it finds a jar built for Forge or for NeoForge on Minecraft 1.20.4 or earlier. It skips that jar and keeps loading, so the line on its own does not stop a server. The fix is the NeoForge build of the mod for your Minecraft version, or removing the mod.

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 logWhat it tells you
Skipping jar. File mods/<name>.jar is for Minecraft Forge or an older version of NeoForge, and cannot be loadedNeoForge'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 aboveThe 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 installedPrinted 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 neoforgeMineXEngine'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

  1. Back up the world folder first. Everything below is reversible; the backup is what makes that true.
  2. Search logs/latest.log for “Skipping jar.” or “is for Minecraft Forge”. Each match names one file, written as mods/<name>.jar.
  3. Note the server's Minecraft version and loader. The replacement must match both: a NeoForge build of the mod, for that exact Minecraft version.
  4. 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.
  5. 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.
  6. 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 guide

What 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-tested

MineXHost 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 plans

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

Still stuck?

Every ticket is answered by a real person who plays Minecraft and knows modpacks. Send the full console output, not just the last line. Customers open a ticket from the panel; anyone can ask in our Discord.

  • Live support 5PM-12AM ET on weekdays
  • Replies typically within 12 hours
  • Limited availability on weekends