diegosouzapw/OmniRoute · error · WebFetchExecutionError
Web fetch failed
Error message
Web fetch failed
What it means
WebFetchExecutionError thrown when handleWebFetch returned a result with success falsy or data missing and no specific error text — a last-resort message when the underlying provider fetch failed without producing a usable error or payload. The result's status (default 502) is carried as the HTTP status, so this marks an upstream/provider failure in the fetch pipeline, not an invalid input (invalid input throws earlier with status 400).
Solutions
- Retry the fetch — transient provider failures commonly succeed on a second attempt
- If it fails consistently, verify the configured web-fetch provider credentials and that the target URL is reachable
- Inspect the sanitized result.error in logs when present to identify the failing provider stage
- Fall back to another configured fetch provider or depth/format combination
Defensive patterns
Strategy: retry
When it happens
Trigger: Thrown at src/lib/skills/webFetchExecution.ts:158 when the library encounters an invalid state.
Common situations: See trigger scenarios.
AI-assisted analysis of diegosouzapw/OmniRoute@a179ffed5b (2026-08-25).
Data as JSON: /api/errors/a0b59cd44bd864b6.
Report an issue: GitHub.
Appendix: source
Thrown at src/lib/skills/webFetchExecution.ts:158
throw new WebFetchExecutionError("Missing required field: url", 400);
}
const { provider, credentials } = await resolveProviderAndCredentials(input);
const result = await handleWebFetch(
{
url: input.url,
format: input.format,
depth: input.depth,
wait_for_selector: input.wait_for_selector,
include_metadata: input.include_metadata,
},
credentials,
provider
);
if (!result.success || !result.data) {
throw new WebFetchExecutionError(result.error || "Web fetch failed", result.status || 502);
}
return result.data;
}
View on GitHub (pinned to a179ffed5b)