Skip to main content
Webcompute has two failure layers:
  • Platform/API failures, which throw SDK errors or return HTTP error envelopes.
  • Browser-code execution outcomes, where the API request succeeds but browser.playwright.execute(...) returns success: false.
Handle both.
Log selected, redacted fields from browser-code errors. Avoid serializing the full result.error object by default because error messages and stacks can include page content, request fragments, response fragments, local paths, or other sensitive context.

SDK error classes

WebcomputeError fields

HTTP status categories

Gateway error codes

The SDK normalizes some legacy codes into current error codes such as invalid_request, authentication_failed, browser_not_found, operation_in_progress, rate_limited, quota_exceeded, payload_too_large, upstream_timeout, internal_error, browser_unavailable, and operation_cancelled.

Browser-server error codes

Browser-code execution and quick actions may surface browser-server codes:

Retry behavior

Default SDK retries apply to:
  • HTTP status 429, 500, 502, 503, and 504.
  • Network connection errors.
Default retry config is:
Do not retry blindly when next is change_request, authenticate, or abort.

Browser-code failures

browser.playwright.execute(...) can return success: false while the HTTP request succeeds. Inspect: Use platform errors for request-level failures and execution fields for in-browser failures.

Common cases

Browser health timeout

The browser did not become healthy before the operation timeout. What to do:
  • Check browser.status().
  • Retry with a fresh browser when appropriate.
  • Inspect Debug UI or recordings when the browser is repeatedly blocked or unhealthy.
  • Increase timeouts only when the page is expected to be slow.

Quick action timeout

The quick action did not finish before its timeout. What to do:
  • Add waitFor only for the selector you need.
  • Reduce output size with maxChars or selector.
  • Move login-state or multi-step workflows to a managed browser.
  • Use web.agent() or SDK agent sessions when the task needs planning and repeated observation.

Proxy connection failed

The browser could not connect through the configured proxy. What to do:
  • Verify the proxy URL and credentials.
  • Test proxy reachability outside the agent prompt.
  • Keep proxy credentials in environment variables.
  • Confirm the surface you are using actually supports proxy options. See Proxy reference.