sveltejs/kit · error
Skipping ${__.name}(${payload})
Error message
Skipping ${__.name}(${payload}) What it means
Inside a `requested()` batch's async iteration, a remote function failed while its argument was being parsed or validated. SvelteKit records the failure in the query cache (so retries with the same payload reject) and throws this wrapper error naming the function and its serialized payload, with the original error as `cause`. It surfaces as an unhandled rejection because `race_all` swallows the rejection by skipping that entry — check the cause for the real problem.
Source
Thrown at packages/kit/src/runtime/app/server/remote/requested.js:204
record_failure(payload, error);
continue;
}
}
},
async *[Symbol.asyncIterator]() {
yield* race_all(selected, async (payload) => {
consume(payload);
try {
const parsed = parse_remote_arg(payload);
const validated = await __.validate(parsed);
return {
arg: validated,
query: __.bind(payload, validated),
ignore: create_ignore(payload)
};
} catch (error) {
record_failure(payload, error);
throw new Error(`Skipping ${__.name}(${payload})`, { cause: error });
}
});
},
async refreshAll() {
if (__.type === 'query_live') {
throw new Error('refreshAll() is invalid for live queries. Use reconnectAll() instead.');
}
for await (const { query } of result) {
void (/** @type {RemoteQuery<Output>} */ (query).refresh());
}
},
async reconnectAll() {
if (__.type !== 'query_live') {
throw new Error('reconnectAll() is invalid for regular queries. Use refreshAll() instead.');
}
for await (const { query } of result) {View on GitHub (pinned to 03f1687fe6)
Solutions
- Inspect `error.cause` to find the actual parse/validation failure.
- Fix the client so it only sends arguments matching the current validator schema.
- Guard the remote function's input with a tolerant schema or a 'unchecked' validator if the raw arg is intended.
- Version or shape-check payloads on the client before enqueueing them into requested().
Example fix
// before: iterating a batch whose payload no longer validates
for await (const { arg, query } of requested(searchQuery, 10)) { ... }
// after: validate the shape of arguments before queueing them
const args = items.filter((i) => schema.safeParse(i).success);
for await (const { arg, query } of requested(searchQuery.bind(args), 10)) { ... } Defensive patterns
Strategy: try-catch
Validate before calling
const ok = items.every((i) => schema.safeParse(i).success); // before calling requested()
Type guard
function isValidArg(a) { return schema['~standard'].validate; } // or use safeParse success as the guard Try / catch
try {
for await (const { arg, query } of requested(myQuery, 10)) {
void query.refresh();
}
} catch (e) {
console.error('batch item skipped:', e.cause ?? e);
} Prevention
- Mirror the server validator client-side before queueing payloads.
- Check `error.cause` — the wrapper hides the real parse/validation error.
- Avoid queueing hand-built payload strings; bind typed arguments instead.
When it happens
Trigger: Iterating `requested(myQuery, ...)` with `for await...of` when a queued payload fails `parse_remote_arg` or async `__.validate` (e.g. a Standard Schema validator throws `ValidationError` on bad input), while racing all payloads via `race_all`.
Common situations: A user mutated/corrupted the serialized argument; a validator schema was tightened between deploy and a client with cached payloads; a client sends payloads an updated server no longer accepts.
Related errors
- Limit must be a non-negative integer or Infinity
- requested(...) expects a query function created with query(.
- requested(...) can only be called in the context of a comman
- new ValidationError(result.issues) — carries the Standard Sc
- Invalid validator passed to remote function. Expected "unche
AI-assisted analysis of sveltejs/kit@03f1687fe6 (2026-09-02).
Data as JSON: /api/errors/e1eca1241aa8d8ab.
Report an issue: GitHub.