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

  1. Retry the fetch — transient provider failures commonly succeed on a second attempt
  2. If it fails consistently, verify the configured web-fetch provider credentials and that the target URL is reachable
  3. Inspect the sanitized result.error in logs when present to identify the failing provider stage
  4. 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)