diff --git a/source/funkin/modding/PolymodHandler.hx b/source/funkin/modding/PolymodHandler.hx
index 3096fce7d..4255593f7 100644
--- a/source/funkin/modding/PolymodHandler.hx
+++ b/source/funkin/modding/PolymodHandler.hx
@@ -52,6 +52,8 @@ class PolymodHandler
     null
     #end;
 
+  public static var loadedModIds:Array<String> = [];
+
   /**
    * If the mods folder doesn't exist, create it.
    */
@@ -159,9 +161,11 @@ class PolymodHandler
       }
     }
 
+    loadedModIds = [];
     for (mod in loadedModList)
     {
       trace('  * ${mod.title} v${mod.modVersion} [${mod.id}]');
+      loadedModIds.push(mod.id);
     }
 
     #if debug
diff --git a/source/funkin/util/logging/CrashHandler.hx b/source/funkin/util/logging/CrashHandler.hx
index 610247e5b..8cfa2270f 100644
--- a/source/funkin/util/logging/CrashHandler.hx
+++ b/source/funkin/util/logging/CrashHandler.hx
@@ -162,6 +162,26 @@ class CrashHandler
 
     fullContents += '\n';
 
+    fullContents += 'Loaded mods: \n';
+
+    if (funkin.modding.PolymodHandler.loadedModIds.length == 0)
+    {
+      fullContents += 'No mods loaded.\n';
+    }
+    else
+    {
+      for (mod in funkin.modding.PolymodHandler.loadedModIds)
+      {
+        fullContents += '- ${mod}\n';
+      }
+    }
+
+    fullContents += '\n';
+
+    fullContents += '=====================\n';
+
+    fullContents += '\n';
+
     fullContents += message;
 
     fullContents += '\n';