tinyhumansai/openhuman · error

Playwright backend failed

Error message

Playwright backend failed

What it means

Generic failure sentinel from the Playwright backend: the daemon answered the request but with success=false, so the response's error text is surfaced as the action's failure. The daemon connection itself is kept; only the requested browser action failed.

Source

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

            self.daemon = None;
            anyhow::bail!("Playwright daemon response id mismatch");
        }

        if response.success {
            tracing::debug!(
                request_id = id,
                action = %action,
                "[browser::playwright] action completed"
            );
            Ok(response.data.unwrap_or_else(|| json!({ "ok": true })))
        } else {
            tracing::debug!(
                request_id = id,
                action = %action,
                error = ?response.error,
                "[browser::playwright] action failed"
            );
            anyhow::bail!(
                "{}",
                response
                    .error
                    .unwrap_or_else(|| "Playwright backend failed".to_string())
            )
        }
    }
}

async fn write_request(daemon: &mut PlaywrightDaemon, line: &[u8]) -> Result<()> {
    tracing::trace!("[browser::playwright] writing request to daemon");
    daemon
        .stdin
        .write_all(line)
        .await
        .context("Failed to write Playwright request")?;
    daemon
        .stdin

View on GitHub (pinned to 7491200858)

Solutions

  1. Inspect the response error in the debug log to see which step of the action failed
  2. Fix the page-level cause: invalid selector, element not found, navigation interrupted, or page closed
  3. Retry after correcting the selector or waiting for the page to settle
Defensive patterns

Strategy: fallback

When it happens

Trigger: Thrown at src/openhuman/tools/impl/browser/playwright_backend.rs:194 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/319340be453b4b28. Report an issue: GitHub.