BigPizzaV3/CodexPlusPlus · error · anyhow::Error

failed to query CDP browser identity on loopback addresses:

Error message

failed to query CDP browser identity on loopback addresses: {}

What it means

Raised in browser_identity when querying the CDP /json/version browser identity failed on all loopback addresses; the aggregated message lists each attempt's error (HTTP failure, deserialization failure, or rejected WebSocket URL/port). Means the DevTools endpoint returned nothing usable for identity validation.

Source

Thrown at crates/codex-plus-core/src/cdp.rs:178

                .send()
                .await
                .context("failed to query CDP browser identity")?
                .error_for_status()
                .context("CDP browser identity query failed")?
                .json::<CdpBrowserIdentity>()
                .await
                .context("failed to deserialize CDP browser identity")?;
            validate_cdp_websocket_url(&identity.web_socket_debugger_url, debug_port)?;
            identity.browser_id()?;
            anyhow::Ok(identity)
        }
        .await;
        match result {
            Ok(identity) => return Ok(identity),
            Err(error) => errors.push(format!("{url}: {error:#}")),
        }
    }
    bail!(
        "failed to query CDP browser identity on loopback addresses: {}",
        errors.join("; ")
    )
}

async fn query_targets_url(
    client: &reqwest::Client,
    url: &str,
    debug_port: u16,
) -> anyhow::Result<Vec<CdpTarget>> {
    let response = client
        .get(url)
        .send()
        .await
        .context("failed to query CDP targets")?
        .error_for_status()
        .context("CDP target query failed")?;

View on GitHub (pinned to f2074595a2)

Solutions

  1. Verify the browser exposes /json/version on the expected port
  2. Check webSocketDebuggerUrl points at loopback and the same port
  3. Retry after a browser restart; inspect the per-URL errors in the message
Defensive patterns

Strategy: retry

When it happens

Trigger: Thrown at crates/codex-plus-core/src/cdp.rs:178 when the library encounters an invalid state.

Common situations: See trigger scenarios.


AI-assisted analysis of BigPizzaV3/CodexPlusPlus@f2074595a2 (2026-08-23). Data as JSON: /api/errors/5f503bf5de0e86e4. Report an issue: GitHub.