tinyhumansai/openhuman · error · anyhow::Error

Playwright daemon stdout unavailable

Error message

Playwright daemon stdout unavailable

What it means

Guard in start_daemon for the Playwright backend: the daemon's stdout pipe could not be taken after spawn, so responses from the Node.js daemon cannot be read. Sibling of the stdin guard; both fire only in abnormal spawn states.

Source

Thrown at src/openhuman/tools/impl/browser/playwright_backend.rs:276

        .spawn()
        .map_err(|error| {
            tracing::debug!(
                error = %error,
                "[browser::playwright] failed to spawn backend daemon"
            );
            error
        })
        .context(
            "Failed to start Playwright backend. Ensure Node.js and the Playwright package are installed.",
        )?;
    let stdin = child
        .stdin
        .take()
        .ok_or_else(|| anyhow::anyhow!("Playwright daemon stdin unavailable"))?;
    let stdout = child
        .stdout
        .take()
        .ok_or_else(|| anyhow::anyhow!("Playwright daemon stdout unavailable"))?;

    if let Some(stderr) = child.stderr.take() {
        tokio::spawn(async move {
            let mut lines = BufReader::new(stderr).lines();
            while let Ok(Some(line)) = lines.next_line().await {
                tracing::debug!("[browser::playwright] stderr: {line}");
            }
        });
    }

    tracing::debug!("[browser::playwright] backend daemon spawned");
    Ok(PlaywrightDaemon {
        child,
        stdin,
        stdout: BufReader::new(stdout),
    })
}

View on GitHub (pinned to 7491200858)

Solutions

  1. Restart the core/tool to respawn the daemon
  2. Verify Node.js and the Playwright package are installed
  3. Report if persistent — stdio piping may be misconfigured
Defensive patterns

Strategy: retry

When it happens

Trigger: Thrown at src/openhuman/tools/impl/browser/playwright_backend.rs:276 when the library encounters an invalid state.

Common situations: See trigger scenarios.


AI-assisted analysis of tinyhumansai/openhuman@7491200858 (2026-08-17). Data as JSON: /api/errors/cf2d89c2caf31b05. Report an issue: GitHub.