Halloween DealsAmazon USHalloween week deals: useful picks before month-endAmazon US: current deals, useful picks and tech finds.Check DealsPC HealthRecommendedCrashes, freezes, slowdowns? Check your PC nowSpot repairable issues before they interrupt work.Check PCHalloween DealsAmazon USOctober picks are moving - compare before checkoutAmazon US: current deals, useful picks and tech finds.See Picks×
Skip to content
World desk6 min

How to Fix the “Circular Dependencies Detected” Error in Minecraft (Paper/Bukkit)

Paper shuts down when plugin metadata creates an impossible load-order loop. This guide shows how to identify the named cycle, test one plugin at a time, apply a permanent fix, and safely remove the legacy-loading workaround.
Special offer. See more information about Outbyte and uninstall instructions. Please review EULA and Privacy policy.

If a Paper or Bukkit server stops with “Circular dependencies detected!”, inspect the cycle printed in the startup log, then update, remove, or reconfigure one of the named plugins so the dependency graph has a single direction. The error is a plugin load-order problem, not a damaged world. Only use -Dpaper.useLegacyPluginLoading=true as a temporary fallback while the plugins are repaired.

What the circular-dependencies error means

Paper loads plugins in an order that honors the relationships declared in each plugin’s metadata. A circular dependency exists when those relationships form a loop: Plugin A must load before Plugin B, B must load before C, and C must load before A. No first plugin can satisfy all three conditions, so Paper refuses to guess.

As an Amazon Associate I earn from qualifying purchases.

Special offer. See more information about Outbyte and uninstall instructions. Please review EULA and Privacy policy.

Paper’s plugin reference states: “If Paper detects a loop, your server will be shut down with an error.” The shutdown is deliberate. Starting in an arbitrary order could leave one plugin partly initialized, with failures that appear later as missing commands, broken events, data corruption, or inconsistent behavior. See the Paper plugins reference for the loader’s documented behavior.

The loop may contain two plugins or a longer chain. A typical diagnostic line looks like Plugin1 -> Plugin2 -> Plugin3 -> Plugin4 -> Plugin1. The names in your own message are authoritative; examples from another server are not a universal culprit list.

Find the exact loop before changing anything

Stop restart attempts

Stop the server and prevent an automatic restart while you investigate. Repeated launches only reproduce the same failure and can make a managed panel’s console harder to read. Do not delete worlds, regenerate configuration, or replace Java before checking the plugin cycle.

Read the startup console and latest log

Copy the first circular-dependency message from the console, including every plugin name and the arrows showing the order. Then open logs/latest.log in the server directory. Paper’s basic troubleshooting guide uses the startup output to identify the loop, and its adding-plugins guide directs administrators to the latest log when diagnosing load failures.

Special offer. See more information about Outbyte and uninstall instructions. Please review EULA and Privacy policy.

Use the first complete loop you see, not a later stack trace. A later exception may be a consequence of the loader stopping and may point at a plugin that is merely downstream of the real ordering conflict.

Record versions and recent changes

  • Write down the exact JAR filename and version for every plugin named in the loop.
  • Note which plugin was installed, updated, downgraded, or removed immediately before the failure.
  • Check whether plugin.yml or paper-plugin.yml was edited, regenerated, or replaced.
  • Keep a backup of the server and a copy of the current plugin directory before testing.

How plugin metadata creates a loop

Paper reads ordering declarations from plugin metadata. The three relationships most relevant to this error are:

Declaration Meaning How it can contribute to a cycle
depend The named plugin is required and must be loaded first. If two plugins each declare the other as a required dependency, each waits for the other.
softdepend The named plugin is optional, but Paper attempts to load it first when it is present. Two optional integrations can still request opposite ordering, even though neither is strictly required.
loadbefore The plugin requests that another plugin load after it. A loadbefore request can conflict with a dependency or ordering request that points the other way.

These definitions are documented in Paper’s plugin.yml and paper-plugin.yml reference. A cycle can be introduced by a release that changed metadata even when the plugin’s visible features did not change.

Step-by-step repair workflow

1. Map the cycle

  1. Copy the complete arrow chain from the error.
  2. Draw each arrow as “must load before.” For example, A -> B means A is required or requested before B in the reported chain.
  3. Mark the arrow that closes the loop. That edge is often the declaration added or changed by the newest plugin release.

Do not infer a cause from the alphabetical order of files in the plugins folder. Paper uses metadata, not filename order, to resolve dependencies.

Free tools Windows power users keep installed

One-click scans. No signup required.

Special offer. See more information about Outbyte and uninstall instructions. Please review EULA and Privacy policy.

