> For the complete documentation index, see [llms.txt](https://docs.helodata.com/llms.txt). Markdown versions of documentation pages are available by appending `.md` to page URLs; this page is available as [Markdown](https://docs.helodata.com/integrations/browsers/chrome.md).

# Chrome

Chrome itself does not have a built-in per-tab proxy UI — by default it follows the OS proxy. Three approaches in increasing order of flexibility:

1. **OS-level proxy** (simplest, affects all apps): see [Windows](/integrations/operating-systems/windows.md), [macOS](/integrations/operating-systems/macos.md), [Linux](/integrations/operating-systems/linux.md).
2. **Per-Chrome-profile via command-line flag** — different proxies per Chrome user data dir.
3. **Extension** like SwitchyOmega for per-tab / per-domain rules.

## Approach 2 — `--proxy-server` flag

Launch Chrome with a dedicated user data dir and the `--proxy-server` flag. Best for scraping rigs and headless automation.

```bash
# Residential
google-chrome \
  --user-data-dir=/tmp/chrome-helo-res \
  --proxy-server="http://gate.helodata.io:7777"

# ISP
google-chrome \
  --user-data-dir=/tmp/chrome-helo-isp \
  --proxy-server="http://198.51.100.42:8000"
```

Chrome's `--proxy-server` flag does **not** accept inline credentials. When Chrome prompts for the proxy login, enter:

* Username: the full proxy username (e.g. `helo_s1a2b3c4d5e-type-res-region-us`)
* Password: your sub-user password

To suppress the prompt, use an extension that pre-fills credentials, or set the OS-level proxy instead.

## Approach 3 — SwitchyOmega (most flexible)

1. Install **SwitchyOmega** from the Chrome Web Store.
2. **New profile → Proxy profile**.
3. Fill in:
   * Protocol: `HTTP` or `SOCKS5`
   * Server: `gate.helodata.io` (or your ISP IP)
   * Port: `7777`
   * Authentication: click the lock → username + password
4. Click **Apply changes**.
5. From the SwitchyOmega icon, switch between profiles per browsing context.

\[screenshot: SwitchyOmega "New profile" form filled in for residential]

## Verify the connection

Visit `https://ipv4.icanhazip.com` — the IP shown should be from helodata, not your own.

## Common pitfalls

* **Auth dialog every time you restart** — Chrome forgets proxy creds across sessions. Use SwitchyOmega or an OS-level config.
* **`net::ERR_TUNNEL_CONNECTION_FAILED`** — the proxy URL syntax is wrong, or your credentials are. Check [407 troubleshooting](/troubleshooting/407.md).
* **WebRTC IP leak** — install the SwitchyOmega/WebRTC-Leak-Shield extension if your use case demands hiding the local IP from `getUserMedia`.

## DevTools network tab still works

helodata is a forwarding proxy; DevTools sees the same requests it would normally see. You can still inspect headers, status codes, and timing.


---

# Agent Instructions
This documentation is published with GitBook. GitBook is the documentation platform designed so that both humans and AI agents can read, navigate, and reason over technical content effectively. Learn more at gitbook.com.

## Querying This Documentation
If you need additional information that is not directly available in this page, you can query the documentation dynamically by asking a question.

Perform an HTTP GET request on the current page URL with the `ask` query parameter, and the optional `goal` query parameter:

```
GET https://docs.helodata.com/integrations/browsers/chrome.md?ask=<question>&goal=<endgoal>
```

`ask` is the immediate question: it should be specific, self-contained, and written in natural language.
`goal` is optional and describes the broader end goal you are ultimately trying to accomplish on behalf of the user. GitBook uses it to tailor the answer towards what is most useful for that goal.

The response will contain a direct answer to the question and relevant excerpts and sources from the documentation.

Use this mechanism when the answer is not explicitly present in the current page, you need clarification or additional context, or you want to retrieve related documentation sections.
