DriversRecommendedOutdated drivers can make a good PC feel brokenScan driver issues before chasing fixes manually.Scan NowHalloween DealsAmazon USHalloween week deals: useful picks before month-endAmazon US: current deals, useful picks and tech finds.Check DealsWindows FixRecommendedWindows errors stealing your time? Find the fix fastScan stability, cleanup and performance issues.Fix Now×
Skip to content
VGSources
Blog

How to Fix the “Circular Dependencies Detected” Error in Minecraft

Paper’s circular-dependency error is a plugin load-order loop. Follow the cycle in latest.log, test one plugin change at a time, and reserve -Dpaper.useLegacyPluginLoading=true for temporary recovery.
WorldMinecraft Length9 min Posted Quest giverVGSources Team
Special offer. See more information about Outbyte and uninstall instructions. Please review EULA and Privacy policy.

Paper stops a Minecraft server when its plugins form a circular load-order relationship. Read the cycle printed in the startup log, identify the plugins named in it, then update, remove, or correct one of their dependency declarations. That breaks the loop and is the durable fix. The -Dpaper.useLegacyPluginLoading=true JVM property can start the server temporarily, but it bypasses Paper’s protection and should not replace repairing the plugins.

What “Circular Dependencies Detected” means

This is a Paper or Bukkit plugin-loading error, not a corrupted world-save message. During startup, Paper builds an ordering graph from every plugin’s metadata. A required or requested relationship says which plugin should load first. A circular dependency exists when those relationships eventually point back to the plugin where they began.

As an Amazon Associate I earn from qualifying purchases.

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.

For example, Plugin A can require Plugin B to load first, Plugin B can require Plugin C, and Plugin C can require Plugin A. The resulting chain is Plugin A -> Plugin B -> Plugin C -> Plugin A. No first plugin satisfies all three requirements. Paper therefore refuses to guess an order and shuts the server down. Its documentation states: “If Paper detects a loop, your server will be shut down with an error.” See the Paper plugins reference.

The names in the chain are not a universal list of faulty plugins. They are the exact plugins and versions installed on your server, along with the ordering metadata those files declare. An example shown in Paper’s troubleshooting guide is illustrative only; use the cycle printed by your own server.

#1 Best Overall
Minecraft - Nintendo Switch
  • Minecraft is a game about placing blocks and going on adventures
  • Explore randomly generated worlds and build amazing things from the simplest of homes to the grandest of castles
  • Play in creative mode with unlimited resources or mine deep into the world in survival mode, crafting weapons and armor to fend off the dangerous mobs
  • Play on the go in handheld or tabletop modes
  • Includes Super Mario Mash-Up, Natural Texture Pack, Biome Settlers Skin Pack, Battle & Beasts Skin Pack, Campfire Tales Skin Pack; Compatible with Nintendo Switch only

Stop the restart loop and preserve the evidence

Repeatedly launching a server that immediately exits can obscure the first useful error and make changes difficult to track. Stop the server cleanly, make a backup of the server directory, and save the startup output before testing a fix.

  • Back up the world folders, plugins directory, configuration files, and the current Paper JAR.
  • Do not delete worlds, regenerate a map, or replace Java before checking the plugin cycle. Paper’s diagnostic sequence starts with plugin loading.
  • Keep one copy of the original plugin JARs so you can restore the previous state if a test introduces a second problem.

If a hosting panel hides the console after a failed launch, download the server log or open logs/latest.log. Paper’s basic troubleshooting guide and plugin installation guide identify that file as the normal place to investigate startup failures.

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

Read the exact dependency cycle

1. Find the first complete loop

Look near the end of the startup output for “Circular dependencies detected” or “Circular plugin loading detected.” Paper normally prints an arrow-separated chain. Copy every plugin name in the first complete loop, including the plugin repeated at the end. For example, a line such as Plugin1 -> Plugin2 -> Plugin3 -> Plugin4 -> Plugin1 identifies four participants.

There may be more than one loop. Start with the first one that prevents startup, because correcting it can change or remove later messages. Record the exact capitalization and, if shown, the version numbers.

2. Treat the first named plugin as an author-contact lead

Paper’s troubleshooting advice says there is often a problematic plugin and that administrators should report the issue to its authors. Contact the maintainer of the first plugin in the printed chain with the complete log, the Paper build, the Minecraft version, and the versions of every plugin in the cycle. Include the unedited dependency line rather than paraphrasing it.

Rank #2
Minecraft: Switch Edition
  • Explore randomly-generated worlds and build amazing things from the simplest of homes to the grandest of castles
  • Play in Creative Mode with unlimited resources or mine deep into the world in survival mode, crafting weapons and armour to fend off the dangerous mobs

3. Check what changed immediately before the failure

Compare the current plugins folder with your backup or change notes. A cycle commonly appears after adding a plugin, updating one of the named JARs, installing a compatibility bridge, or editing plugin.yml or paper-plugin.yml. The timing does not prove which plugin is wrong, but it gives you a controlled first candidate.

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