2. Check the named plugins’ metadata and release notes

Inspect the JARs or the project’s documented configuration for depend, softdepend, and loadbefore entries. Compare the current release with the last version that started successfully. If a plugin’s documentation identifies a required companion, make sure that companion is the supported version rather than a similarly named fork or outdated build.

When a plugin bundles or shades another library, do not treat that library as a separate server plugin unless its documentation says to install it separately. Installing duplicate or incompatible copies can create additional loading conflicts, although the circular message itself is still caused by ordering declarations.

3. Reproduce with one controlled change

  1. Make a full backup of the world, configuration, and plugin directory.
  2. Move one suspect JAR out of plugins into a temporary holding folder; do not delete it.
  3. Start the server once and record whether the cycle disappears or changes.
  4. Stop the server before making the next change.

Change only one plugin per attempt. If several JARs are removed together, you may get a successful boot but lose the information needed to identify the incompatible relationship.

4. Choose the permanent fix

Use the result of the controlled test to select one of these repairs:

Special offer. See more information about Outbyte and uninstall instructions. Please review EULA and Privacy policy.
Rank #3
Mattel Games UNO Minecraft Card Game with Storage Tin,Ages 7+ | Video Game Themed Deck with Special Rule for Kids, Teens, Parties & Family Game Night, 2-10 Players (Amazon Exclusive)
  • The classic UNO card game builds fun on game night with a Minecraft theme.
  • UNO Minecraft features a deck and storage tin decorated with graphics from the popular video game.
  • Players match colors and numbers to the card on top of the discard pile as in the classic game.
  • The Creeper card unique to this deck forces other players to draw 3 cards.
  • Makes a great gift for kid, teen, adult and family game nights with 2 to 10 players ages 7 years and older, especially Minecraft and video game fans.
  • Update: install a release whose metadata no longer requests the reciprocal ordering, after confirming it supports your Paper build and Minecraft version.
  • Roll back: restore the last known-good plugin version if the loop began immediately after an update. Keep the newer JAR outside the server so it is not loaded accidentally.
  • Remove: leave the plugin disabled if it is optional or has no compatible release. Removing one edge from the graph is safer than forcing an arbitrary order.
  • Reconfigure integration: if a plugin offers an option to disable an optional hook or bridge, use that setting so only the necessary plugin remains in the ordering relationship.
  • Contact the maintainer: send the complete cycle, Paper version, Minecraft version, plugin versions, and the relevant log excerpt. Paper’s troubleshooting guidance says there is often a problematic plugin and recommends reporting the issue to its authors; see the troubleshooting page.

5. Verify a clean startup

After the server starts, review the entire boot log rather than stopping at the first “Done” line. Confirm that every plugin in the former cycle reports a normal enable message, that required commands register, and that no new dependency or class-loading errors appear. Join with a test account and exercise the features that use the affected plugins before returning the server to players.

What a healthy dependency design looks like

The stable pattern is a one-way graph. A shared core or API plugin loads first, and feature plugins depend on that core without depending on one another. For example:

SharedCore
  ├── EconomyFeature
  └── ClaimsFeature

An unstable pattern is two feature plugins that each declare the other as a required or preferred predecessor. If both integrations are optional, the maintainer should normally choose one direction or remove the ordering request and discover the other plugin at runtime. The exact change belongs in the plugin’s metadata and source; server administrators should not edit a signed or packaged JAR unless the maintainer explicitly provides that procedure.

Temporary workaround: enable legacy plugin loading

Paper provides a compatibility switch that permits cyclic loading:

Special offer. See more information about Outbyte and uninstall instructions. Please review EULA and Privacy policy.
-Dpaper.useLegacyPluginLoading=true

The documented default is false. Paper’s system-properties reference describes the property, while the plugin reference warns that the legacy path may not be supported indefinitely. Paper’s troubleshooting guidance treats it as a last resort because it can produce hard-to-debug plugin behavior.

Rank #4
Mattel Games UNO Minecraft Card Game for Kids, Adults, Families & Parties, Deck & Special Rule Inspired by the Video Game, 2 to 10 Players
  • Now Minecraft lovers can play a special version of UNO!
  • Same as Basic UNO but features Minecraft characters and includes special Creeper rule card. Draw this card and the other players have to draw three more cards from the pile!
  • The goal is to get rid of all the cards in your hand.
  • First player or team to 500 wins.
  • When you're down to one card, don't forget to yell "UNO"!

Linux, macOS, or a shell startup script

Put the property on the Java command before -jar. For example:

java -Dpaper.useLegacyPluginLoading=true -Xms2G -Xmx4G -jar paper.jar nogui

