diff --git a/CMakeLists.txt b/CMakeLists.txt
index 1af9b32e..43ed9115 100644
--- a/CMakeLists.txt
+++ b/CMakeLists.txt
@@ -243,7 +243,7 @@ if (DEFINED GEODE_TULIPHOOK_REPO_PATH)
 	message(STATUS "Using ${GEODE_TULIPHOOK_REPO_PATH} for TulipHook")
 	add_subdirectory(${GEODE_TULIPHOOK_REPO_PATH} ${GEODE_TULIPHOOK_REPO_PATH}/build)
 else()
-	CPMAddPackage("gh:geode-sdk/TulipHook#a416a7b")
+	CPMAddPackage("gh:geode-sdk/TulipHook#58dc814")
 endif()
 set(CMAKE_WARN_DEPRECATED ON CACHE BOOL "" FORCE)
 
diff --git a/loader/include/Geode/utils/file.hpp b/loader/include/Geode/utils/file.hpp
index 2c3e9503..cc2c2d45 100644
--- a/loader/include/Geode/utils/file.hpp
+++ b/loader/include/Geode/utils/file.hpp
@@ -35,7 +35,7 @@ namespace geode::utils::file {
         if (!json.template is<T>()) {
             return Err("JSON is not of type {}", typeid(T).name());
         }
-        return json.template as<T>();
+        return Ok(json.template as<T>());
     }
 
     GEODE_DLL Result<> writeString(ghc::filesystem::path const& path, std::string const& data);