Skip to main content
Version: Minecraft 26.2

Error codes

Poly Mod Loader reports problems with POLY-area-number codes. An error-level problem during a startup phase stops the run in that phase (Poly Mod Loader launch stopped in phase …). For a problem in a callback during a run, Poly Mod Loader either logs it and continues, or turns off just that feature, depending on the area.

Find the code in the log, then pick the area from the tables below. Log locations and reports are in Troubleshooting mod development; if you play with mods, see If something goes wrong.

Areas at a glance​

AreaMeaning
POLY-ENTRYPOINTThe entrypoint class could not be created or run
POLY-CONTENTContent ID errors, late declarations, creative tab, tag, and menu problems
POLY-COMMANDCommand name conflicts, late registration
POLY-NETWORKChannel ID errors, sending before connecting, bad payloads
POLY-CLIENTClient API used on the server, HUD and drawing failures
POLY-WORLDGENUnknown placed features, generator and biome ID errors
POLY-RESOURCE, POLY-PERMISSIONReload directory and permission node errors, listener and provider failures, resource file problems found at build time (004 to 009)
POLY-STORAGE, POLY-BACKUPStored data from a newer version, backup check failures
POLY-GAMETEST, POLY-SCHEDULETest registration errors, scheduled task exceptions
POLY-METADATApoly.mod.json problems
POLY-DEPENDENCYProblems in relations between mods
POLY-SYSTEMSystem replacement problems
POLY-TRANSFORMCode transform rule and cache problems
POLY-COMPATMods from other loaders that are not supported
POLY-BOOTSTRAP, POLY-DISCOVERYGame jar, version adapter, game layer, jars with no metadata
POLY-SHUTDOWN, POLY-EVENTShutdown tasks, event listeners

Native API​

CodeMeaning
POLY-CONTENT-001Invalid or duplicate content ID
POLY-CONTENT-002Declaration after registration closed
POLY-CONTENT-003Cannot add to the creative tab
POLY-CONTENT-004Unknown pack kind
POLY-CONTENT-005Cannot create the menu type or spawn placement rule in this game version
POLY-CONTENT-006The block shape function threw an exception or returned null
POLY-CONTENT-007An entry added to a tag with addToTag is not registered when the registries freeze (only that entry is left out, the rest of the tag loads)
POLY-CONTENT-008An entry or the icon of a mod creative tab is not a registered item when the registries freeze (only that one is left out; a missing icon falls back to the first entry, and a tab with no entries left is not registered)
POLY-COMMAND-001Two mods registered the same top-level command (warning, trees are merged)
POLY-COMMAND-002Registration after registration closed
POLY-NETWORK-001Channel ID error
POLY-NETWORK-002Sent before connecting, or declared after registration closed
POLY-NETWORK-003Size exceeded (32 KiB toward the server, 1 MiB toward the client)
POLY-NETWORK-004Decoding failed (the payload is dropped)
POLY-NETWORK-005Mod code in a join-preparation exchange threw an exception (a failed request is skipped, a failed reply sends no response, a failed check rejects), or an invalid wait time
POLY-GAMETEST-001Invalid test name or time
POLY-GAMETEST-002Registration after registration closed
POLY-CLIENT-001Client API used on the server
POLY-CLIENT-002Client ID error or registration closed
POLY-CLIENT-003HUD layer or drawing failed (only that layer is turned off)
POLY-CLIENT-004Failed to add a key binding
POLY-CLIENT-005A dynamic texture was uploaded from a thread other than the client thread, or particle or post-processing hookup failed
POLY-CLIENT-006Could not create or compile a mod shader pipeline (logged once, that quad is skipped)
POLY-CLIENT-007A mod shader uniform value threw an exception or has the wrong count, or the upload failed (logged once, the last valid value is used)
POLY-SCHEDULE-001A scheduled task threw an exception (logged, then continues)
POLY-WORLDGEN-001Unknown placed feature (stops startup)
POLY-WORLDGEN-002Declaration after registration closed
POLY-WORLDGEN-003Cannot access the biome feature or spawn list
POLY-WORLDGEN-004Invalid or duplicate generator, biome, placed feature, density function, or structure ID, or a density function range that is reversed
POLY-WORLDGEN-005A code placed feature, density function, or structure threw an exception (logged once, that spot is skipped)
POLY-RESOURCE-001Invalid reload directory
POLY-RESOURCE-002Declaration after registration closed
POLY-RESOURCE-003Could not read a file, or a listener failed (logged, then continues)
POLY-RESOURCE-004(Build, checkPolyResources) A resource path that the game skips: uppercase letters, spaces, and so on
POLY-RESOURCE-005(Build) JSON syntax error. Includes the line and column
POLY-RESOURCE-006(Build) The model that an item definition, block state, or model parent points to is not in the mod, or the namespace is missing
POLY-RESOURCE-007(Build) The texture that a model points to is not in the mod, or the namespace is missing
POLY-RESOURCE-008(Build) A translation file is not an object, or a value is not a string
POLY-RESOURCE-009(Build, polyResources) Invalid name, texture, or tool; the same name declared twice; block settings on an item
POLY-PERMISSION-001Invalid or duplicate permission node
POLY-PERMISSION-002Declaration after registration closed
POLY-PERMISSION-003Provider exception (that provider is skipped)
POLY-STORAGE-001The storage was saved by a newer version (left as is)
POLY-BACKUP-001World backup check failed (loading continues)
POLY-BOOTSTRAP-004Game layer jar not found
POLY-BOOTSTRAP-005Game layer failed to start

