openclaw - 💡(How to fix) Fix [Bug]: Playwright dependency missing in 2026.4.21 — all browser act:* calls fail with 'Playwright is not available in this gateway build' [2 comments, 2 participants]

Official PRs (…)
ON THIS PAGE

Recommended Tools

×6

Utilities matched from this issue’s tags and category — try them while you read without losing context.

GitHub issue graph ai analysis

Paste a GitHub issue URL. We fetch that issue, discover linked issues from bodies/comments/timeline, collect linked pull requests, and produce a structured English report.

The report is written in English Markdown for sharing and archival.

Helpful · Quick feedback

Loading…
GitHub stats
openclaw/openclaw#70193Fetched 2026-04-23 07:28:02
View on GitHub
Comments
2
Participants
2
Timeline
5
Reactions
0
Timeline (top)
commented ×2closed ×1mentioned ×1subscribed ×1

On OpenClaw 2026.4.21, every browser act:* call (click, type, fill, evaluate, press, etc.) fails with:

Playwright is not available in this gateway build; 'act:<kind>' is unsupported. Install the full Playwright package (not playwright-core) and restart the gateway, or reinstall with browser support.

browser status, navigate, open, snapshot, and close continue to work because they use CDP directly. Only the act:* handlers are broken.

Error Message

  • #21262 (closed 2026-03-22) — earlier instance of the same error message but a different root cause (install path issue)
  • #69847 (closed 2026-04-22) — browser act hang on macOS; different symptom (hang vs clean error)

Root Cause

playwright is not declared in package.json for [email protected]:

$ cat /opt/homebrew/lib/node_modules/openclaw/package.json | jq '.dependencies | keys[] | select(test("play|puppet|chrom"; "i"))'
# (no output — no browser automation deps declared)

$ cat /opt/homebrew/lib/node_modules/openclaw/package.json | jq '.optionalDependencies, .peerDependencies'
null
{
  "@napi-rs/canvas": "^0.1.89",
  "node-llama-cpp": "3.18.1"
}

And it's not in node_modules/ after a fresh global install:

$ ls /opt/homebrew/lib/node_modules/openclaw/node_modules/ | grep -i play
# (no output)

The 2026.4.21 changelog does not mention removing Playwright intentionally, so this appears to be an accidental regression.

Fix Action

Workaround

Manually install playwright (the full package, not playwright-core) into the OpenClaw global install and restart the gateway:

cd /opt/homebrew/lib/node_modules/openclaw
npm install playwright --no-save --legacy-peer-deps
openclaw gateway restart

This restores all act:* handlers (confirmed: act:evaluate returns clean results after the workaround). However, the fix gets wiped on the next npm install -g openclaw@latest, so it's not a durable solution.

Code Example

$ cat /opt/homebrew/lib/node_modules/openclaw/package.json | jq '.dependencies | keys[] | select(test("play|puppet|chrom"; "i"))'
# (no output — no browser automation deps declared)

$ cat /opt/homebrew/lib/node_modules/openclaw/package.json | jq '.optionalDependencies, .peerDependencies'
null
{
  "@napi-rs/canvas": "^0.1.89",
  "node-llama-cpp": "3.18.1"
}

---

$ ls /opt/homebrew/lib/node_modules/openclaw/node_modules/ | grep -i play
# (no output)

---

npm install -g openclaw@2026.4.21
openclaw gateway restart

# Start the managed browser
# (via any OpenClaw client — CLI, MCP, chat agent, etc.)
# browser action=start profile=openclaw
# browser action=navigate profile=openclaw url=about:blank  ✅ works
# browser action=snapshot profile=openclaw                   ✅ works
# browser action=act  profile=openclaw request='{"kind":"evaluate","fn":"() => document.title"}'  ❌ fails:
#   "Playwright is not available in this gateway build; 'act:evaluate' is unsupported."

---

cd /opt/homebrew/lib/node_modules/openclaw
npm install playwright --no-save --legacy-peer-deps
openclaw gateway restart
RAW_BUFFERClick to expand / collapse

Summary

On OpenClaw 2026.4.21, every browser act:* call (click, type, fill, evaluate, press, etc.) fails with:

Playwright is not available in this gateway build; 'act:<kind>' is unsupported. Install the full Playwright package (not playwright-core) and restart the gateway, or reinstall with browser support.

browser status, navigate, open, snapshot, and close continue to work because they use CDP directly. Only the act:* handlers are broken.

Root cause

playwright is not declared in package.json for [email protected]:

