diff --git a/pom.xml b/pom.xml
index 794a1e3..d74d11d 100644
--- a/pom.xml
+++ b/pom.xml
@@ -86,6 +86,11 @@
moshi
1.12.0
+
+ dev.zacsweers.moshix
+ moshi-records-reflect
+ 0.11.0
+
diff --git a/src/main/java/org/warp/commonutils/moshi/MoshiPolymorphic.java b/src/main/java/org/warp/commonutils/moshi/MoshiPolymorphic.java
index 2bfe16b..fcfe58f 100644
--- a/src/main/java/org/warp/commonutils/moshi/MoshiPolymorphic.java
+++ b/src/main/java/org/warp/commonutils/moshi/MoshiPolymorphic.java
@@ -6,6 +6,7 @@ import com.squareup.moshi.JsonReader;
import com.squareup.moshi.JsonReader.Options;
import com.squareup.moshi.JsonWriter;
import com.squareup.moshi.Moshi;
+import dev.zacsweers.moshix.records.RecordsJsonAdapterFactory;
import java.io.IOException;
import java.lang.reflect.Field;
import java.lang.reflect.InvocationTargetException;
@@ -43,7 +44,7 @@ public abstract class MoshiPolymorphic {
private synchronized void initialize() {
if (!this.initialized) {
this.initialized = true;
- var abstractMoshiBuilder = new Moshi.Builder();
+ var abstractMoshiBuilder = new Moshi.Builder().add(new RecordsJsonAdapterFactory());
var abstractClasses = getAbstractClasses();
var concreteClasses = getConcreteClasses();
var extraAdapters = getExtraAdapters();