diff --git a/apps/opik-frontend/package-lock.json b/apps/opik-frontend/package-lock.json
index f0edd9f186..6af097c192 100644
--- a/apps/opik-frontend/package-lock.json
+++ b/apps/opik-frontend/package-lock.json
@@ -89,7 +89,7 @@
         "eslint-plugin-react": "^7.34.1",
         "eslint-plugin-react-hooks": "^4.6.2",
         "eslint-plugin-tailwindcss": "^3.17.0",
-        "happy-dom": "^12.10.3",
+        "happy-dom": "^15.10.2",
         "lint-staged": "^15.2.7",
         "postcss": "^8.4.38",
         "prettier": "^3.1.1",
@@ -8537,17 +8537,17 @@
       "dev": true
     },
     "node_modules/happy-dom": {
-      "version": "12.10.3",
-      "resolved": "https://registry.npmjs.org/happy-dom/-/happy-dom-12.10.3.tgz",
-      "integrity": "sha512-JzUXOh0wdNGY54oKng5hliuBkq/+aT1V3YpTM+lrN/GoLQTANZsMaIvmHiHe612rauHvPJnDZkZ+5GZR++1Abg==",
+      "version": "15.10.2",
+      "resolved": "https://registry.npmjs.org/happy-dom/-/happy-dom-15.10.2.tgz",
+      "integrity": "sha512-NbA5XrSovenJIIcfixCREX3ZnV7yHP4phhbfuxxf4CPn+LZpz/jIM9EqJ2DrPwgVDSMoAKH3pZwQvkbsSiCrUw==",
       "dev": true,
       "dependencies": {
-        "css.escape": "^1.5.1",
         "entities": "^4.5.0",
-        "iconv-lite": "^0.6.3",
         "webidl-conversions": "^7.0.0",
-        "whatwg-encoding": "^2.0.0",
         "whatwg-mimetype": "^3.0.0"
+      },
+      "engines": {
+        "node": ">=18.0.0"
       }
     },
     "node_modules/has-bigints": {
@@ -8649,18 +8649,6 @@
         "node": ">=16.17.0"
       }
     },
-    "node_modules/iconv-lite": {
-      "version": "0.6.3",
-      "resolved": "https://registry.npmjs.org/iconv-lite/-/iconv-lite-0.6.3.tgz",
-      "integrity": "sha512-4fCk79wshMdzMp2rH06qWrJE4iolqLhCUH+OiuIgU++RB0+94NlDL81atO7GX55uUKueo0txHNtvEyI6D7WdMw==",
-      "dev": true,
-      "dependencies": {
-        "safer-buffer": ">= 2.1.2 < 3.0.0"
-      },
-      "engines": {
-        "node": ">=0.10.0"
-      }
-    },
     "node_modules/ignore": {
       "version": "5.3.1",
       "resolved": "https://registry.npmjs.org/ignore/-/ignore-5.3.1.tgz",
@@ -11122,12 +11110,6 @@
         "url": "https://github.com/sponsors/ljharb"
       }
     },
-    "node_modules/safer-buffer": {
-      "version": "2.1.2",
-      "resolved": "https://registry.npmjs.org/safer-buffer/-/safer-buffer-2.1.2.tgz",
-      "integrity": "sha512-YZo3K82SD7Riyi0E1EQPojLz7kpepnSQI9IyPbHHg1XXXevb5dJI7tpyN2ADxGcQbHG7vcyRHk0cbwqcQriUtg==",
-      "dev": true
-    },
     "node_modules/sass": {
       "version": "1.77.5",
       "resolved": "https://registry.npmjs.org/sass/-/sass-1.77.5.tgz",
@@ -12656,18 +12638,6 @@
         "node": ">=12"
       }
     },
-    "node_modules/whatwg-encoding": {
-      "version": "2.0.0",
-      "resolved": "https://registry.npmjs.org/whatwg-encoding/-/whatwg-encoding-2.0.0.tgz",
-      "integrity": "sha512-p41ogyeMUrw3jWclHWTQg1k05DSVXPLcVxRTYsXUk+ZooOCZLcoYgPZ/HL/D/N+uQPOtcp1me1WhBEaX02mhWg==",
-      "dev": true,
-      "dependencies": {
-        "iconv-lite": "0.6.3"
-      },
-      "engines": {
-        "node": ">=12"
-      }
-    },
     "node_modules/whatwg-mimetype": {
       "version": "3.0.0",
       "resolved": "https://registry.npmjs.org/whatwg-mimetype/-/whatwg-mimetype-3.0.0.tgz",
diff --git a/apps/opik-frontend/package.json b/apps/opik-frontend/package.json
index e098c10316..1a8836504f 100644
--- a/apps/opik-frontend/package.json
+++ b/apps/opik-frontend/package.json
@@ -106,7 +106,7 @@
     "eslint-plugin-react": "^7.34.1",
     "eslint-plugin-react-hooks": "^4.6.2",
     "eslint-plugin-tailwindcss": "^3.17.0",
-    "happy-dom": "^12.10.3",
+    "happy-dom": "^15.10.2",
     "lint-staged": "^15.2.7",
     "postcss": "^8.4.38",
     "prettier": "^3.1.1",