Mods are jars dropped into an instance's mods folder. The launcher reads them so it can show you what you have, and it refuses to enable a small number of them because they are cheat clients or are known credential stealers.
Adding a mod
- Drag and drop. Drop a jar onto the launcher window and it is copied into the selected instance's mods folder. The original file is left where it was — the launcher copies rather than moves, so a download folder stays a download folder.
- From the Mods page. Search Modrinth and install directly, with the correct build chosen for your game version and loader.
- By hand. Open the instance's game folder from its card and copy jars into
modsyourself. The launcher notices within a second; the folder is watched rather than polled on demand.
Vanilla Minecraft does not load mods. If a jar appears to do nothing, the instance is on a vanilla version — install Fabric from the version picker, then launch.
Enabling and disabling
The switch beside each mod turns it off by renaming the file with a .disabled suffix and moving it out of the loader's path. The jar is never deleted: turn it back on and the same file comes back, with the same hash. This is deliberate — a switch that deletes is a switch nobody dares press.
What the launcher reads from a jar
Opening a mod shows what is actually inside it rather than only its filename:
| Field | Where it comes from |
|---|---|
| Name and version | The loader metadata (fabric.mod.json, mods.toml) |
| Authors | Loader metadata |
| Loader | Which metadata file is present, and the jar's package names |
| Icon | The icon the mod declares, extracted and cached |
| Size and hash | The file itself, so two copies can be compared |
| Scan verdict | The malware scanner, run on the jar when it was added |
The launcher's own mods
Two mods ship with DonutLauncher and are installed into every Fabric instance before launch:
- Donut Brand — the title screen wears the launcher's wordmark and the links under it point at the launcher's site and community; joining a Donut SMP multiplayer server works without being added to the server list first.
- Donut Toaster — badge and streak unlocks inside Minecraft, in a toast that matches the game's own.
Both are deliberately not listed on the Mods page and cannot be switched off from there: they are the launcher's own watermark, and a watermark with a toggle is not a watermark. There is a safety switch for the case they matter — DONUT_NO_BRAND_MODS=1 in the environment — and if a game crashes on startup naming one of them, the launcher disables them itself and says so.
A deleted copy comes back, and an old copy cannot linger. That is intentional; there is no supported way to run them at a different version, because a mismatched mixin is a crash before the main menu.
When a mod is blocked
A blocked jar is quarantined: moved aside, refused by the enable path, and shown with the reason rather than a switch. Blocking is based on what the jar is, not only what it is called — a file renamed to something innocent is still identified by its package names, its metadata id and its declared main class.
See Cheat clients for what is on the list and how to report a false positive.
Modpacks
A modpack is not special: it is a folder of jars and config files. Import one by dropping its .mrpack on the window, or by copying its mods folder into an instance. The launcher does not manage pack updates — it will not overwrite your config edits, because that is how a working pack becomes an unexplained crash.