Entrypoints​

CodeMeaning
POLY-ENTRYPOINT-001Could not load the entrypoint class
POLY-ENTRYPOINT-002The entrypoint has the wrong shape (does not implement the required interface, or has no public no-argument constructor)
POLY-ENTRYPOINT-003Exception while running the entrypoint (stops the run)

Metadata — poly.mod.json​

CodeMeaningLevel
POLY-METADATA-001JSON syntax errorError
POLY-METADATA-002Required field missingError
POLY-METADATA-003Wrong field typeError
POLY-METADATA-004Unsupported schemaVersionError
POLY-METADATA-005Invalid mod IDError
POLY-METADATA-006Invalid versionError
POLY-METADATA-007Invalid environmentError
POLY-METADATA-008Invalid entrypointError
POLY-METADATA-009Invalid version rangeError
POLY-METADATA-010Feature not supported yet (for example, a non-empty provides)Error
POLY-METADATA-011Unknown fieldWarning
POLY-METADATA-012Required permission (capabilities) missingError
POLY-METADATA-013Unknown permissionWarning
POLY-METADATA-014Invalid system replacement declarationError
POLY-METADATA-015Invalid transform declarationError
POLY-METADATA-016Invalid access widening declarationError

Dependencies​

CodeMeaning
POLY-DEPENDENCY-001Duplicate mod ID
POLY-DEPENDENCY-002Required dependency missing
POLY-DEPENDENCY-003Dependency version mismatch
POLY-DEPENDENCY-004Dependency cycle
POLY-DEPENDENCY-005Conflicting mod (conflicts)
POLY-DEPENDENCY-006Environment does not match
POLY-DEPENDENCY-007Unsupported Minecraft version
POLY-DEPENDENCY-008Reserved mod ID
POLY-DEPENDENCY-009A required mod is installed but is a mod from another loader that cannot be loaded (includes the reason it is blocked)

System replacement​

CodeMeaning
POLY-SYSTEM-001More than one mod replaces the same system (reported with how to resolve it)
POLY-SYSTEM-002Unknown system
POLY-SYSTEM-003Provider creation failed, returned null, did not implement the contract, or failed system-specific validation
POLY-SYSTEM-004System that cannot be replaced
POLY-SYSTEM-005Invalid override
POLY-SYSTEM-006The game called a hook before Poly Mod Loader connected the system

