Start with the text after the shared error prefix. In Selenium Grid 2, “Error forwarding the new session” can mean that no node matches the requested capabilities, that a matching slot is busy, or that the hub cannot complete communication with a node. The reliable fix is to classify the suffix in the complete hub log, compare the client request with registered node capabilities, and then investigate capacity or connectivity only when the log points there.
1. Capture the complete error and hub log
Do not diagnose from the first line alone. Preserve the full client exception and the corresponding hub log entries for the same request. These suffixes lead to different investigations:
cannot find : Capabilities [...]indicates that the hub could not select a registered slot compatible with the request.Request timed out waiting for a node to become availableindicates that the request waited for capacity or a matching node.Read timed out,failed connection, or an HTTP timeout indicates that forwarding to a node did not complete.
The literal wording “Error forwarding the new session cannot find,” “Request timed out waiting for a node to become available,” and “Error forwarding the request Read timed out” appears in different historical reports. Treat them as separate failure branches, not interchangeable messages.
2. Fix a cannot find : Capabilities mismatch
Compare the requested capabilities
Print or otherwise preserve the exact request sent by the client. In the SeleniumHQ report from Selenium Server 2.53.1, the hub showed concrete Chrome and Internet Explorer slots, while the incoming request used browserName=*webdriver. The hub therefore had slots, but none matching that browser value. Replace the wildcard or otherwise incorrect value with the browser capability that the node actually advertises.
#1 Best Overall
Compare every constraint, not just the browser name:
- Browser name: for example,
chrome,firefox, orinternet explorer, using the spelling expected by your legacy Grid and client. - Version: remove a version constraint temporarily to test matching, or request the exact version declared by the node.
- Platform: check values such as
LINUXagainst the node declaration and the matcher used by your Grid 2 build. - Additional constraints: inspect proxy, application name, and any vendor-specific keys that may exclude every slot.
Check what the hub believes is registered
Open the hub’s status page or startup log and record each node’s advertised browser, version, platform, and available session count. A node can be running while still advertising different values from those in your test. If the status page does not show the intended slot, fix registration before changing client code.
Verify legacy node configuration
A Selenium Users configuration discussion describes a client requesting Firefox with platform=LINUX and version=32.0.3; the diagnosis emphasizes defining the browser version in the node configuration. In Grid 2, capability matching depends on the exact server version and configuration format. Ensure the node’s JSON (or equivalent configuration) declares the browser version and platform you intend to request, then restart the node and confirm the hub displays the new values.
Do not copy a node command from an unrelated Grid release. Match the Selenium Server jar, browser, driver, operating system, and legacy capability syntax in your deployment. Change one capability at a time and retry with the smallest possible request.
Do these 3 things before closing this tab:
1Repair Windows errors before they cause bigger problems2Scan for outdated or missing drivers - takes under a minute3Clear out junk files and repair common Windows errors3. Diagnose a wait for an available node
Confirm that a matching slot exists
If the error says the request timed out waiting for a node, first filter the hub’s registered slots by the requested browser, version, and platform. A node that offers Firefox does not satisfy a Chrome request, and an occupied slot is not available merely because the process is healthy.
Check capacity and workload
Count active sessions against the matching slots. A WorkFusion guide describes this style of timeout in its RPA setup and recommends comparing running tasks with available RPA nodes; that advice is specific to that product environment, but the capacity check is still a useful diagnostic question for your own Grid. End abandoned sessions, reduce parallelism temporarily, or add a correctly configured node if your deployment requires more capacity.
Rank #3
Check registration and liveness
Confirm the node remains listed after the timeout and that its advertised slot is not repeatedly disappearing. A node that registers and then vanishes points to process crashes, stale registration, or network problems rather than a simple capability mismatch.
4. Diagnose forwarding and connection timeouts
Read timeout
A “Read timed out” suffix means the hub forwarded the request but did not receive a complete response in the reported interval. Inspect the node process log at the same timestamp for browser startup failures, a hung driver, or resource exhaustion.
Free tools Windows power users keep installed
One-click scans. No signup required.
Failed connection or HTTP timeout
When the log reports a failed connection or HTTP timeout, verify the hub-to-node path:
- Check that the node process is running and listening on the address and port registered with the hub.
- From the hub host, test reachability to that address and port using the network tools approved for your environment.
- Review firewalls, security groups, proxies, and container or virtual-machine networking between hub and node.
- Compare the node’s registration URL with the URL actually reachable from the hub; localhost on the node is not the hub’s localhost.
- Correlate hub and node logs, then retry one minimal session request.
The historical reports document these symptoms, but they do not establish one universal underlying cause. Avoid increasing timeouts before proving that the node is reachable and able to start a browser.
5. A repeatable troubleshooting procedure
- Save evidence: capture the client stack trace, complete suffix, hub log, node log, Selenium Server version, browser and driver versions, operating system, and requested capabilities.
- Classify the branch: capability mismatch, unavailable capacity, or forwarding/connectivity failure.
- Inspect registration: verify that the intended node and slot are visible to the hub.
- Minimize the request: request only the browser name first; add version, platform, and other constraints one at a time.
- Retry once after each change: record which single change altered the result.
- Restore required constraints: after a minimal request succeeds, add production capabilities individually and confirm each one matches an advertised slot.
6. Common symptoms and first checks
| Full log clue | Most likely interpretation | First check |
|---|---|---|
cannot find : Capabilities [...] |
No registered slot satisfies the request; the historical *webdriver example conflicted with concrete browser slots. |
Compare browser, version, platform, and extra keys with node advertisements. |
| Waiting for a node to become available | A matching slot is unavailable, occupied, unregistered, or capacity is exhausted. | Check matching slots, active sessions, and node liveness. |
Read timed out |
The hub did not receive a complete node response. | Inspect node logs and browser/driver startup health. |
| Failed connection or HTTP timeout | The hub could not complete communication with the registered node endpoint. | Verify process, address, port, routing, and firewall rules. |
7. Version and support boundaries
The clearest capability-mismatch example concerns Selenium Server 2.53.1 and a 2016 SeleniumHQ issue. The other examples are also historical or product-specific. They explain how to read the failure, not the current support status of Selenium Grid 2. Before planning an upgrade or migration, check current Selenium documentation for the exact server, client, browser, driver, operating system, and capability matcher versions in your environment. Do not assume a Grid 2 command or configuration file applies unchanged to a later Selenium release.
Independent reader supportYour contribution helps us test, update, and keep practical guides available for everyone.Or skip the browser setup
If your goal is simply to obtain a clean image or PDF of a web page rather than run a remote Selenium session, ScreenshotNeo provides a single HTTP request. It accepts consent banners like a visitor and removes more than 60 known consent platforms, newsletter popups, and chat widgets before capture; each step can be disabled. Bot checks, blank pages, failed loads, timeouts, and cache hits are not billed, and response headers identify the page verdict and billing status. Its MCP server exposes take_screenshot, get_page_info, and capture_pdf to Claude, Cursor, and other MCP clients.
Recommended Free Tools
See the complete parameter reference in the ScreenshotNeo documentation. A direct cURL example is:
curl -G "https://api.screenshotneo.com/v1/shot" -d access_key=YOUR_API_KEY --data-urlencode url=https://stripe.com -o shot.webp
Python:
import requests
r = requests.get("https://api.screenshotneo.com/v1/shot", params={"access_key": "YOUR_API_KEY", "url": "https://stripe.com"}, timeout=90)
open("shot.webp", "wb").write(r.content)
Node.js:
const q = new URLSearchParams({ access_key: 'YOUR_API_KEY', url: 'https://stripe.com' });
const res = await fetch(`https://api.screenshotneo.com/v1/shot?${q}`);
Every plan includes the full feature set. The Free plan includes 1,000 shots per month with no card; paid plans start at $5 for 3,000 shots. Create a free ScreenshotNeo account to get started.
Frequently Asked Questions
Should I change the hub timeout first?
No. First classify the suffix and prove whether the request is unmatched, queued for capacity, or unable to reach a node. A larger timeout cannot make an incompatible capability match.
Why does a node appear online but still fail matching?
Registration only proves that the node contacted the hub. Its advertised browser, version, platform, or other capability values may still differ from the client request.
Outdated Drivers Are Slowing You Down
One free scan finds every outdated or missing driver and matches the right update for your exact hardware.Free scan · exact hardware matchWindows Errors? Fix Them Before They Spread
Repair common Windows errors and clear accumulated junk for a smoother, more stable PC - no reinstall needed.Free scan · no reinstallCan these steps be applied unchanged to Selenium 4?
Not safely. The examples concern legacy Grid 2 behavior and Selenium Server 2.53.1; verify current Selenium documentation and configuration syntax before applying them to another release.
The Bottom Line
Use the complete suffix to choose the branch: align capabilities for cannot find, inspect matching capacity for wait timeouts, and investigate node health and network reachability for forwarding timeouts.
Quick Recap
Product prices and availability are accurate as of the date/time indicated and are subject to change. Any price and availability information displayed on Amazon at the time of purchase will apply.

