Selenium Grid "Unable to find provider for session ... No nodes matching" in CI
The Grid hub matches a session request to a node that advertises the requested capabilities. If no registered node offers that browser name, version, or platform, the hub rejects the request because there is no slot that matches.
What this error means
The test fails with "org.openqa.selenium.SessionNotCreatedException: Unable to find provider for session" or "Could not start a new session. No nodes matching the requested capabilities" naming the browser.
SessionNotCreatedException: Could not start a new session.
No nodes matching the requested capabilities {browserName: firefox, browserVersion: 126} were found.
Build info: version: '4.21.0'Common causes
No node offers the requested browser or version
The capabilities ask for a browser/version no registered node advertises, so the hub finds no matching slot.
Nodes did not register with the hub
The node containers never connected to the hub (timing or network), so the Grid has zero slots when the request arrives.
How to fix it
Request capabilities a node actually offers
- Open the Grid console or /status to see registered node capabilities.
- Drop an over-specific browserVersion, or register a node for the browser you need.
- Re-run so the request matches an available slot.
# request only the browser name unless a specific version node exists
caps = {"browserName": "firefox"}Wait until nodes have registered
Poll the Grid until it reports nodes and is ready, so requests do not arrive before any node registers.
- run: |
for i in $(seq 1 30); do
curl -sf http://grid-hub:4444/status | grep -q '"ready": *true' && break || sleep 2
doneHow to prevent it
- Only request browser versions that a registered node advertises.
- Wait for node registration before dispatching sessions.
- Scale node replicas to the parallelism your suite needs.