diff --git a/loader/src/internal/crashlog.cpp b/loader/src/internal/crashlog.cpp
index 919610bf..2ab668a4 100644
--- a/loader/src/internal/crashlog.cpp
+++ b/loader/src/internal/crashlog.cpp
@@ -1,6 +1,7 @@
 #include "crashlog.hpp"
 #include <fmt/core.h>
 #include "about.hpp"
+#include "../loader/ModImpl.hpp"
 
 using namespace geode::prelude;
 
@@ -33,7 +34,7 @@ void crashlog::printMods(std::stringstream& stream) {
     using namespace std::string_view_literals;
     for (auto& mod : mods) {
         stream << fmt::format("{} | [{}] {}\n",
-            mod->isEnabled() ? "x"sv : mod->shouldLoad() ? "~"sv : " "sv,
+            mod->isEnabled() ? "x"sv : mod->shouldLoad() ? "~"sv : ModImpl::getImpl(mod)->isCurrentlyLoading() ? "o"sv : " "sv,
             mod->getVersion().toString(), mod->getID()
         );
     }
diff --git a/loader/src/loader/ModImpl.cpp b/loader/src/loader/ModImpl.cpp
index 86980374..bea1b1ac 100644
--- a/loader/src/loader/ModImpl.cpp
+++ b/loader/src/loader/ModImpl.cpp
@@ -381,14 +381,17 @@ Result<> Mod::Impl::loadBinary() {
     LoaderImpl::get()->provideNextMod(m_self);
 
     m_enabled = true;
+    m_isCurrentlyLoading = true;
     auto res = this->loadPlatformBinary();
     if (!res) {
+        m_isCurrentlyLoading = false;
         m_enabled = false;
         // make sure to free up the next mod mutex
         LoaderImpl::get()->releaseNextMod();
         log::error("Failed to load binary for mod {}: {}", m_metadata.getID(), res.unwrapErr());
         return res;
     }
+    m_isCurrentlyLoading = false;
 
     LoaderImpl::get()->releaseNextMod();
 
@@ -745,6 +748,10 @@ bool Mod::Impl::shouldLoad() const {
     return Mod::get()->getSavedValue<bool>("should-load-" + m_metadata.getID(), true);
 }
 
+bool Mod::Impl::isCurrentlyLoading() const {
+    return m_isCurrentlyLoading;
+}
+
 static Result<ModMetadata> getModImplInfo() {
     std::string error;
     auto res = matjson::parse(LOADER_MOD_JSON, error);
diff --git a/loader/src/loader/ModImpl.hpp b/loader/src/loader/ModImpl.hpp
index 2664a6b5..a7eb951d 100644
--- a/loader/src/loader/ModImpl.hpp
+++ b/loader/src/loader/ModImpl.hpp
@@ -64,6 +64,8 @@ namespace geode {
 
         std::unordered_map<std::string, char const*> m_expandedSprites;
 
+        bool m_isCurrentlyLoading = false;
+
         ModRequestedAction m_requestedAction = ModRequestedAction::None;
 
         Impl(Mod* self, ModMetadata const& metadata);
@@ -150,6 +152,7 @@ namespace geode {
         void setLoggingEnabled(bool enabled);
 
         bool shouldLoad() const;
+        bool isCurrentlyLoading() const;
     };
 
     class ModImpl : public Mod::Impl {