tinyhumansai/openhuman · error

Playwright daemon response id mismatch

Error message

Playwright daemon response id mismatch

What it means

A response did arrive from the Playwright daemon, but its id field does not equal the request id that was sent. That means replies are out of order or the daemon state is corrupt, so the response cannot be matched to this call and the request is rejected.

Source

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

            Err(_) => {
                tracing::debug!(
                    request_id = id,
                    timeout_ms = PLAYWRIGHT_RESPONSE_TIMEOUT.as_millis() as u64,
                    "[browser::playwright] daemon response timed out; dropping daemon"
                );
                self.daemon = None;
                anyhow::bail!("Timed out waiting for Playwright response");
            }
        };

        if response.id != Some(id) {
            tracing::debug!(
                expected_id = id,
                response_id = ?response.id,
                "[browser::playwright] daemon response id mismatch; dropping daemon"
            );
            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!(
                "{}",

View on GitHub (pinned to 7491200858)

Solutions

  1. Retry the action so a fresh daemon and request id are used
  2. Ensure only one request at a time is multiplexed over the shared daemon connection
  3. Restart the Playwright daemon if mismatched ids recur
Defensive patterns

Strategy: fallback

When it happens

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