Skyvern gives every run a proxy_location, with values like RESIDENTIAL and RESIDENTIAL_DE, and a GeoTarget object for a state or a city. Set one in a self-hosted install and your address does not change. The setting belongs to Skyvern Cloud, and the open source code uses it for one thing only. We read every setting on this page in v1.0.53, released on 9 September 2026.
What proxy_location does where
| Skyvern Cloud | Self-hosted code | |
|---|---|---|
| Routes traffic through a residential address | yes, in 21 countries | no |
| Country, state or city choice | yes, with GeoTarget | no |
| One address held for a session | yes, and RESIDENTIAL_ISP for a static one | no |
| Sets the browser timezone from the region | yes | yes, this is all it does |
The project says it plainly in its own documentation: this feature is only available in Skyvern Cloud today. The code agrees. In build_browser_args, the value is read to set timezone_id and nothing else, and a unit test in the same release asserts that the browser arguments never carry a proxy, even when the value is a dictionary holding a proxy URL with a login.
That detail is worth keeping. If you do route a self-hosted run through another country, set the matching proxy_location anyway, so the browser clock and the address tell the same story.
Where a proxy actually goes
Version 1.0.53 has no configuration value for a proxy address. It has two other ways in.
# 1. a Chrome flag on the browser Skyvern launches
BROWSER_ADDITIONAL_ARGS=["--proxy-server=http://GATEWAY_HOST:GATEWAY_PORT"]
# 2. your own browser, started with whatever proxy setup you like
BROWSER_TYPE=cdp-connect
BROWSER_REMOTE_DEBUGGING_URL=http://127.0.0.1:9222
The first is the short road: BROWSER_ADDITIONAL_ARGS is a list of extra Chrome flags, and Skyvern adds them to every browser it starts. The second hands the whole question to you: start Chrome yourself with the proxy, and Skyvern connects to it over the DevTools protocol.
Chrome keeps localhost and link-local addresses off the proxy by its own rules, so the flag needs no bypass entry for them.
The login problem
Chrome ignores a login written into --proxy-server. A tool that wants an authenticated proxy has to answer the proxy's challenge over the DevTools protocol instead, and Skyvern has no such handler: the only authentication interception in the repository belongs to a download interceptor.
So the line you give a self-hosted Skyvern has to work without a username. That means IP authentication, or a browser you run yourself that answers the challenge for you.
It was there once
This gap has a history. In January 2025 someone asked for a self-hosted proxy pool, and a maintainer answered that it was on the roadmap. A contributor built it, and in April 2025 a pull request adding custom proxy credentials to the configuration was merged.
It is not in v1.0.53. The original request was closed as not planned in December 2025, self-hosted users asked again that November, and a pull request from February 2026 that would let proxy_location take a raw proxy URL is still open. The code keeps traces of the idea: the schema accepts a dictionary, and the logging helpers carefully redact anything shaped like a proxy URL so a password cannot reach the logs. The value simply never reaches the browser.
Which proxy type fits Skyvern?
Residential, for the sites that refuse a hosting address. In our test of 19 September 2026 a residential address changed four of thirteen answers, while four sites refused both. That test sent plain requests rather than a browser, so read it as a sign. The table is on our OpenClaw page.
The shape matters more than the type here: the line has to work without a password. On an HProxy Residential Premium plan you can allow the machine's address, up to 150 per plan, and the Chrome flag then carries no login at all. An allowed address takes no country or city targeting, rotates on the rotating ports and holds one address per sticky port. A long run on one site suits a sticky port, and many short visits suit a rotating one. A sticky address can still change early if its device leaves the network, so let the run retry. The residential proxies page lists the plans, and the plan API manages allowed addresses from code.
What breaks when the proxy is on
- Nothing changed after setting
proxy_location. That value routes nothing in a self-hosted install. - The browser refuses to start or every page fails. Check the flag spelling:
--proxy-server=http://HOST:PORT, with no trailing slash. - A login is ignored. Chrome drops it from the flag, and no part of Skyvern answers a proxy challenge.
- The clock does not match the address. Set
proxy_locationto the region you route through, since that is what it still controls. - 407 Proxy Authentication Required. Your line wants a password the browser cannot send. Allow the machine's address instead. Our 407 guide explains the error.
- Traffic climbs quickly. A browser loads every asset of every page through the proxy, so a run costs more than the same pages fetched as plain requests.
What this page does not cover
We read Skyvern v1.0.53 as text and did not run it, in either form. We have not tested Skyvern Cloud and say nothing about the quality or price of its proxy pool. That a flag in BROWSER_ADDITIONAL_ARGS reaches the launched browser follows from the code path, not from a run of our own. Skyvern releases roughly weekly, and the open pull request above would change the main answer here, so we will read these settings again by 19 October 2026.
Where to go from here
Proxies for Stagehand covers another agent framework that splits a hosted path from a local one, with the same login limit. Proxies for browser-use covers an agent that does answer the proxy challenge itself. How websites detect proxies explains what a site checks besides the address.
Sources
- The proxy location schema and the proxy pinning helpers, the browser factory (build_browser_args and the registered browser types), the settings in config.py, and the unit test that pins the browser arguments. Skyvern-AI/skyvern, release v1.0.53, 9 September 2026.
- Proxy and geo targeting, and the proxy location reference. Skyvern documentation, shipped with the same release.
- Issues 1645 and 4019, and pull requests 2115 (merged) and 4846 (open). Skyvern issue tracker, 2025 to 2026.
- Credentials in the proxy flag, SOCKSv5 authentication and the implicit bypass rules. The Chromium Authors, net/docs/proxy.md, read 19 September 2026.
- Plans, IP whitelist and sticky sessions; errors; the proxy API. HProxy documentation, hproxy.com/docs, 19 September 2026.
- Our own test of 19 September 2026: plain GET requests to 13 sites and 3 controls, two runs from our server and two through a residential line of our own house plan. Raw output is kept in the research folder of our OpenClaw page.


