openclaw - 💡(How to fix) Fix `openclaw docs` fails on macOS — TLS handshake error against docs.openclaw.ai [1 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#68619Fetched 2026-04-19 15:09:28
View on GitHub
Comments
0
Participants
1
Timeline
0
Reactions
0
Participants

openclaw docs <query> is completely non-functional on macOS due to a TLS failure when connecting to docs.openclaw.ai. The MCP server (docs-openclaw-ai-mcp) errors with:

SSE error: TypeError: fetch failed: Client network socket disconnected before secure TLS connection was established

Error Message

SSE error: TypeError: fetch failed: Client network socket disconnected before secure TLS connection was established

Root Cause

The server sends an SSL alert 0 (close_notify) during the TLS handshake. Browsers succeed because they have more aggressive cipher negotiation fallback. Node.js and LibreSSL do not.

Code Example

SSE error: TypeError: fetch failed: Client network socket disconnected before secure TLS connection was established

---

node -e "const https = require('https'); https.get('https://docs.openclaw.ai/', (r) => console.log(r.statusCode)).on('error', e => console.error(e.message))"
# write EPROTO ...SSL alert number 0
RAW_BUFFERClick to expand / collapse

Summary

openclaw docs <query> is completely non-functional on macOS due to a TLS failure when connecting to docs.openclaw.ai. The MCP server (docs-openclaw-ai-mcp) errors with:

SSE error: TypeError: fetch failed: Client network socket disconnected before secure TLS connection was established

Reproduction

Reproduces with both curl (LibreSSL) and Node.js directly:

node -e "const https = require('https'); https.get('https://docs.openclaw.ai/', (r) => console.log(r.statusCode)).on('error', e => console.error(e.message))"
# write EPROTO ...SSL alert number 0

The server sends an SSL alert 0 (close_notify) during the TLS handshake. Browsers succeed because they have more aggressive cipher negotiation fallback. Node.js and LibreSSL do not.

Environment

  • macOS (Darwin 25.3.0, arm64 — Mac mini)
  • OpenClaw 2026.4.15
  • Node.js v25.9.0
  • OpenSSL 3.6.2 (Homebrew) — same failure

Expected

openclaw docs <query> returns results.

Actual

MCP server connection fails immediately; docs are completely inaccessible from CLI or agent context.

Impact

This is the only way for agents to access documentation at runtime. A broken docs MCP renders the feature entirely unusable on macOS.

extent analysis

TL;DR

  • The TLS failure when connecting to docs.openclaw.ai from macOS can be worked around by adjusting the cipher suite negotiation in Node.js or LibreSSL to match the more aggressive fallback used by browsers.

Guidance

  • Investigate updating the Node.js version to one that supports more aggressive cipher suite negotiation, similar to browsers.
  • Consider using a custom HTTPS agent in Node.js that specifies a broader range of acceptable cipher suites to improve handshake compatibility.
  • Review the OpenSSL version used by LibreSSL and Node.js to ensure it is up-to-date and supports the necessary cipher suites for the TLS connection to docs.openclaw.ai.
  • Test the connection using tools like openssl s_client to diagnose the specific cipher suite mismatch causing the TLS handshake failure.

Example

const https = require('https');
const agent = new https.Agent({
  // Specify a broader range of cipher suites
  ciphers: 'ALL:!aNULL:!eNULL:!LOW:!3DES:!MD5:!EXP:!PSK:!SRP:!DSS',
});
https.get('https://docs.openclaw.ai/', { agent }, (r) => console.log(r.statusCode))
  .on('error', (e) => console.error(e.message));

Notes

  • The effectiveness of the workaround may depend on the specific versions of Node.js, LibreSSL, and OpenSSL in use.
  • Further investigation into the server-side configuration of docs.openclaw.ai may be necessary to determine the optimal cipher suite for compatibility.

Recommendation

  • Apply workaround: Adjusting the cipher suite negotiation in Node.js or LibreSSL is likely the most straightforward solution to restore functionality on macOS, given the information provided.

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 `openclaw docs` fails on macOS — TLS handshake error against docs.openclaw.ai [1 participants]