diff --git a/.changeset/selfish-seas-change.md b/.changeset/selfish-seas-change.md
new file mode 100644
index 000000000000..06b74b97da80
--- /dev/null
+++ b/.changeset/selfish-seas-change.md
@@ -0,0 +1,5 @@
+---
+"@sveltejs/kit": patch
+---
+
+fix: allow mutation of data and form props in Svelte 5
diff --git a/packages/kit/src/core/sync/write_root.js b/packages/kit/src/core/sync/write_root.js
index af8cf889bc32..23ae5bfbe400 100644
--- a/packages/kit/src/core/sync/write_root.js
+++ b/packages/kit/src/core/sync/write_root.js
@@ -21,16 +21,22 @@ export function write_root(manifest_data, output) {
let l = max_depth;
- let pyramid = ``;
+ let pyramid = ``;
while (l--) {
pyramid = dedent`
{#if constructors[${l + 1}]}
-
+
${pyramid}
{:else}
-
+
{/if}
`;
}