$ cat /opt/homebrew/lib/node_modules/openclaw/package.json | jq '.dependencies | keys[] | select(test("play|puppet|chrom"; "i"))'
# (no output — no browser automation deps declared)

$ cat /opt/homebrew/lib/node_modules/openclaw/package.json | jq '.optionalDependencies, .peerDependencies'
null
{
  "@napi-rs/canvas": "^0.1.89",
  "node-llama-cpp": "3.18.1"
}

And it's not in node_modules/ after a fresh global install:

$ ls /opt/homebrew/lib/node_modules/openclaw/node_modules/ | grep -i play
# (no output)

The 2026.4.21 changelog does not mention removing Playwright intentionally, so this appears to be an accidental regression.

Repro

npm install -g [email protected]
openclaw gateway restart

# Start the managed browser
# (via any OpenClaw client — CLI, MCP, chat agent, etc.)
# browser action=start profile=openclaw
# browser action=navigate profile=openclaw url=about:blank  ✅ works
# browser action=snapshot profile=openclaw                   ✅ works
# browser action=act  profile=openclaw request='{"kind":"evaluate","fn":"() => document.title"}'  ❌ fails:
#   "Playwright is not available in this gateway build; 'act:evaluate' is unsupported."

Environment

  • OpenClaw 2026.4.21 (commit f788c88), installed globally via npm
  • macOS (Apple Silicon, Darwin 25.4.0)
  • Node v25.5.0
  • Browser: managed OpenClaw profile, Chrome 144 (CDP on 127.0.0.1:18800)

Workaround

Manually install playwright (the full package, not playwright-core) into the OpenClaw global install and restart the gateway:

cd /opt/homebrew/lib/node_modules/openclaw
npm install playwright --no-save --legacy-peer-deps
openclaw gateway restart

This restores all act:* handlers (confirmed: act:evaluate returns clean results after the workaround). However, the fix gets wiped on the next npm install -g openclaw@latest, so it's not a durable solution.

Suggested fix

Add playwright back to openclaw's dependencies in package.json (or to optionalDependencies with a clear runtime message when absent). The previous behavior on 2026.4.20 and earlier included Playwright by default, and every cron/skill that uses browser act:* breaks silently without it.

Related

  • #21262 (closed 2026-03-22) — earlier instance of the same error message but a different root cause (install path issue)
  • #69847 (closed 2026-04-22) — browser act hang on macOS; different symptom (hang vs clean error)

Impact

This silently breaks any OpenClaw skill or cron that posts/types/clicks via the browser, including:

  • Review reply posting (Google Business Profile)
  • Social posting (Facebook, Nextdoor, X)
  • Any automation that needs act:click, act:type, act:fill, or act:evaluate

Scans and snapshots still work, so failures look like "I can see the page but can't interact with it" — which a well-written skill would correctly diagnose as a capability issue, but which degrades the platform until resolved.

extent analysis

TL;DR

Manually installing playwright into the OpenClaw global install and restarting the gateway is a temporary workaround to restore act:* handlers.

Guidance

  • The root cause is the missing playwright dependency in [email protected], which can be verified by checking package.json and node_modules/.
  • To mitigate the issue, manually install playwright using npm install playwright --no-save --legacy-peer-deps in the OpenClaw global install directory.
  • Restart the gateway after installing playwright to apply the changes.
  • Note that this workaround is not durable and will be wiped on the next npm install -g openclaw@latest, so a permanent fix should be implemented by adding playwright back to openclaw's dependencies in package.json.

Example

cd /opt/homebrew/lib/node_modules/openclaw
npm install playwright --no-save --legacy-peer-deps
openclaw gateway restart

Notes

The suggested fix is to add playwright back to openclaw's dependencies in package.json, which will ensure that the act:* handlers are available by default.

Recommendation

Apply the workaround by manually installing playwright and restarting the gateway, as this will temporarily restore the act:* handlers. A permanent fix should be implemented by adding playwright back to openclaw's dependencies in package.json.

Vote matrix · Quick signals

Works
Did the solution work? Tap to confirm.
Easy Fix
Was it a quick fix?
Time Saver
Did it save you time?
Blocking
Was it severely blocking?
Common Issue
Are others likely hitting this too?
Flaky / Intermittent
Is it intermittent?
Verified / Reproducible
Can you reproduce it reliably?
Loading…

Still need to ship something?

×6

Another batch ranked right after the header list — different links, same matching logic.

Back to top recommendations

TRENDING

openclaw - 💡(How to fix) Fix [Bug]: Playwright dependency missing in 2026.4.21 — all browser act:* calls fail with 'Playwright is not available in this gateway build' [2 comments, 2 participants]