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
- Retry the action so a fresh daemon and request id are used
- Ensure only one request at a time is multiplexed over the shared daemon connection
- 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.