You signed in with another tab or window. Reload to refresh your session.You signed out in another tab or window. Reload to refresh your session.You switched accounts on another tab or window. Reload to refresh your session.Dismiss alert
If `start` fails with `not reachable after start`, troubleshoot CDP readiness first. If `start` and `tabs` succeed but `open` or `navigate` fails, the browser control plane is healthy and the failure is usually navigation SSRF policy.
39
+
40
+
Minimal sequence:
41
+
42
+
```bash
43
+
openclaw browser --browser-profile openclaw start
44
+
openclaw browser --browser-profile openclaw tabs
45
+
openclaw browser --browser-profile openclaw open https://example.com
Copy file name to clipboardExpand all lines: docs/gateway/local-models.md
+1Lines changed: 1 addition & 0 deletions
Display the source diff
Display the rich diff
Original file line number
Diff line number
Diff line change
@@ -174,6 +174,7 @@ Compatibility notes for stricter OpenAI-compatible backends:
174
174
175
175
- Gateway can reach the proxy? `curl http://127.0.0.1:1234/v1/models`.
176
176
- LM Studio model unloaded? Reload; cold start is a common “hanging” cause.
177
+
- OpenClaw warns when the detected context window is below **32k** and blocks below **16k**. If you hit that preflight, raise the server/model context limit or choose a larger model.
177
178
- Context errors? Lower `contextWindow` or raise your server limit.
178
179
- OpenAI-compatible server returns `messages[].content ... expected a string`?
179
180
Add `compat.requiresStringContent: true` on that model entry.
Copy file name to clipboardExpand all lines: docs/tools/browser.md
+57Lines changed: 57 additions & 0 deletions
Display the source diff
Display the rich diff
Original file line number
Diff line number
Diff line change
@@ -884,6 +884,63 @@ For Linux-specific issues (especially snap Chromium), see
884
884
For WSL2 Gateway + Windows Chrome split-host setups, see
885
885
[WSL2 + Windows + remote Chrome CDP troubleshooting](/tools/browser-wsl2-windows-remote-cdp-troubleshooting).
886
886
887
+
### CDP startup failure vs navigation SSRF block
888
+
889
+
These are different failure classes and they point to different code paths.
890
+
891
+
-**CDP startup or readiness failure** means OpenClaw cannot confirm that the browser control plane is healthy.
892
+
-**Navigation SSRF block** means the browser control plane is healthy, but a page navigation target is rejected by policy.
893
+
894
+
Common examples:
895
+
896
+
- CDP startup or readiness failure:
897
+
-`Chrome CDP websocket for profile "openclaw" is not reachable after start`
898
+
-`Remote CDP for profile "<name>" is not reachable at <cdpUrl>`
899
+
- Navigation SSRF block:
900
+
-`open`, `navigate`, snapshot, or tab-opening flows fail with a browser/network policy error while `start` and `tabs` still work
901
+
902
+
Use this minimal sequence to separate the two:
903
+
904
+
```bash
905
+
openclaw browser --browser-profile openclaw start
906
+
openclaw browser --browser-profile openclaw tabs
907
+
openclaw browser --browser-profile openclaw open https://example.com
908
+
```
909
+
910
+
How to read the results:
911
+
912
+
- If `start` fails with `not reachable after start`, troubleshoot CDP readiness first.
913
+
- If `start` succeeds but `tabs` fails, the control plane is still unhealthy. Treat this as a CDP reachability problem, not a page-navigation problem.
914
+
- If `start` and `tabs` succeed but `open` or `navigate` fails, the browser control plane is up and the failure is in navigation policy or the target page.
915
+
- If `start`, `tabs`, and `open` all succeed, the basic managed-browser control path is healthy.
916
+
917
+
Important behavior details:
918
+
919
+
- Browser config defaults to a fail-closed SSRF policy object even when you do not configure `browser.ssrfPolicy`.
920
+
- For the local loopback `openclaw` managed profile, CDP health checks intentionally skip browser SSRF reachability enforcement for OpenClaw's own local control plane.
921
+
- Navigation protection is separate. A successful `start` or `tabs` result does not mean a later `open` or `navigate` target is allowed.
922
+
923
+
Security guidance:
924
+
925
+
- Do **not** relax browser SSRF policy by default.
926
+
- Prefer narrow host exceptions such as `hostnameAllowlist` or `allowedHostnames` over broad private-network access.
927
+
- Use `dangerouslyAllowPrivateNetwork: true` only in intentionally trusted environments where private-network browser access is required and reviewed.
928
+
929
+
Example: navigation blocked, control plane healthy
0 commit comments