sveltejs/kit · warning
Updates can only be sent once per form submission. Ignoring
Error message
Updates can only be sent once per form submission. Ignoring additional updates.
What it means
Remote form submissions return a promise with an `.updates(...)` method for sending incremental updates during submission. The runtime warns and ignores extra calls if `.updates()` is invoked more than once per single form submission, mirroring the command-function restriction. The promise itself is still returned and the first update stands.
Source
Thrown at packages/kit/src/runtime/client/remote-functions/form.svelte.js:311
} finally {
overrides?.forEach((fn) => fn());
void tick().then(() => {
if (entry) {
entry.count--;
if (entry.count === 0) {
instances.delete(key);
}
}
});
}
})()
);
let updates_called = false;
promise.updates = (...args) => {
if (updates_called) {
console.warn(
'Updates can only be sent once per form submission. Ignoring additional updates.'
);
return promise;
}
updates_called = true;
try {
({ refreshes, overrides } = categorize_updates(args));
} catch (error) {
updates_error = /** @type {Error} */ (error);
}
return promise;
};
return promise;
}
View on GitHub (pinned to 03f1687fe6)
Solutions
- Call `.updates(...)` once per submission, combining all data into one payload
- Split long-running work into separate commands if multiple update stages are required
- Audit submit/enhance callbacks so only one code path calls `.updates`
Example fix
// before
const p = myForm.submit();
p.updates({ stage: 'validating' });
p.updates({ stage: 'saving' }); // ignored + warning
// after
const p = myForm.submit();
p.updates({ stages: ['validating', 'saving'] }); Defensive patterns
Strategy: validation
Validate before calling
const sendUpdate = (p, data) => { if (p.__updateSent) throw new Error('updates already sent'); p.__updateSent = true; p.updates(data); }; Prevention
- Call .updates() once per form submission only
- Centralize submission update logic in one place (e.g. the enhance callback)
- Batch multi-stage progress into a single updates payload
When it happens
Trigger: Calling `promise.updates(...)` more than once on the promise produced by one form submission (e.g. from `callback`, the enhance callback instance, or the submission path calling it twice).
Common situations: Sending progress updates at multiple stages of a long form action; duplicated calls after refactoring submit handlers; framework code paths both invoking updates for the same submission.
Related errors
- Updates can only be sent once per command invocation. Ignori
- ${message}\n\n${summary}\n\n${suggestion}
- Could not get the request store.
- Cannot export `default` from a remote module (${file}) — ple
- `${name}` exported from ${file} is invalid — all exports fro
AI-assisted analysis of sveltejs/kit@03f1687fe6 (2026-09-02).
Data as JSON: /api/errors/0c8edefa531a2c11.
Report an issue: GitHub.