Transforms​

CodeMeaning
POLY-TRANSFORM-001Target class not found
POLY-TRANSFORM-002Target method (name + descriptor) not found
POLY-TRANSFORM-003Bytecode precondition failed
POLY-TRANSFORM-004Rules that change the same method conflict: after does not define a single order, or the actions cannot be combined (all rejected)
POLY-TRANSFORM-005Verification of the transform result failed
POLY-TRANSFORM-006Game version mismatch
POLY-TRANSFORM-007Duplicate rule ID
POLY-TRANSFORM-008Cache entry corrupt (deleted and transformed again, warning)
POLY-TRANSFORM-009Cache write or cleanup failed, or the limit is still exceeded after cleanup (warning, loading continues)
POLY-TRANSFORM-010Access widening target (class or exact member) not found
POLY-TRANSFORM-011(Warning) A call redirect is left out of one class because another loader's transformer (a Fabric mod's Mixin @Redirect or @WrapOperation) already replaced or moved that call. The class still loads

Compatibility with other loaders​

CodeMeaning
POLY-COMPAT-001Mod from a loader with no bridge (blocked)
POLY-COMPAT-002The bridge failed while reading metadata (only that jar is blocked)
POLY-COMPAT-003The bridge failed to prepare the launch (prepareLaunch, for example building the Fabric Loader API) (stops startup before the entry points)
POLY-COMPAT-100Fabric: metadata (including format errors and unreadable version conditions, and a mixins list that cannot be read)
POLY-COMPAT-101Retired (2026-10-22). Mixin no longer blocks a mod by itself. Mixin configurations are judged with 131, 132, and 136
POLY-COMPAT-102Retired (2026-10-21). A class tweaker no longer blocks a mod by itself. Its access lines are applied as access widenings (125 to 130)
POLY-COMPAT-103Retired (2026-10-21). A nested jar is no longer blocked by itself. It is unpacked and judged (120 to 124)
POLY-COMPAT-104Retired (2026-10-21). A dependency on another mod is no longer blocked by itself. It is judged with 114
POLY-COMPAT-105, 106Retired (2026-10-22). preLaunch and :: entrypoint values run as in Fabric Loader
POLY-COMPAT-107, 108Fabric: other entrypoints (warning, other mods can receive them with FabricLoader.getEntrypoints), runtime environment
POLY-COMPAT-110A Fabric entrypoint threw an exception (stops startup)
POLY-COMPAT-111Link check: uses a loader runtime class or method that Poly Mod Loader does not provide (for example, Fabric Loader internal classes such as FabricLauncherBase)
POLY-COMPAT-112Link check: references a Minecraft class, method, or field that does not exist in this game version
POLY-COMPAT-113Link check (warning): a class of a mod that is not installed, a client class or a class of a client-only mod referenced on a dedicated server, a JDK incubator class, or a game member whose types no installed jar has
POLY-COMPAT-114A required dependency is missing, blocked, or has the wrong version (including minecraft and java). For a blocked dependency, the reason is included. Quilt mods' depends follow Quilt Loader's rules: a bare version such as 1.0.0 means ^1.0.0, optional dependencies are checked only when that mod is installed, and a list of IDs means any of them
POLY-COMPAT-115A mod declared in breaks is installed
POLY-COMPAT-116A mod declared in conflicts is installed (warning)
POLY-COMPAT-117Same ID (including aliases) as another installed mod
POLY-COMPAT-118Link check: a class file this Java cannot read, or a JDK class that does not exist
POLY-COMPAT-119Link check: the declared entrypoint class is in no jar
POLY-COMPAT-120(Warning) A mod that came from a nested jar: the jar that held it, and the path
POLY-COMPAT-121The outer jar that holds a nested mod is not loaded
POLY-COMPAT-122Another copy of the same mod is used (Poly Mod > directly installed mod > nested copy with the highest version)
POLY-COMPAT-123A nested jar listed in jars is missing or unreadable, or nesting is deeper than 8 levels (blocks the outer mod)
POLY-COMPAT-124(Warning) Loaded, but some nested mods inside it are not loaded, so it works only in part. Nested mods left out only because they are for the other side (108, 305, such as Fabric API's client modules on a server) do not count: Fabric Loader and Quilt Loader leave them out there too
POLY-COMPAT-125Fabric class tweaker: the file named by accessWidener is missing or unreadable, or has lines Fabric Loader would refuse. Each bad line is listed as file:line message
POLY-COMPAT-126Fabric class tweaker: the namespace is not official (for example intermediary, which would need mappings that this game version does not have)
POLY-COMPAT-127Retired (2026-10-22). Class tweaker inject-interface and extend-enum lines are applied as in Fabric Loader
POLY-COMPAT-128Link check: a class tweaker target that is a class outside the game jar. Blocks the mod and, in turn, its dependents (with file:line)
POLY-COMPAT-129(Informational) What a class tweaker widens
POLY-COMPAT-130Link check (warning): on a dedicated server, class tweaker lines for client classes are left out
POLY-COMPAT-131(Informational) The mod's Mixin configurations and which of them apply on this side
POLY-COMPAT-132A Mixin configuration marked required needs a newer Mixin. Mixin would stop the game, so the mod is left out
POLY-COMPAT-133A loader bridge's transformer (Fabric: environment stripping, interface injection, Mixin) failed on a class. The class does not load; the error names the class and, for Mixin, the mixin and its mod
POLY-COMPAT-134Mixin could not start: a configuration cannot be used, two mods use the same configuration (Fabric Loader refuses this too), or Mixin failed to enter a phase. Stops startup
POLY-COMPAT-135Link check: a class tweaker inject-interface line names an interface that no installed jar has. Blocks the mod
POLY-COMPAT-136(Warning) A Mixin configuration that is missing, is not a JSON object, or is not required and needs a newer Mixin. Mixin logs an error and skips it, as under Fabric Loader
POLY-COMPAT-137Link check (warning): a class tweaker line (access widening or interface injection) whose class or exact member this game version does not have. It is left out, as Fabric Loader applies such a line to nothing
POLY-COMPAT-138(limited) With MinecraftForge in the same game, a Fabric mod's mixin meets a class Forge patched: an injection point the patch removed (the injection moves to where Forge put the same point, or does not run), a member the mixin uses that the patch removed (that mixin is left out), an accessor of a field whose type the patch changed (calling it throws 214), or a local an injection captures by name that the patch removed (that injection does not run). The rest of the mod runs
POLY-COMPAT-139A Fabric mod that MinecraftForge also loads as a Forge mod with the same mod ID (the same mod built for both loaders) is not loaded; the Forge build runs. Mods that need the Fabric build are left out by the dependency check
POLY-COMPAT-140A Fabric or Quilt mod's mixin has an injection point whose target Mixin itself refuses (for example "Lpkg/Type;name:()V", a colon before the descriptor). In a required Mixin configuration the target class would not load, so the mod is left out before the game starts (blocking); in an optional one Mixin skips that mixin (warning). Fabric Loader and Quilt Loader use the same Mixin
POLY-COMPAT-200–204NeoForge (neoforge.mods.toml) and Forge (mods.toml), each reported by its own bridge: metadata, FML language provider, Mixin, Access Transformer, dependencies (warning)
POLY-COMPAT-205NeoForge and Forge library jar (FMLModType manifest, blocked)
POLY-COMPAT-206MinecraftForge's files (installer, libraries, patched game jar) could not be prepared, or Poly Mod Loader's class path lacks Forge's file systems; the Forge mods are not loaded
POLY-COMPAT-207Retired in 0.1.0-alpha.14: Forge mods and Fabric mods now run together. Not reused
POLY-COMPAT-208FML failed while starting (launch stops; the log has FML's own error)
POLY-COMPAT-209A Forge mod FML would refuse is left out before FML starts, so the others still run: its language loader or forge/minecraft version range does not match, a required mod is missing or left out, an installed dependency's version is outside its range, or it is a client-only mod on a server (@OnlyIn(Dist.CLIENT) @Mod class, or minecraft needed on the client side only). Mods that need it are left out too
POLY-COMPAT-210With MinecraftForge on the client, Poly Mod Loader cannot reach Forge's BrandingControl.forEachLine, which it calls to draw Forge's title screen branding with the mod counts per loader above it. The title screen fails to draw; the message names the method. Forge's patched title screen calls the same method, so this means a damaged Forge installation
POLY-COMPAT-211Forge's ModList.getModFileById or ModList.isLoaded is not the code Poly Mod Loader checked, so it is left unchanged: Forge mods do not see the Fabric mods and Poly Mods in the same game through it. The launch goes on (ADR-0025)
POLY-COMPAT-212(information) With MinecraftForge in the same game, a Fabric mod's mixin is adjusted to a class Forge patched and works as written: an accessor or invoker, or a method the mixin adds, that Forge's patch added with the same code is left to Forge's method; or a local an injection captures by name, which Forge's patch renamed, is captured under its new name
POLY-COMPAT-213(limited) With MinecraftForge in the same game, a Fabric mod's mixin adds a method that Forge's patch also added with other code. The mixin's method gets its own name and the mod's own mixins call it; other code calling that name gets Forge's method. For an accessor the mod's configuration lets Mixin replace Forge's method, so Forge's code calling it gets the accessor
POLY-COMPAT-214A Fabric mod called an accessor that cannot work with MinecraftForge in the same game, because Forge's patch changed the type of the field it reads or writes. The message names the mod, the accessor, the field and both types; that feature of the mod does not work with Forge (Fabric API's FabricDefaultAttributeRegistry.MODIFY)
POLY-COMPAT-215(NeoForge) NeoForge's FMLLoader is not the code Poly Mod Loader checked, so Poly Mod Loader cannot make its game class loader define NeoForge's game layer; the launch stops instead of letting FML's own class loader own the game. The message names what was not found. It means a NeoForge release Poly Mod Loader has not checked.
POLY-COMPAT-216(NeoForge) NeoForge cannot run in this launch, so its mods are left out and the rest of the game starts: Poly Mod Loader has no NeoForge release for this Minecraft version, NeoForge's files cannot be downloaded or checked, Fabric or Quilt mods are in the same game (NeoForge mods do not run together with them), or Poly Mod Loader was started without its Java agent, which NeoForge needs (the installed launcher profile and server start it). The message names the reason.
POLY-COMPAT-217(NeoForge) A NeoForge mod that NeoForge's FML would refuse is left out before FML starts, so the other mods still run (FML would stop the whole launch). The reasons are those FML 11 checks in neoforge.mods.toml: the javafml loader version, a required mod that is missing or left out, a neoforge, minecraft or other mod version outside the declared range, or an incompatible mod that is installed. Mods that need the left-out mod are left out too.
POLY-COMPAT-218(NeoForge) NeoForge's ModList.getModFileById or ModList.isLoaded is not the code Poly Mod Loader checked, so it is left unchanged: NeoForge mods do not see the Poly Mods in the same game through it. The launch goes on (ADR-0025, ADR-0026)
POLY-COMPAT-219Retired (2026-10-24, before any release used it). Poly Mod Loader no longer calls NeoForge's BrandingControl itself: it adds the mod counts per loader to the list NeoForge's branding is drawn from, so there is nothing to reach. If NeoForge builds its branding differently, the mod counts are left out and the rule is reported as off
POLY-COMPAT-300Quilt: quilt.mod.json is metadata Quilt Loader would refuse (not a JSON object, a schema_version other than 1, a missing or invalid id, group or version, a malformed entrypoints, jars, depends, breaks, provides, mixin or access_widener, an unreadable version range, an unknown intermediate_mappings or required_features). Blocks the mod; nothing else is reported for it
POLY-COMPAT-301Quilt: the mod declares a loader plugin (experimental_quilt_loader_plugin). Poly Mod Loader does not provide Quilt Loader's plugin API. Blocks the mod
POLY-COMPAT-302Quilt: the mod uses a language adapter (language_adapters, or an entrypoint whose adapter is not default). No Quilt language adapter exists for Minecraft 26.x. Blocks the mod
POLY-COMPAT-303Quilt (warning): QSL entrypoints (init, client_init, server_init) are not run. Quilt Loader does not run them either without QSL, which has no release for Minecraft 26.x
POLY-COMPAT-304Quilt (warning): another entrypoint key (for example modmenu) that Poly Mod Loader does not run; other mods can receive it with QuiltLoader.getEntrypoints or FabricLoader.getEntrypoints (like Fabric 107)
POLY-COMPAT-305Quilt: minecraft.environment is for the other side (a client mod on a dedicated server, a dedicated_server mod on the client). Not loaded (like Fabric 108)
POLY-COMPAT-306Quilt: required_features asks for the modifiable file system overlay (modifiable_filesystem_overlay), which Poly Mod Loader does not provide. Blocks the mod
POLY-COMPAT-307Quilt (not an error): a nested Quilt mod that loads only when required (load_type if_required, the default) and that no loaded mod requires. Not loaded, as under Quilt Loader; not counted in the outer mod's 124
POLY-COMPAT-308Quilt: the mod depends on a QSL or Quilted Fabric API module (for example quilt_base, quilt_resource_loader, quilted_fabric_api). Neither has a release for Minecraft 26.x, so the dependency cannot be met under Quilt Loader either. The mod is left out with 114; this code gives the reason
POLY-COMPAT-309Quilt (information): values Quilt Loader reads that have no effect in this launch: repositories, intermediate_mappings (26.x is not remapped), unknown quilt_loader keys, a top-level environment
POLY-COMPAT-310(Warning) The jar has both fabric.mod.json and quilt.mod.json. Poly Mod Loader runs it as a Fabric mod, so jars that already run as Fabric mods keep doing so; Quilt Loader would read quilt.mod.json instead

More details are in Compatibility.

Bootstrap and discovery​

CodeMeaning
POLY-BOOTSTRAP-001Cannot read the game jar
POLY-BOOTSTRAP-002No version adapter for this Minecraft version
POLY-BOOTSTRAP-003Launch configuration error
POLY-BOOTSTRAP-004Game layer jar not found
POLY-BOOTSTRAP-005Game layer failed to start
POLY-BOOTSTRAP-006poly.gameJar is not set, and the launch class path has no game jar (a jar with version.json) or more than one. Reinstall with the installer, or set -Dpoly.gameJar
POLY-BOOTSTRAP-007The game stopped with an error that reached Poly Mod Loader's launcher; Poly Mod Loader logs it and exits with status 1, so threads mods started do not keep the process running without a game
POLY-DISCOVERY-002A jar with no known mod metadata (not loaded)
POLY-DISCOVERY-003A file that cannot be read as a jar (for example, an interrupted download, not loaded). Poly Mod Loader keeps judging the other mods

Shutdown and events​

CodeMeaning
POLY-SHUTDOWN-001A shutdown task failed (the rest continue)
POLY-SHUTDOWN-002Registration after shutdown started
POLY-EVENT-001Listener exception (that listener is disabled)
POLY-EVENT-002The server accessor does not match the version adapter
POLY-EVENT-003A decision event listener returned null (that listener is disabled, and its answer counts as PASS)
Buy me a coffee