Understand the metadata that creates the loop

Paper reads dependency and ordering entries from each plugin descriptor. The definitions in the plugin.yml and paper-plugin.yml documentation determine whether another plugin is required, optional, or merely preferred before this one.

Entry Meaning during loading How a cycle can form
depend The named plugin is required and must load first. Startup should not continue if it is unavailable. Plugin A declares depend: [B] while B declares depend: [A], creating a direct two-plugin loop.
softdepend The named plugin is optional, but the loader requests that it be considered before this plugin when present. Two optional integrations can still create reciprocal ordering requests when both JARs are installed.
loadbefore This plugin asks to load before the named plugin. A loadbefore request can conflict with the other plugin’s depend, softdepend, or opposing loadbefore entry.

Inspect the descriptors inside the JARs named in the cycle. A JAR is a ZIP archive, so its metadata can be viewed with an archive tool without running the plugin. Do not edit a vendor JAR as a first choice: an update may overwrite the change, and a malformed descriptor can prevent the plugin from loading at all. If the declarations are genuinely reciprocal, the plugin authors should publish a compatible release with one valid direction or a shared core dependency.

Permanent repair: remove the cycle one change at a time

Step 1: Make a controlled test copy

Use a backup or staging instance with the same Paper build, Minecraft version, plugins, and configuration. If you must work on the live server, stop it fully before moving a JAR. Change only one variable per restart; otherwise you cannot tell which action removed the loop.

Step 2: Disable the most recently changed suspect

Move one plugin JAR from plugins to a temporary folder outside the server, then start Paper. Removing the problematic plugin is the immediate recovery method recommended in Paper’s troubleshooting material. If the server starts, the removed plugin is either part of the cycle or the change that exposed it. Keep the log from this test.

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

If the same cycle appears, restore that JAR and test the next named plugin. Never remove several participants at once unless the server is needed only for emergency access; a multi-plugin change hides the cause and can create missing-dependency errors.

Step 3: Install compatible versions

Check each participant’s release notes and compatibility declaration for your Minecraft and Paper versions. Replace an outdated JAR with a release that corrects the dependency metadata, or roll back the newly updated plugin to the last known working version. Remove duplicate JARs with different versions; loading two copies can produce confusing dependency and provider errors even after the original loop is gone.

Step 4: Correct an edited descriptor only when you own the plugin

If this is your plugin, or its maintainer gives you a specific patch, make the graph one-directional. A common design is a shared API or core plugin that loads first, with separate feature plugins depending on that core; the feature plugins do not depend on one another. Rebuild the JAR, replace the old copy, and test on the backup instance.

For a third-party plugin, do not guess which declaration to delete. Removing a real required dependency can let the server boot while leaving commands, events, or data handling broken. Send the author the cycle and ask which relationship should be optional, removed, or redirected through a common core.

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

Step 5: Confirm a clean startup and normal behavior

After the server starts, read the complete log rather than stopping at the first “Done” message. Confirm that every intended plugin enables, no dependency is reported as missing, and the affected commands or integrations work. Then repeat the test after restoring your normal startup script and configuration.

Rank #4
Minecraft | Standard Edition | XBOX Digital Code
  • CREATE YOUR WORLD — Build whatever you imagine in an infinite world that is unique in every playthrough.
  • EXPLORE AND CRAFT — Discover biomes, resources, and mobs, then craft your way through a sandbox world full of surprises.
  • SURVIVAL ADVENTURES — Face mysterious foes, travel across varied landscapes, and venture into perilous dimensions.
  • PLAY TOGETHER — Play solo or join friends in local split-screen and cross-platform play across console, mobile, and PC. Online multiplayer supports up to 8 players.
  • COMMUNITY PLAY — Connect with players on community servers, or subscribe to Realms Plus (sold separately) to play with up to 10 friends on a private server.

Temporary workaround: legacy plugin loading

Paper provides a compatibility switch that allows cyclic loading:

-Dpaper.useLegacyPluginLoading=true

Paper documents the property in its system-properties reference. Its default is false. The legacy path is a last resort because it permits an order that the modern loader rejected; plugins can observe inconsistent initialization, fail later in less obvious places, or behave differently after a future Paper update. Paper warns that this path may not be supported indefinitely. The troubleshooting guide likewise treats it as a temporary measure for hard-to-debug situations.

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

Linux, macOS, and other shell scripts

Put the property among the JVM options, before -jar:

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

The order matters conceptually: -D... is a Java system property, while -jar starts the server application. Keep your existing memory values and JAR filename if they differ from this example.

Windows batch files

Add the same -Dpaper.useLegacyPluginLoading=true token to the existing java command, before -jar. Do not place it on a separate line unless that line is itself a complete Java launch command.