Keep the existing memory settings, Paper JAR name, and other JVM flags from your script. The important placement rule is that the -D option belongs to Java’s options, before -jar; placing it after paper.jar passes it to Paper as an application argument instead of setting the JVM property.

Special offer. See more information about Outbyte and uninstall instructions. Please review EULA and Privacy policy.

Windows batch file

Edit the existing line that starts the server and insert -Dpaper.useLegacyPluginLoading=true alongside the other Java options, before -jar. Save a backup of the batch file so you can remove the switch after the plugin repair.

Managed hosting panel

Some panels expose the property as a startup variable, checkbox, or advanced Java option. Add the exact property value to the panel’s Java command, save it, and restart once. One documented example is a panel setting labeled “Paper legacy plugin loading”; its instructions are at Mastering Minecraft Java: A Beginner's Guide to Downloading and Installing: Even If You've Never Played Before!

Independent reader supportYour contribution helps us test, update, and keep practical guides available for everyone.Support on Ko-Fi

Permanent repair versus legacy loading

Option Startup reliability Future Paper compatibility Behavioral risk Reversibility Does it remove the defect?
Update, remove, or reconfigure a named plugin High once the graph is acyclic Best; uses the supported loader Limited to the chosen plugin change and its documented compatibility Usually easy with a backup or rollback Yes
Legacy property May start the server, but does not guarantee correct initialization Uncertain; Paper warns the path may not remain supported Higher; ordering-dependent failures can surface after startup Easy to disable by removing one JVM flag No

Use the first row for production. Use the second only when you need temporary access to the server to make a backup, export data, or coordinate a plugin fix, and monitor the console for errors while it is enabled.

PerformancePC Slower Than It Used to Be?DriversCrashes, No Sound, or Screen Glitches?
Special offer. See more information about Outbyte and uninstall instructions. Please review EULA and Privacy policy.

Common mistakes and why they do not fix this error

If the server still will not start after a change

The same cycle appears

Confirm that the old JAR is actually outside the active plugins directory and that a panel has not restored it from an automatic deployment task. Check the console for a second cycle; fixing one loop can reveal another independent loop.

The cycle changes to a missing dependency

The removed plugin was providing a required service to another plugin. Restore the backup, then install the provider and consumer versions that their maintainers document as compatible, or remove the consumer as well. Do not solve a missing dependency by copying an arbitrary JAR into the folder.

The server starts but features fail

Disable legacy loading if it is active, restore the last known-good plugin set, and test the permanent update or rollback one variable at a time. Capture the complete startup log and the first runtime stack trace for the affected plugin’s maintainer.

A hosting panel keeps restarting the server

Use the panel’s stop control, disable its automatic-restart rule temporarily, and download logs/latest.log. After changing one plugin, start manually and verify the result before re-enabling automatic restarts.

Quick wins for a faster PC:

Clear out junk files and repair common Windows errorsFree Scan →Scan for outdated or missing drivers - takes under a minuteDriver Scan →
Special offer. See more information about Outbyte and uninstall instructions. Please review EULA and Privacy policy.

Quick Recap

Prevention checklist for future plugin updates

Key points to remember

Product prices and availability are accurate as of the date/time indicated and are subject to change. Any price and availability information displayed on Amazon at the time of purchase will apply.

Leave a Reply

Your email address will not be published. Required fields are marked *

What’s actually slowing this PC down?

Pick the symptom - the matching free tool is one click away.

Special offer. See more information about Outbyte and uninstall instructions. Please review EULA and Privacy policy.

More from the Wire

  1. World desk4 min
    How to Spot an AI Voice Scam Before Sending MoneyDon’t rely on how a caller sounds. Pause, call back through a known number, and verify the emergency with another trusted person before sending money.
  2. Mountain View desk4 min
    Google’s SynthID Detector: How to Check AI-Generated Images, Video and AudioGoogle’s SynthID Detector looks for an embedded watermark in supported images, video and audio. Here is what its results do—and do not—show.
  3. Redmond desk20 min
    How to create a link to File or Folder in Windows 11Windows 11 gives you several ways to point to a file or folder without moving or duplicating it. You can create a desktop shortcut,…
Recommended PC Tool
Recommended PC Tool
Windows Errors? Fix Them Before They SpreadFree repair scan
Crashes, No Sound, or Screen Glitches?Free driver scan

Two free Windows tools

One Free Minute Could Fix That PC

Before you go - each of these free tools takes about a minute and tackles what quietly slows a Windows PC down.

Special offer. View Outbyte info, uninstall instructions, EULA, and Privacy Policy.