Exit code 1 is Minecraft telling you the game process ended abnormally. That's all it says. The number carries no diagnostic information on its own, it doesn't point at a mod, a Java version, or a corrupt download, it just means the process returned a non-zero status when it closed. Whatever actually caused it is sitting in a log file on your computer, and getting to that log is most of the job.
Find the crash report
Two files matter. latest.log is written continuously while the game runs and covers the full startup and mod-loading sequence, including problems that never became a full crash. The crash-reports folder only fills up when the game hits a fatal error and writes a dedicated report before closing. Check the newest file in crash-reports first if one exists, and fall back to latest.log when the game closes with no report at all, which happens when it dies during the earliest stage of Java startup.
- Windows: %appdata%\.minecraft\logs\latest.log and %appdata%\.minecraft\crash-reports
- macOS: ~/Library/Application Support/minecraft/logs/latest.log and ~/Library/Application Support/minecraft/crash-reports
- Linux: ~/.minecraft/logs/latest.log and ~/.minecraft/crash-reports
Those paths are for the official Minecraft Launcher. A modded launcher such as Prism Launcher, ATLauncher, or the CurseForge app keeps a separate .minecraft folder for each instance, so look inside that instance's own folder rather than the shared one, usually under a path like instances/<name>/minecraft/logs.
Read the crash report, not just the exit code
A crash report is a plain text file, open it in any text editor. Skip past the ASCII art and the joke line at the top. What matters is the Description field near the top and the exception block right under it. The first line naming the exception class, things like NoSuchMethodError, MixinTransformerException, or UnsupportedClassVersionError, tells you the category of failure, and the caused-by chain underneath it, read from the bottom up, usually names the mod actually responsible. Further down, the system details and loaded-mod sections confirm your loader, Minecraft version, and Java version, worth checking before assuming any fix below applies to you.
Apex Hosting walkthrough on finding and reading a Minecraft crash report
The most common causes, in order
A mod built for the wrong Minecraft version or loader
This is the single most common cause. A Fabric mod does not run on Forge or NeoForge and the reverse is also true, and a mod built for one Minecraft version routinely refuses to load on another, even a close one. Look for NoSuchMethodError or NoClassDefFoundError right after a mod's name in the loading sequence, or a plain-language message from the loader itself along the lines of "requires version X but Y was found." The fix is downloading the exact build listed for your Minecraft version and loader, not just the newest file available. If you're not sure the loader itself is installed correctly before you start chasing individual mods, the Fabric Loader install guide covers that first step.
A missing required dependency library
Some mods are libraries other mods lean on rather than standalone additions, and the game won't start without them installed alongside whatever needs them. Fabric API and Cloth Config are two of the most common ones to get left out of a manually assembled mod list. Fabric's loader is direct about it, printing a mod resolution failure block that names exactly which dependency is missing and which mod needs it, so read that block instead of guessing which library to add.
Two mods that conflict
Two mods can each load cleanly on their own and still crash the moment they interact, usually because both hook the same game system in an incompatible way. This tends to show up later in the log than a version mismatch, sometimes mid-game rather than at launch, and the exception often mentions a class or method from one mod inside a stack trace triggered by another. There's rarely a clean fix beyond removing one of the two, or checking each mod's own page for a listed incompatibility.
The wrong Java version for the Minecraft version you're launching
Minecraft's minimum Java requirement has moved more than once. Releases through 1.20.4 need Java 17, releases from 1.20.5 through the last of the 1.21.x line need Java 21, and the year.drop releases from 26.1 onward need Java 25. Launching on an older Java than the game requires produces UnsupportedClassVersionError right at startup, before any mod even gets a chance to load. Most launchers pick a matching Java runtime automatically, but a custom Java path saved in your launcher's profile settings can still point at an old install.
A corrupt or partly downloaded mod file
A download that got interrupted, or a browser that silently saved an error page instead of the actual jar, produces a file that looks right sitting in the mods folder but fails to open as a zip archive. The log shows ZipException, an invalid CEN header, or a missing END header right where that mod loads. Delete the file and download it again from the source rather than assuming your whole mod list is broken. This is especially common when files are gathered by hand instead of through a launcher that installs the full modpack for you, which checks each file as it downloads.
Memory allocated too low, or too high
Too little memory produces OutOfMemoryError: Java heap space or GC overhead limit exceeded, usually well into a play session rather than at launch, most often with a large modpack or a world holding a lot of loaded chunks at once. Too much memory can fail just as badly. Setting a maximum heap size larger than your system can actually provide makes the JVM fail before Minecraft even starts, with a message like "Could not reserve enough space for object heap." More allocated memory is not automatically better, a modest increase toward the modpack's own stated recommendation beats maxing out the slider.
A client-side mod installed on a server, or the reverse
A mod that only touches rendering, menus, or other client-only code will fail on a server that expects nothing but server-safe code. Forge and NeoForge are explicit about it, printing a line like "attempted to load class ... on the dedicated server" for the offending class. A Fabric mod that assumes a client environment usually fails instead with a ClassNotFoundException pointing at a net.minecraft.client class. Going the other direction, a server plugin such as a Bukkit, Spigot, or Paper jar dropped into a Fabric or Forge mods folder typically does nothing at all rather than crashing, since the loader doesn't recognize its format, which is its own quiet kind of confusing. Checking a download's listed side, client, server, or both, before installing it avoids this entirely.
Bisect the mod list to find the exact culprit
When the log doesn't point at a clear suspect, often because two mods conflict rather than one mod failing outright, splitting the mod list in half and testing each half is faster than pulling mods out one at a time.
- 1.Move roughly half the mods out of the mods folder into a separate location, then launch.
- 2.If the crash still happens, the cause is in the half that remains inside the folder. Split that half again.
- 3.If the crash disappears, the cause is in the half you removed. Put it back and split that group instead.
- 4.Keep halving the suspect group. A 40 mod list narrows to one culprit in about six launches, since each round cuts the remaining field in half.
This converges fast on a single bad mod. It gets slower when the crash only happens with two specific mods present together, since pulling either one out alone will look like a fix. If that happens, re-test the full pair once you've narrowed the group down far enough to suspect it.
When it needs the mod author
This guide gets you to the cause most of the time, but it can't debug someone else's code. Some crashes come from a genuine bug in a mod, with no setting, reinstall, or version match that fixes it on your end. A fresh internal exception inside the mod's own code, with none of the external causes above (wrong version, missing dependency, low memory, a loader mismatch) obviously in play, is the sign it's time to file a report instead of continuing to guess.
A useful report attaches the actual log, latest.log if no crash report exists or the crash report itself if one was generated, along with your exact Minecraft version, loader and loader version, and the mod's own version. Quote the exception line and the ten or so lines around it directly in the report rather than a screenshot of the whole file. Most mod authors track issues on GitHub or their Modrinth or CurseForge page, and a searchable text excerpt is what lets them recognize a duplicate report or spot the cause right away.
Frequently asked questions
How do I fix Minecraft exit code 1?
Exit code 1 alone isn't fixable, it just means the game quit with an error. Open latest.log or the newest file in crash-reports, find the exception name and the mod it points to, then match that against the common causes above: wrong version or loader, a missing dependency, a Java mismatch, a corrupt download, memory settings, or a client and server mismatch.
Where is the Minecraft crash reports folder?
On Windows it's %appdata%\.minecraft\crash-reports, on macOS it's ~/Library/Application Support/minecraft/crash-reports, and on Linux it's ~/.minecraft/crash-reports. A modded launcher such as Prism Launcher or the CurseForge app keeps its own separate folder for each instance instead of using the shared one.
Why is my mod not showing up in game?
A mod missing from the in-game mod list usually means it never loaded, and the reasons overlap heavily with what causes exit code 1: the wrong Minecraft version or loader build, a missing dependency, or the file sitting in the wrong folder for your loader. Check latest.log for the mod's name. If it's absent entirely rather than mentioned with an error, confirm the jar is actually inside the mods folder for the profile you're launching, not a different instance or a disabled subfolder.
Does exit code 1 always mean a mod caused the crash?
No. Vanilla Minecraft, a corrupt world save, or a broken Java installation can all produce the same exit code. Mods are the most common cause on a modded install simply because there are more of them and more version combinations to get wrong, but the log is what actually confirms the cause, not the exit code itself.
What causes exit code 1 on a Minecraft server?
The same idea as the client: the server process quit with an error, most often a plugin or mod built for the wrong server software or version, a missing dependency, or too little memory allocated in the start script. Check the server's own logs/latest.log and crash-reports folder using the same approach described above.