Best Value
Minecraft | Java & Bedrock Deluxe Collection | Windows Digital Code
  • DELUXE COLLECTION — Includes Minecraft: Java & Bedrock Edition, three Bedrock add-ons, three exclusive Character Creator items, and 700 Minecoins.
  • CREATE YOUR WORLD — Build whatever you imagine in an infinite world that’s unique in every playthrough.
  • EXPLORE AND CRAFT — Discover biomes, resources, and mobs, then craft your way through a sandbox world filled with surprises.
  • SURVIVE THE ADVENTURE — Face mysterious foes, travel across exciting landscapes, and venture into perilous dimensions.
  • PLAY TOGETHER — Play cross-platform with friends in Bedrock Edition on console, mobile, and PC, or join community servers in Java Edition on PC, Mac, and Linux. Online console multiplayer requires a platform-specific subscription (sold separately).

Hosting control panels

Some managed panels expose a checkbox or startup-variable field instead of the raw command line. One documented example labels the option “Paper legacy plugin loading” and applies it after enabling the setting and restarting: panel instructions for the Paper legacy-loader setting. The label and location vary by host, so confirm that the panel adds the JVM property rather than a plugin configuration value.

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.

Use the switch only long enough to access the server, export necessary data, or verify which plugin needs repair. Remove it after installing a compatible plugin release and perform a normal startup test.

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

Permanent repair versus the legacy workaround

Criterion Repair the dependency graph Enable legacy loading
Startup reliability Restores a deterministic order that Paper can validate. May start the server, but order-dependent plugins can still initialize unpredictably.
Future Paper compatibility Aligned with the current loader and less dependent on deprecated behavior. Paper warns the legacy path may not remain supported.
Hidden behavior risk Low once the metadata and plugin versions are compatible. Higher; failures can move from startup into runtime events or integrations.
Reversibility Requires restoring or replacing JARs, but the change can be tested on a backup. Easy to toggle by removing one JVM flag, although the underlying defect remains.
Does it remove the defect? Yes: it removes the reciprocal requirement or installs a corrected release. No: it bypasses detection and leaves the cycle installed.

Troubleshooting branches when the first fix does not work

The same cycle is printed after removing one plugin

Verify that the JAR was actually moved from the active plugins directory and that a duplicate copy is not present under another filename. Check the new latest.log rather than an older console transcript. If the participant list changes, work from the newest complete cycle.

The server now reports a missing dependency

The removed plugin may have been required by another plugin, even if it was not the correct permanent fix. Restore the backup, then install compatible versions or ask the author for a release that removes the reciprocal declaration. Do not solve a missing dependency by randomly adding similarly named JARs.

The server starts with the flag but features fail later

That confirms only that legacy loading bypassed the startup check; it does not establish that the plugins are compatible. Capture the first runtime stack trace, disable the legacy property, and return to the cycle’s participants. Report both the startup chain and the later failure to the relevant authors.

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

No cycle appears in the visible console

Open logs/latest.log directly and search for “circular,” “dependency,” and “plugin loading.” A panel may truncate the console or show only the last restart. Download the full file before changing anything.

You suspect the world or Java installation

Test with a copy of the server and the same Java runtime after the plugin set is known to start. The circular-dependency message describes an ordering conflict in plugin metadata; deleting world data or replacing Java does not remove that graph. Start with the named plugins and their descriptors.

Preventing the error after recovery

  • Keep a dated list of plugin JAR filenames and versions so an update can be correlated with a new cycle.
  • Apply one plugin update at a time, restart on a backup instance, and retain the previous JAR until the test passes.
  • Read release notes for dependency changes before installing integrations that connect two existing plugins.
  • Keep the Paper startup log from every change; the exact chain is more useful to an author than a screenshot saying only “server stopped.”
  • For plugins you develop, define one-way dependencies around a shared API or core and avoid reciprocal depend, softdepend, and loadbefore declarations.
  • Remove paper.useLegacyPluginLoading=true from scripts and panel settings once the graph is repaired, then verify a clean startup without it.

Key takeaway

Paper is refusing to choose an unsafe startup order, not reporting a damaged Minecraft world. The reliable solution is to follow the arrow chain in logs/latest.log, isolate the named plugin change, and update, remove, or reconfigure the dependency that points back into the loop. Legacy loading can provide short-term access, but it should be treated as a reversible emergency measure while the plugin authors or administrators correct the metadata.

Quick Recap

Bestseller No. 1
Minecraft - Nintendo Switch
Minecraft - Nintendo Switch
Minecraft is a game about placing blocks and going on adventures; Play on the go in handheld or tabletop modes
$29.82
Bestseller No. 2
Bestseller No. 3

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.

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

Leave a Reply

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

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

More quests from Patch Notes

  1. How to Set Up a RedM (RDR2) Server in 2026: License Key, txAdmin and server.cfg, Step by StepBlog11min
  2. Best RedM (RDR2) Server Hosting in 2026: Comparing Four Hosts on Slots, Memory and PriceBlog10min
  3. How to Host a Mindustry Server in 2026: server-release.jar, Port 6567 and the Commands That MatterBlog7min
Recommended PC Tool
Recommended PC Tool
Crashes, No Sound, or Screen Glitches?Free driver scan
PC Slower Than It Used to Be?Free scan - under a minute

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.