diff --git a/.changeset/six-needles-poke.md b/.changeset/six-needles-poke.md
new file mode 100644
index 0000000000000000000000000000000000000000..c723326111e24bbd8871604d12236550f7855149
--- /dev/null
+++ b/.changeset/six-needles-poke.md
@@ -0,0 +1,5 @@
+---
+"llamaindex": patch
+---
+
+fix: remove clone object in `CallbackManager.dispatchEvent`
diff --git a/packages/core/src/callbacks/CallbackManager.ts b/packages/core/src/callbacks/CallbackManager.ts
index 4646e5254110708c866672d452705760e7bfe1e3..b7a8eb33d3b66fa97cef27eb5bce7f33d0477f4b 100644
--- a/packages/core/src/callbacks/CallbackManager.ts
+++ b/packages/core/src/callbacks/CallbackManager.ts
@@ -212,10 +212,13 @@ export class CallbackManager implements CallbackManagerMethods {
     if (!handlers) {
       return;
     }
-    const clone = structuredClone(detail);
     queueMicrotask(() => {
       handlers.forEach((handler) =>
-        handler(LlamaIndexCustomEvent.fromEvent(event, clone)),
+        handler(
+          LlamaIndexCustomEvent.fromEvent(event, {
+            ...detail,
+          }),
+        ),
       );
     });
   }