On this page
If you have ever dropped a new mod into a Fabric setup and been told it requires fabric-language-kotlin, you have met this library. It does not add blocks, items or menus. Its job happens before the game finishes loading, and once it is installed most players never think about it again.
The short answer
Fabric Language Kotlin is a library mod for Minecraft: Java Edition running on Fabric Loader. It lets Fabric load mods that are written in the Kotlin programming language, and it ships the Kotlin runtime libraries those mods need. Without it, a Kotlin-based mod cannot start, so the loader stops and tells you the dependency is missing.
Why a language adapter is needed
Minecraft and Fabric Loader run on the Java Virtual Machine. Kotlin also compiles to JVM bytecode, so in principle the two can work together. The catch is in how a mod is started. Fabric reads each mod's fabric.mod.json file and calls the classes listed as entrypoints. Out of the box, the loader expects those entrypoints to be ordinary Java classes.
Kotlin code often looks different once compiled. A Kotlin object is a singleton, and top-level functions live in generated classes. Fabric Language Kotlin registers a language adapter named kotlin. A mod that declares "adapter": "kotlin" on its entrypoints hands the job of creating them to this library, which knows how to find and call Kotlin-style entrypoints correctly.
What the library bundles
The second half of its job is supplying the Kotlin runtime. According to the project's README, the bundled set includes the Kotlin standard library and reflection support along with several official kotlinx libraries:
- Kotlin standard library, the core classes every Kotlin program uses.
- kotlin-reflect, for mods that inspect classes at runtime.
- kotlinx.coroutines, for asynchronous and background work.
- kotlinx.serialization, often used for configuration and data files.
- kotlinx-datetime and atomicfu, smaller helpers for time handling and thread-safe values.
The exact list and versions change as the project is updated, so the README in the repository is the reference if you need precise details.
Why one shared copy is better
A mod author could, in theory, pack the Kotlin libraries inside their own jar. If five mods did that, your game would carry five copies of the same code, possibly at five different versions. That wastes memory and invites conflicts. A single shared library avoids both problems: every Kotlin mod points at the same runtime, and updating it in one place updates it for all of them.
Does it change anything in the game?
No. Fabric Language Kotlin has no gameplay content. You will not see new items, settings screens or world changes from it. If you use a mod list viewer, it appears as a library entry. That is expected, and it is the reason some players are unsure whether it installed correctly. The real test is whether the mods that need it now load.
Who needs to install it
- Players whose mods list
fabric-language-kotlinas a dependency. - Server owners running Kotlin-based mods on a Fabric server, since the server needs the runtime as well.
- Mod developers writing Fabric mods in Kotlin, who declare it as a dependency so players know to install it.
If none of your mods mention it, you do not need it. When one does, the step-by-step installation guide walks through the setup, and the homepage download section explains what the provided archive contains.


