From c0a8b93639d6a32a9219f891ef730b6a71d87ee3 Mon Sep 17 00:00:00 2001 From: meliaj <17581886+meliaj@users.noreply.github.com> Date: Mon, 5 Oct 2026 23:46:09 +0000 Subject: [PATCH 1/2] Document the destination_route_unavailable proxy error Kernel returns it when a destination matches one of the session's proxy routes but the route's proxy is unavailable. It was missing from the error code table. Co-Authored-By: Claude Opus 5.5 --- proxies/errors.mdx | 1 + 1 file changed, 1 insertion(+) diff --git a/proxies/errors.mdx b/proxies/errors.mdx index 7eaeabfb..9396ee95 100644 --- a/proxies/errors.mdx +++ b/proxies/errors.mdx @@ -18,6 +18,7 @@ The header is set on every branded proxy-layer error response, including WebSock | `restricted_route_unavailable` | The destination requires a specialized egress route and Kernel could not build one. Kernel will not fall back to a provider known to reject the destination. | Yes, except on `.gov` destinations. There, create a new residential proxy with no targeting, country-only targeting, or a U.S. state, confirm it with [`POST /proxies/{id}/check`](https://kernel.sh/docs/api-reference/proxies/check-proxy-health), then use it for the session. | | `proxy_unavailable` | A failure inside Kernel's own proxy layer, not your automation or the destination. | Yes | | `origin_response_incomplete` | The destination closed the connection before sending a complete response. | Only if safe. The destination may have received the request, so retry only when repeating the action cannot cause duplicate changes. | +| `destination_route_unavailable` | The destination matches one of the session's [`network.proxy_routes`](/api-reference/browsers/create-a-browser-session), but that route's proxy is unavailable, for example because it was deleted. Kernel does not fall back to the session's proxy or a direct connection. | No. Give the route an available proxy or remove the route. If the route's proxy still exists, contact support with the error code. | | `provider_rejected` | The upstream proxy provider rejected the request before the destination connection was established. | No. Try a different proxy or proxy type, and check the credentials on a [custom proxy](/proxies/custom). | | `provider_blacklisted` | The upstream proxy provider blocks this destination. | No. Try a different proxy or proxy type, or disable the proxy for this destination. | | `destination_blocked` | Kernel policy blocks connections to internal and private addresses. | No. Use a public destination address. | From 0a82b2bde9c72e849d6f9acfe51b17beb6a80b27 Mon Sep 17 00:00:00 2001 From: meliaj <17581886+meliaj@users.noreply.github.com> Date: Mon, 5 Oct 2026 23:56:34 +0000 Subject: [PATCH 2/2] Say a new browser is needed when a route's proxy is unavailable Routes are set when the browser is created and can't be changed on a running browser, so the fix is a new browser. Co-Authored-By: Claude Opus 5.5 --- proxies/errors.mdx | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/proxies/errors.mdx b/proxies/errors.mdx index 9396ee95..3d8f536a 100644 --- a/proxies/errors.mdx +++ b/proxies/errors.mdx @@ -18,7 +18,7 @@ The header is set on every branded proxy-layer error response, including WebSock | `restricted_route_unavailable` | The destination requires a specialized egress route and Kernel could not build one. Kernel will not fall back to a provider known to reject the destination. | Yes, except on `.gov` destinations. There, create a new residential proxy with no targeting, country-only targeting, or a U.S. state, confirm it with [`POST /proxies/{id}/check`](https://kernel.sh/docs/api-reference/proxies/check-proxy-health), then use it for the session. | | `proxy_unavailable` | A failure inside Kernel's own proxy layer, not your automation or the destination. | Yes | | `origin_response_incomplete` | The destination closed the connection before sending a complete response. | Only if safe. The destination may have received the request, so retry only when repeating the action cannot cause duplicate changes. | -| `destination_route_unavailable` | The destination matches one of the session's [`network.proxy_routes`](/api-reference/browsers/create-a-browser-session), but that route's proxy is unavailable, for example because it was deleted. Kernel does not fall back to the session's proxy or a direct connection. | No. Give the route an available proxy or remove the route. If the route's proxy still exists, contact support with the error code. | +| `destination_route_unavailable` | The destination matches one of the session's [`network.proxy_routes`](/api-reference/browsers/create-a-browser-session), but that route's proxy is unavailable, for example because it was deleted. Kernel does not fall back to the session's proxy or a direct connection. | No. Routes can't be changed on a running browser, so create a new browser whose route uses an available proxy, or one without the route. If the route's proxy still exists, contact support with the error code. | | `provider_rejected` | The upstream proxy provider rejected the request before the destination connection was established. | No. Try a different proxy or proxy type, and check the credentials on a [custom proxy](/proxies/custom). | | `provider_blacklisted` | The upstream proxy provider blocks this destination. | No. Try a different proxy or proxy type, or disable the proxy for this destination. | | `destination_blocked` | Kernel policy blocks connections to internal and private addresses. | No. Use a public destination address. |