local (alias Chrome-Local) backend launches a Chromium controlled by Playwright on the same machine running bubench. It’s the default for development, low-volume runs, and any case where you don’t need a cloud session.
Configuration
Under any agent that supportsbrowser_id: local, add the proxy fields:
Agent Support Matrix
For the unsupported agents, the recommendation is to switch to the cloud backend — see Lexmount Cloud Browser. Lexmount sessions egress from outside mainland China (international region) so most “GFW-blocked” sites are reachable without any local proxy on your side.
Security Note: Credentials in Chrome Process Args
For theskyvern agent, local_proxy_username / local_proxy_password are URL-encoded into the proxy URL and passed to Chrome via --proxy-server=http://user:pass@host:port. Chrome process args are visible to anyone running ps -ef (Linux) or ps auxe (macOS) on the box.
If your proxy password is sensitive (e.g. shared corporate credentials), prefer one of:
- Run a local unauthenticated forwarder — most clash / v2ray clients can listen on
127.0.0.1:7890and handle upstream auth themselves. Then leavelocal_proxy_username/_passwordunset; onlylocal_proxy_server: http://127.0.0.1:7890reaches Chrome. - Use the
browser-useagent — credentials go directly to Playwright via in-processProxySettings(...)and never appear in the Chrome command line.
Verifying the Proxy Is Active
Run a single task that needs the tunnel and inspectruntime.log:
local_proxy_server is set, you should see Skyvern log Connected to proxy http://... and the navigation succeed. If you see net::ERR_CONNECTION_RESET or ERR_CONNECTION_TIMED_OUT on a site you can otherwise reach in your daily browser, the proxy is not wired — double-check the config block and that your tunnel client is actually listening on the configured port.