`/json/new` endpoint doesn't respect the `url` parameter

Author: joffrey-bionCreated Feb 8, 2025Updated Aug 20, 2026

Describe the bug

In the Chrome DevTools Protocol HTTP endpoints definition, /json/new can take a URL to open a new tab directly at that URL. It's defined as /json/new?{url}, so it's not a real query parameter, but still should be accepted.

When trying this endpoint with Browserless, it returns an about:blank URL in the response, and it doesn't open the new tab at the requested URL.

To Reproduce

Steps to reproduce the behavior:

  1. Launch the browserless Docker image: docker run --rm -p 3000:3000 ghcr.io/browserless/chromium:v2.24.3 (latest also reproduces the issue right now)
  2. Send a PUT request to http://localhost:3000/json/new?http://google.com. For instance using curl:
    bash
    curl -X PUT "http://localhost:3000/json/new?http%3A%2F%2Fgoogle.com"
  3. See that the returned JSON contains about:blank as URL instead of http://google.com

Expected behavior

The /json/new endpoint should be a real pass-through and behave exactly like Chrome: the new tab should be opened on the website defined by the URL in the query.

Desktop (please complete the following information):

  • OS: Windows (but I run browserless/chromium in Docker, so this should be considered linux I guess)
  • Browser [e.g. chrome, safari]: Chrome (using the browserless/chromium docker image)
  • Version [e.g. 22]: at least the tags v2.24.3 and latest of the docker image reproduce the problem

Additional context

I'm using Browserless to test a Kotlin client library for the Chrome DevTools Protocol.

I'm aware that these JSON APIs shouldn't really be used, but I need to support them for completeness as long as Chrome does.