> For the complete documentation index, see [llms.txt](https://developers.oxylabs.io/llms.txt). Markdown versions of documentation pages are available by appending `.md` to page URLs; this page is available as [Markdown](https://developers.oxylabs.io/products/headless-browser/troubleshooting-guide.md).

# Troubleshooting Guide

| Symptom                                                       | Likely cause                                          | Solution                                                                                                         |
| ------------------------------------------------------------- | ----------------------------------------------------- | ---------------------------------------------------------------------------------------------------------------- |
| *401 invalid credentials (creds are correct)*                 | Using `ws://` scheme                                  | Switch to `wss://`                                                                                               |
| *401 invalid credentials*                                     | Bare `username` without suffix                        | Use the full username with the suffix token from the dashboard (e.g., `_ab12`)                                   |
| *CDP\_SESSION\_RATE\_LIMIT\_REACHED*                          | You are trying to launch too many browsers per second | Stay within the `10` sessions-per-second limit or [contact support](#need-a-feature-enabled-1) to raise the cap. |
| *CDP\_MAX\_CONCURRENT\_SESSIONS\_REACHED*                     | Your active session count reached the limit           | Stay under `100` concurrent session total or [contact support](#need-a-feature-enabled-1) to raise the cap.      |
| *Session inspection (VNC) unable to connect (browser starts)* | Max VNC limit reached                                 | Use fewer VNC sessions.                                                                                          |
| *TLS / certificate error*                                     | Certificate validation in Node.js                     | Set `NODE_TLS_REJECT_UNAUTHORIZED="0"` before requiring Playwright (testing only).                               |
| *CDP\_LIMIT\_REACHED: profile limit reached*                  | `o_profile` count exceeds `max_profiles`              | Reuse one stable profile name or contact support to raise the cap.                                               |
| *400 session\_name must be 3-36 alphanumeric or '-'*          | Underscore or invalid chars in `session_name`         | Use only letters, digits, and hyphens (`[A-Za-z0-9-]`).                                                          |
| *Profile restored but cookies are empty*                      | Exit IP changed between sessions                      | Pin `proxy_resi_ses_id` + `proxy_resi_ses_time` with identical values every session.                             |
| *Login wall / low success rate*                               | IP reputation, wrong geolocation, or engine mismatch  | Set `p_cc` (+ `p_city`), try a different `p_device`, or retry on a fresh session.                                |
| *Target blocked entirely*                                     | Restricted target category                            | Complete KYC via your Dedicated Account Manager.                                                                 |

{% hint style="info" %}
Still stuck? Contact Oxylabs support via live chat or email (<support@oxylabs.io>).
{% endhint %}

If you're experiencing unexpected behaviour or low success rates, consider the following steps:

### **Understand our CAPTCHA handling process**

Familiarize yourself with our [CAPTCHA handling](broken://pages/d88nEsA0f03ZMcmE5tpL) methods and its usage. This can provide insight into whether CAPTCHA challenges are the source of the issue.&#x20;

### **Use the country parameter**

Specifying a country parameter in your requests can significantly increase success rates. This ensures your requests are routed through IPs from a specific geographic location, filtering out IPs from random or potentially less reliable locations.

You can specify a country for your browser session by adding the `?p_cc`  parameter to your connection URL. More information can be found in section [Geolocation targeting](broken://pages/z7WAX2hnWjvMKkRKXeFr).

### **Use the device type parameter**&#x20;

Experimenting with a device parameter can result in higher success rates. You can customize how the browser emulates different device types by using the `?p_device` parameter. More information can be found in [Device Type](https://developers.oxylabs.io/scraping-solutions/unblocking-browser/chrome#device-type) section.

{% hint style="info" %}
If issues persist after trying these steps, please contact your Dedicated Account Manager with details of the problem and the steps you've already taken.
{% endhint %}

## Need a feature enabled? <a href="#need-a-feature-enabled" id="need-a-feature-enabled"></a>

Some Headless Browser features are off or restricted by default. To access them, contact Oxylabs support ([live chat](https://oxylabs.io/) or [email](mailto:support@oxylabs.io)) or your Dedicated Account Manager:

* **Persistent profiles** – raise the `max_profiles` cap.
* **Restricted targets** – unlock more target categories via KYC process.
* **Higher rate limits** – increase beyond `100` concurrent sessions / `10` per second.


---

# 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://developers.oxylabs.io/products/headless-browser/troubleshooting-guide.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.
