openclaw - 💡(How to fix) Fix [Bug]: 2026.5.12 update on MacOS 26.5 causes web/app ws connection failures with "wrong protocol" errors

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…

After upgrading from 2006.5.7 to 2006.5.12 via openclaw update the web and Mac App (2006.5.7) are failing to connect to the gateway.

MacOS 26.5 Node: 26.0.0 Ollama 0.23.4 Brave

The logs show the following errors: warn gateway/ws {"subsystem":"gateway/ws"} protocol mismatch conn=14c8be3b-875f-4a8f-8329-af07c401d315 remote=127.0.0.1 client=openclaw-control-ui webchat v2026.5.7

warn gateway/ws {"subsystem":"gateway/ws"} {"cause":"protocol-mismatch","handshake":"failed","durationMs":9,"lastFrameType":"req","lastFrameMethod":"connect","lastFrameId":"09abf810-eca7-47e6-b2c4-2353e236e335","host":"127.0.0.1:18789","origin":"http://127.0.0.1:18789","userAgent":"Mozilla/5.0 (Macintosh; Intel Mac OS X 10_15_7) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/148.0.0.0 Safari/537.36","remoteAddr":"127.0.0.1","remotePort":64136,"localAddr":"127.0.0.1","localPort":18789,"endpoint":"127.0.0.1:64136->127.0.0.1:18789","minProtocol":3,"maxProtocol":3,"expectedProtocol":4,"minimumProbeProtocol":4,"client":"openclaw-control-ui","mode":"webchat","version":"2026.5.7","platform":"MacIntel","instanceId":"5d1fe3ab-dded-4ebd-bea8-cb4a3ab8560e"} closed before connect conn=14c8be3b-875f-4a8f-8329-af07c401d315 peer=127.0.0.1:64136->127.0.0.1:18789 remote=127.0.0.1 fwd=n/a origin=http://127.0.0.1:18789 host=127.0.0.1:18789 ua=Mozilla/5.0 (Macintosh; Intel Mac OS X 10_15_7) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/148.0.0.0 Safari/537.36 code=1002 reason=protocol mismatch

Nothing changed in the openclaw.json file that looks suspicious on a diff of the before and after file except for the addition of the following lines:

"web": { "enabled": true },

I re-installed the gateway and restarted. No changes. I do use openclaw update but for some reason Doctor doesn't seem to think so.

Error Message

warn gateway/ws {"subsystem":"gateway/ws"} protocol mismatch conn=14c8be3b-875f-4a8f-8329-af07c401d315 remote=127.0.0.1 client=openclaw-control-ui webchat v2026.5.7 warn gateway/ws {"subsystem":"gateway/ws"} {"cause":"protocol-mismatch","handshake":"failed","durationMs":9,"lastFrameType":"req","lastFrameMethod":"connect","lastFrameId":"09abf810-eca7-47e6-b2c4-2353e236e335","host":"127.0.0.1:18789","origin":"http://127.0.0.1:18789","userAgent":"Mozilla/5.0 (Macintosh; Intel Mac OS X 10_15_7) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/148.0.0.0 Safari/537.36","remoteAddr":"127.0.0.1","remotePort":64136,"localAddr":"127.0.0.1","localPort":18789,"endpoint":"127.0.0.1:64136->127.0.0.1:18789","minProtocol":3,"maxProtocol":3,"expectedProtocol":4,"minimumProbeProtocol":4,"client":"openclaw-control-ui","mode":"webchat","version":"2026.5.7","platform":"MacIntel","instanceId":"5d1fe3ab-dded-4ebd-bea8-cb4a3ab8560e"} closed before connect conn=14c8be3b-875f-4a8f-8329-af07c401d315 peer=127.0.0.1:64136->127.0.0.1:18789 remote=127.0.0.1 fwd=n/a origin=http://127.0.0.1:18789 host=127.0.0.1:18789 ua=Mozilla/5.0 (Macintosh; Intel Mac OS X 10_15_7) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/148.0.0.0 Safari/537.36 code=1002 reason=protocol mismatch warn gateway/ws {"subsystem":"gateway/ws"} protocol mismatch conn=14c8be3b-875f-4a8f-8329-af07c401d315 remote=127.0.0.1 client=openclaw-control-ui webchat v2026.5.7 warn gateway/ws {"subsystem":"gateway/ws"} {"cause":"protocol-mismatch","handshake":"failed","durationMs":9,"lastFrameType":"req","lastFrameMethod":"connect","lastFrameId":"09abf810-eca7-47e6-b2c4-2353e236e335","host":"127.0.0.1:18789","origin":"http://127.0.0.1:18789","userAgent":"Mozilla/5.0 (Macintosh; Intel Mac OS X 10_15_7) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/148.0.0.0 Safari/537.36","remoteAddr":"127.0.0.1","remotePort":64136,"localAddr":"127.0.0.1","localPort":18789,"endpoint":"127.0.0.1:64136->127.0.0.1:18789","minProtocol":3,"maxProtocol":3,"expectedProtocol":4,"minimumProbeProtocol":4,"client":"openclaw-control-ui","mode":"webchat","version":"2026.5.7","platform":"MacIntel","instanceId":"5d1fe3ab-dded-4ebd-bea8-cb4a3ab8560e"} closed before connect conn=14c8be3b-875f-4a8f-8329-af07c401d315 peer=127.0.0.1:64136->127.0.0.1:18789 remote=127.0.0.1 fwd=n/a origin=http://127.0.0.1:18789 host=127.0.0.1:18789 ua=Mozilla/5.0 (Macintosh; Intel Mac OS X 10_15_7) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/148.0.0.0 Safari/537.36 code=1002 reason=protocol mismatch │ Tasks │ 0 active · 0 queued · 0 running · 13 issues · audit 3 warn · 52 tracked │

Root Cause

After upgrading from 2006.5.7 to 2006.5.12 via openclaw update the web and Mac App (2006.5.7) are failing to connect to the gateway.

MacOS 26.5 Node: 26.0.0 Ollama 0.23.4 Brave

The logs show the following errors: warn gateway/ws {"subsystem":"gateway/ws"} protocol mismatch conn=14c8be3b-875f-4a8f-8329-af07c401d315 remote=127.0.0.1 client=openclaw-control-ui webchat v2026.5.7

warn gateway/ws {"subsystem":"gateway/ws"} {"cause":"protocol-mismatch","handshake":"failed","durationMs":9,"lastFrameType":"req","lastFrameMethod":"connect","lastFrameId":"09abf810-eca7-47e6-b2c4-2353e236e335","host":"127.0.0.1:18789","origin":"http://127.0.0.1:18789","userAgent":"Mozilla/5.0 (Macintosh; Intel Mac OS X 10_15_7) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/148.0.0.0 Safari/537.36","remoteAddr":"127.0.0.1","remotePort":64136,"localAddr":"127.0.0.1","localPort":18789,"endpoint":"127.0.0.1:64136->127.0.0.1:18789","minProtocol":3,"maxProtocol":3,"expectedProtocol":4,"minimumProbeProtocol":4,"client":"openclaw-control-ui","mode":"webchat","version":"2026.5.7","platform":"MacIntel","instanceId":"5d1fe3ab-dded-4ebd-bea8-cb4a3ab8560e"} closed before connect conn=14c8be3b-875f-4a8f-8329-af07c401d315 peer=127.0.0.1:64136->127.0.0.1:18789 remote=127.0.0.1 fwd=n/a origin=http://127.0.0.1:18789 host=127.0.0.1:18789 ua=Mozilla/5.0 (Macintosh; Intel Mac OS X 10_15_7) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/148.0.0.0 Safari/537.36 code=1002 reason=protocol mismatch

Nothing changed in the openclaw.json file that looks suspicious on a diff of the before and after file except for the addition of the following lines:

"web": { "enabled": true },

I re-installed the gateway and restarted. No changes. I do use openclaw update but for some reason Doctor doesn't seem to think so.

Code Example

Openclaw status before upgrade:

🦞 OpenClaw 2026.5.7 (eeef486)Deployed locally, trusted globally, debugged eternally.


OpenClaw status

Overview
┌──────────────────────┬───────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────┐
ItemValue├──────────────────────┼───────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────┤
OS                   │ macos 26.5 (arm64) · node 26.0.0Dashboard            │ http://127.0.0.1:18789/Tailscale exposure   │ off                                                                                                                                                                                                                                           │
Channelstable (config)Update               │ pnpm · up to date · npm latest 2026.5.7Gateway              │ local · ws://127.0.0.1:18789 (local loopback) · reachable 36ms · auth token                                                                                                                                                                   │
Gateway service      │ LaunchAgent installed · loaded · running (pid 44815, state active)Node service         │ LaunchAgent not installed                                                                                                                                                                                                                     │
Agents1 · no bootstrap files · sessions 1 · default main active 1m ago                                                                                                                                                                              │
Memoryenabled (plugin memory-core) · not checked                                                                                                                                                                                                    │
Plugin compatibility │ none                                                                                                                                                                                                                                          │
Probesskipped (use --deep)Events               │ none                                                                                                                                                                                                                                          │
Tasks0 active · 0 queued · 0 running · 13 issues · audit 3 warn · 52 tracked                                                                                                                                                                       │
Heartbeat30m (main)Sessions1 active · default qwen3.6:35b-a3b-mlx-bf16 (200k ctx) · ~/.openclaw/agents/main/sessions/sessions.json└──────────────────────┴───────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────┘

Security audit
Skipped in fast status. Full report: openclaw security audit
Deep probe: openclaw status --deep

Channels
┌──────────┬─────────┬────────┬────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────┐
ChannelEnabledStateDetail├──────────┼─────────┼────────┼────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────┤
└──────────┴─────────┴────────┴────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────┘

Sessions
┌────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────┬────────┬─────────┬──────────────────────────┬─────────────────────┬─────────────────┐
KeyKindAgeModelRuntimeTokens├────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────┼────────┼─────────┼──────────────────────────┼─────────────────────┼─────────────────┤
│ agent:main:main                                                                                                                                                                │ direct │ 1m ago  │ qwen3.6:35b-a3b-mlx-bf16 │ OpenClaw Pi Default │ 103k/262k (39%)└────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────┴────────┴─────────┴──────────────────────────┴─────────────────────┴─────────────────┘

+++++++

brew update
==> Updating Homebrew...
Updated 4 taps (steipete/tap, xdevplatform/tap, homebrew/core and homebrew/cask).
==> New Casks
amore: App distribution platform with Sparkle, code signing, and notarization
github-copilot-app: Native client for GitHub Copilot
input0: Voice input tool with AI transcription
notion-cli: Command-line interface for Notion
openwork: Unofficial desktop GUI for OpenCode
runtimeviewer: Inspect Objective-C and Swift runtime interfaces
shichizip: 7-Zip derivative GUI
sshfs-mac: Network filesystem client to connect to SSH servers
==> Outdated Formulae
ca-certificates                                                                                                                      ollama
==> Outdated Casks
xurl

You have 2 outdated formulae and 1 outdated cask installed.
You can upgrade them with brew upgrade
or list them with brew outdated.
studio:openclaw-workspace-employment-files ron$ brew upgrade
✔︎ Bottle Manifest ollama (0.23.4)                                                                                                                                                                                                            Downloaded   13.9KB/ 13.9KB
✔︎ Bottle Manifest ca-certificates (2026-05-14)                                                                                                                                                                                               Downloaded    1.7KB/  1.7KB
==> Fetching dependencies metadata
==> Upgrading 3 outdated packages:
ca-certificates 2026-03-19 -> 2026-05-14
ollama 0.23.3 -> 0.23.4
xdevplatform/tap/xurl 1.1.0 -> 1.1.1
==> Fetching downloads for: ca-certificates, ollama and xdevplatform/tap/xurl
✔︎ Bottle ca-certificates (2026-05-14)                                                                                                                                                                                                        Downloaded  112.1KB/112.1KB
✔︎ Bottle ollama (0.23.4)                                                                                                                                                                                                                     Downloaded   13.7MB/ 13.7MB
✔︎ Cask xurl (1.1.1)                                                                                                                                                                                                                          Verified      4.9MB/  4.9MB
==> Upgrading ca-certificates
  2026-03-19 -> 2026-05-14 
==> Pouring ca-certificates--2026-05-14.all.bottle.tar.gz
==> Regenerating CA certificate bundle from keychain, this may take a while...
🍺  /opt/homebrew/Cellar/ca-certificates/2026-05-14: 4 files, 200.6KB
==> Running `brew cleanup ca-certificates`...
Disable this behaviour by setting `HOMEBREW_NO_INSTALL_CLEANUP=1`.
Hide these hints with `HOMEBREW_NO_ENV_HINTS=1` (see `man brew`).
Removing: /opt/homebrew/Cellar/ca-certificates/2026-03-19... (4 files, 237.5KB)
Removing: /Users/ron/Library/Caches/Homebrew/ca-certificates_bottle_manifest--2026-03-19... (2KB)
Removing: /Users/ron/Library/Caches/Homebrew/ca-certificates--2026-03-19... (132.4KB)
==> Upgrading ollama
  0.23.3 -> 0.23.4 
==> Pouring ollama--0.23.4.arm64_tahoe.bottle.tar.gz
==> Caveats
To restart ollama after an upgrade:
  brew services restart ollama
Or, if you don't want/need a background service you can just run:
  OLLAMA_FLASH_ATTENTION="1" OLLAMA_KV_CACHE_TYPE="q8_0" /opt/homebrew/opt/ollama/bin/ollama serve
==> Summary
🍺  /opt/homebrew/Cellar/ollama/0.23.4: 10 files, 37.7MB
==> Running `brew cleanup ollama`...
Removing: /opt/homebrew/Cellar/ollama/0.23.3... (10 files, 37.7MB)
Removing: /Users/ron/Library/Caches/Homebrew/ollama_bottle_manifest--0.23.3... (13.9KB)
Removing: /Users/ron/Library/Caches/Homebrew/ollama--0.23.3... (13.7MB)
Some casks with `auto_updates true` or `version :latest` may still require `--greedy`,
`HOMEBREW_UPGRADE_GREEDY` or `HOMEBREW_UPGRADE_GREEDY_CASKS` to be upgraded.
Hide these hints with `HOMEBREW_NO_ENV_HINTS=1` (see `man brew`).
==> Upgrading xurl
  1.1.0 -> 1.1.1
==> Unlinking Binary '/opt/homebrew/bin/xurl'
==> Linking Binary 'xurl' to '/opt/homebrew/bin/xurl'
==> Purging files for version 1.1.0 of Cask xurl
🍺  xurl was successfully upgraded!
==> Caveats
==> ollama
To restart ollama after an upgrade:
  brew services restart ollama
Or, if you don't want/need a background service you can just run:
  OLLAMA_FLASH_ATTENTION="1" OLLAMA_KV_CACHE_TYPE="q8_0" /opt/homebrew/opt/ollama/bin/ollama serve
==> Upgraded 3 outdated packages
ca-certificates 2026-03-19 -> 2026-05-14
ollama 0.23.3 -> 0.23.4
xdevplatform/tap/xurl 1.1.0 -> 1.1.1
studio:openclaw-workspace-employment-files ron$ brew services restart ollama
Stopping `ollama`... (might take a while)
==> Successfully stopped `ollama` (label: homebrew.mxcl.ollama)
==> Successfully started `ollama` (label: homebrew.mxcl.ollama)
studio:openclaw-workspace-employment-files ron$ openclaw update
Updating OpenClaw...

Stopping managed gateway service before package update...
Warning: launchctl stop did not fully stop the service; used bootout fallback and left service unloaded
Stopped LaunchAgent (degraded): gui/501/ai.openclaw.gateway
◇  ✓ Updating via package manager (11.44s)
◇  ✓ Running doctor checks (13.92s)

Update Result: OK
  Root: /opt/homebrew/lib/node_modules/openclaw
  Before: 2026.5.7
  After: 2026.5.12

Total time: 29.48s

Updating plugins...
Installing @openclaw/acpx into /Users/ron/.openclaw/npm…
Linked peerDependency "openclaw" -> /opt/homebrew/lib/node_modules/openclaw
Config overwrite: /Users/ron/.openclaw/openclaw.json (sha256 aa3136e9701d83a84dd7d7a880e2473569b605dbd1da2c13ffc8d59e59284669 -> 8a378b9fce1663aeae6b48198eb1ec2bc74e8784f6fa2c4f4881e65d1c08bde6, backup=/Users/ron/.openclaw/openclaw.json.bak)
npm plugins: 1 updated, 0 unchanged.

Shell completion
Enable bash shell completion for openclaw?
Yes
Completion already installed in /Users/ron/.bash_profile

Restarting service...
Config was last written by a newer OpenClaw (2026.5.12); current version is 2026.5.7.
Gateway did not become healthy after restart.
Service runtime: status=running, state=active, pid=82230
Port 18789 is already in use.
- pid 82230 ron: /opt/homebrew/opt/node/bin/node /opt/homebrew/lib/node_modules/openclaw/dist/index.js gateway --port 18789 (127.0.0.1:18789)
- Gateway already running locally. Stop it (openclaw gateway stop) or use a different port.
Restart log: /Users/ron/.openclaw/logs/gateway-restart.log
Run `openclaw gateway status --deep` for details.
Recovery: run `openclaw gateway restart`; if macOS reports the LaunchAgent is installed but not loaded, run `openclaw gateway install --force` from the logged-in user session, then rerun `openclaw gateway status --deep`.
Rollback: reinstall OpenClaw 2026.5.7 with the same package manager, then rerun `openclaw gateway install --force`.

++++++

openclaw gateway status --deep.  immediately after update:


🦞 OpenClaw 2026.5.12 (f066dd2)I'm not AI-powered, I'm AI-possessed. Big difference.


Service: LaunchAgent (loaded)
File logs: /tmp/openclaw/openclaw-2026-05-14.log
Command: /opt/homebrew/opt/node/bin/node /opt/homebrew/lib/node_modules/openclaw/dist/index.js gateway --port 18789
Service file: ~/Library/LaunchAgents/ai.openclaw.gateway.plist
Working dir: ~/.openclaw
Service env: OPENCLAW_GATEWAY_PORT=18789

Config (cli): ~/.openclaw/openclaw.json
Config (service): ~/.openclaw/openclaw.json

Gateway: bind=loopback (127.0.0.1), port=18789 (service args)
Probe target: ws://127.0.0.1:18789
Dashboard: http://127.0.0.1:18789/
Probe note: Loopback-only gateway; only local clients can connect.

CLI version: 2026.5.12 (/opt/homebrew/bin/openclaw)
Gateway version: 2026.5.12

Runtime: running (pid 82230, state active)
Connectivity probe: ok
Capability: connected-no-operator-scope

Listening: 127.0.0.1:18789
Troubles: run openclaw status
Troubleshooting: https://docs.openclaw.ai/troubleshooting

++++++++++

openclaw gateway run

🦞 OpenClaw 2026.5.12 (f066dd2)Less clicking, more shipping, fewer "where did that file go" moments.


13:17:41 [gateway] loading configuration…
13:17:41 [gateway] resolving authentication…
13:17:41 [gateway] starting...
13:17:43 [gateway] starting HTTP server...
13:17:43 [health-monitor] started (interval: 300s, startup-grace: 60s, channel-connect-grace: 120s)
13:17:53 [shutdown] started: gateway startup failed
13:17:53 [gmail-watcher] gmail watcher stopped
13:17:53 [shutdown] completed cleanly in 9ms
13:17:53 [gateway] already running under launchd; existing gateway is healthy, leaving it in control
RAW_BUFFERClick to expand / collapse

Bug type

Regression (worked before, now fails)

Beta release blocker

No

Summary

After upgrading from 2006.5.7 to 2006.5.12 via openclaw update the web and Mac App (2006.5.7) are failing to connect to the gateway.

MacOS 26.5 Node: 26.0.0 Ollama 0.23.4 Brave

The logs show the following errors: warn gateway/ws {"subsystem":"gateway/ws"} protocol mismatch conn=14c8be3b-875f-4a8f-8329-af07c401d315 remote=127.0.0.1 client=openclaw-control-ui webchat v2026.5.7

warn gateway/ws {"subsystem":"gateway/ws"} {"cause":"protocol-mismatch","handshake":"failed","durationMs":9,"lastFrameType":"req","lastFrameMethod":"connect","lastFrameId":"09abf810-eca7-47e6-b2c4-2353e236e335","host":"127.0.0.1:18789","origin":"http://127.0.0.1:18789","userAgent":"Mozilla/5.0 (Macintosh; Intel Mac OS X 10_15_7) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/148.0.0.0 Safari/537.36","remoteAddr":"127.0.0.1","remotePort":64136,"localAddr":"127.0.0.1","localPort":18789,"endpoint":"127.0.0.1:64136->127.0.0.1:18789","minProtocol":3,"maxProtocol":3,"expectedProtocol":4,"minimumProbeProtocol":4,"client":"openclaw-control-ui","mode":"webchat","version":"2026.5.7","platform":"MacIntel","instanceId":"5d1fe3ab-dded-4ebd-bea8-cb4a3ab8560e"} closed before connect conn=14c8be3b-875f-4a8f-8329-af07c401d315 peer=127.0.0.1:64136->127.0.0.1:18789 remote=127.0.0.1 fwd=n/a origin=http://127.0.0.1:18789 host=127.0.0.1:18789 ua=Mozilla/5.0 (Macintosh; Intel Mac OS X 10_15_7) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/148.0.0.0 Safari/537.36 code=1002 reason=protocol mismatch

Nothing changed in the openclaw.json file that looks suspicious on a diff of the before and after file except for the addition of the following lines:

"web": { "enabled": true },

I re-installed the gateway and restarted. No changes. I do use openclaw update but for some reason Doctor doesn't seem to think so.

Steps to reproduce

  1. I ran a Brew update before I ran the openclaw update. This updated Node to v26.0.0, and Ollama to 0.23.4
  2. Run openclaw update from version 2006.5.8
  3. restart the gateway

Expected behavior

No connection issues with Node 26.0.0. The gateway wasn't experiencing any issues before with Node 25.9.0.

Actual behavior

The logs show the following errors: warn gateway/ws {"subsystem":"gateway/ws"} protocol mismatch conn=14c8be3b-875f-4a8f-8329-af07c401d315 remote=127.0.0.1 client=openclaw-control-ui webchat v2026.5.7

warn gateway/ws {"subsystem":"gateway/ws"} {"cause":"protocol-mismatch","handshake":"failed","durationMs":9,"lastFrameType":"req","lastFrameMethod":"connect","lastFrameId":"09abf810-eca7-47e6-b2c4-2353e236e335","host":"127.0.0.1:18789","origin":"http://127.0.0.1:18789","userAgent":"Mozilla/5.0 (Macintosh; Intel Mac OS X 10_15_7) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/148.0.0.0 Safari/537.36","remoteAddr":"127.0.0.1","remotePort":64136,"localAddr":"127.0.0.1","localPort":18789,"endpoint":"127.0.0.1:64136->127.0.0.1:18789","minProtocol":3,"maxProtocol":3,"expectedProtocol":4,"minimumProbeProtocol":4,"client":"openclaw-control-ui","mode":"webchat","version":"2026.5.7","platform":"MacIntel","instanceId":"5d1fe3ab-dded-4ebd-bea8-cb4a3ab8560e"} closed before connect conn=14c8be3b-875f-4a8f-8329-af07c401d315 peer=127.0.0.1:64136->127.0.0.1:18789 remote=127.0.0.1 fwd=n/a origin=http://127.0.0.1:18789 host=127.0.0.1:18789 ua=Mozilla/5.0 (Macintosh; Intel Mac OS X 10_15_7) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/148.0.0.0 Safari/537.36 code=1002 reason=protocol mismatch

This is the gateway status output:

🦞 OpenClaw 2026.5.12 (f066dd2) — I can grep it, git blame it, and gently roast it—pick your coping mechanism.

│ ◇
Service: LaunchAgent (loaded) File logs: /tmp/openclaw/openclaw-2026-05-14.log Command: /opt/homebrew/opt/node/bin/node /opt/homebrew/lib/node_modules/openclaw/dist/index.js gateway --port 18789 Service file: ~/Library/LaunchAgents/ai.openclaw.gateway.plist Working dir: ~/.openclaw Service env: OPENCLAW_GATEWAY_PORT=18789

Config (cli): ~/.openclaw/openclaw.json Config (service): ~/.openclaw/openclaw.json

Gateway: bind=loopback (127.0.0.1), port=18789 (service args) Probe target: ws://127.0.0.1:18789 Dashboard: http://127.0.0.1:18789/ Probe note: Loopback-only gateway; only local clients can connect.

CLI version: 2026.5.12 (/opt/homebrew/bin/openclaw) Gateway version: 2026.5.12

Runtime: running (pid 86724, state active) Connectivity probe: ok Capability: read-only

Listening: 127.0.0.1:18789

++++++

Doctor did not find anything..

◇ Update ──────────────────────────────────────────────────────────────────────────────────╮ │ │ │ This install is not a git checkout. │ │ Run openclaw update to update via your package manager (npm/pnpm), then rerun doctor. │ │ │ ├───────────────────────────────────────────────────────────────────────────────────────────╯ │ ◇ Command owner ────────────────────────────────────────────────────────────────────────────╮ │ │ │ No command owner is configured. │ │ A command owner is the human operator account allowed to run owner-only commands and │ │ approve dangerous actions, including /diagnostics, /export-trajectory, /config, and exec │ │ approvals. │ │ DM pairing only lets someone talk to the bot; it does not make that sender the owner for │ │ privileged commands. │ │ Fix: set commands.ownerAllowFrom to your channel user id, for example openclaw config │ │ set commands.ownerAllowFrom '["telegram:123456789"]' │ │ Restart the gateway after changing this if it is already running. │ │ │ ├────────────────────────────────────────────────────────────────────────────────────────────╯ │ ◇ Session locks ──────────────────────────────────────────────────────────────────────╮ │ │ │ - Found 1 session lock file. │ │ - ~/.openclaw/agents/main/sessions/e593bcd2-09d9-47c7-9fca-cd229d9664e0.jsonl.lock │ │ pid=86724 (alive) age=2m10s stale=no │ │ │ ├──────────────────────────────────────────────────────────────────────────────────────╯ │ ◇ Security ─────────────────────────────────╮ │ │ │ - No channel security warnings detected. │ │ - Run: openclaw security audit --deep │ │ │ ├────────────────────────────────────────────╯ │ ◇ Skills status ───────────╮ │ │ │ Eligible: 17 │ │ Missing requirements: 0 │ │ Blocked by allowlist: 0 │ │ │ ├───────────────────────────╯ │ ◇ Plugins ──────╮ │ │ │ Loaded: 67 │ │ Imported: 0 │ │ Disabled: 23 │ │ Errors: 0 │ │ │ ├────────────────╯

OpenClaw version

2026.5.12

Operating system

MacOS 26.5

Install method

npm openclaw update

Model

N/A

Provider / routing chain

N/A

Additional provider/model setup details

No response

Logs, screenshots, and evidence

Openclaw status before upgrade:

🦞 OpenClaw 2026.5.7 (eeef486) — Deployed locally, trusted globally, debugged eternally.

OpenClaw status

Overview
┌──────────────────────┬───────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────┐
│ Item                 │ Value                                                                                                                                                                                                                                         │
├──────────────────────┼───────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────┤
│ OS                   │ macos 26.5 (arm64) · node 26.0.0                                                                                                                                                                                                              │
│ Dashboard            │ http://127.0.0.1:18789/                                                                                                                                                                                                                       │
│ Tailscale exposure   │ off                                                                                                                                                                                                                                           │
│ Channel              │ stable (config)│ Update               │ pnpm · up to date · npm latest 2026.5.7                                                                                                                                                                                                       │
│ Gateway              │ local · ws://127.0.0.1:18789 (local loopback) · reachable 36ms · auth token                                                                                                                                                                   │
│ Gateway service      │ LaunchAgent installed · loaded · running (pid 44815, state active)│ Node service         │ LaunchAgent not installed                                                                                                                                                                                                                     │
│ Agents               │ 1 · no bootstrap files · sessions 1 · default main active 1m ago                                                                                                                                                                              │
│ Memory               │ enabled (plugin memory-core) · not checked                                                                                                                                                                                                    │
│ Plugin compatibility │ none                                                                                                                                                                                                                                          │
│ Probes               │ skipped (use --deep)│ Events               │ none                                                                                                                                                                                                                                          │
│ Tasks                │ 0 active · 0 queued · 0 running · 13 issues · audit 3 warn · 52 tracked                                                                                                                                                                       │
│ Heartbeat            │ 30m (main)│ Sessions             │ 1 active · default qwen3.6:35b-a3b-mlx-bf16 (200k ctx) · ~/.openclaw/agents/main/sessions/sessions.json                                                                                                                                       │
└──────────────────────┴───────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────┘

Security audit
Skipped in fast status. Full report: openclaw security audit
Deep probe: openclaw status --deep

Channels
┌──────────┬─────────┬────────┬────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────┐
│ Channel  │ Enabled │ State  │ Detail                                                                                                                                                                                                                                 │
├──────────┼─────────┼────────┼────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────┤
└──────────┴─────────┴────────┴────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────┘

Sessions
┌────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────┬────────┬─────────┬──────────────────────────┬─────────────────────┬─────────────────┐
│ Key                                                                                                                                                                            │ Kind   │ Age     │ Model                    │ Runtime             │ Tokens          │
├────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────┼────────┼─────────┼──────────────────────────┼─────────────────────┼─────────────────┤
│ agent:main:main                                                                                                                                                                │ direct │ 1m ago  │ qwen3.6:35b-a3b-mlx-bf16 │ OpenClaw Pi Default │ 103k/262k (39%)└────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────┴────────┴─────────┴──────────────────────────┴─────────────────────┴─────────────────┘

+++++++

brew update
==> Updating Homebrew...
Updated 4 taps (steipete/tap, xdevplatform/tap, homebrew/core and homebrew/cask).
==> New Casks
amore: App distribution platform with Sparkle, code signing, and notarization
github-copilot-app: Native client for GitHub Copilot
input0: Voice input tool with AI transcription
notion-cli: Command-line interface for Notion
openwork: Unofficial desktop GUI for OpenCode
runtimeviewer: Inspect Objective-C and Swift runtime interfaces
shichizip: 7-Zip derivative GUI
sshfs-mac: Network filesystem client to connect to SSH servers
==> Outdated Formulae
ca-certificates                                                                                                                      ollama
==> Outdated Casks
xurl

You have 2 outdated formulae and 1 outdated cask installed.
You can upgrade them with brew upgrade
or list them with brew outdated.
studio:openclaw-workspace-employment-files ron$ brew upgrade
✔︎ Bottle Manifest ollama (0.23.4)                                                                                                                                                                                                            Downloaded   13.9KB/ 13.9KB
✔︎ Bottle Manifest ca-certificates (2026-05-14)                                                                                                                                                                                               Downloaded    1.7KB/  1.7KB
==> Fetching dependencies metadata
==> Upgrading 3 outdated packages:
ca-certificates 2026-03-19 -> 2026-05-14
ollama 0.23.3 -> 0.23.4
xdevplatform/tap/xurl 1.1.0 -> 1.1.1
==> Fetching downloads for: ca-certificates, ollama and xdevplatform/tap/xurl
✔︎ Bottle ca-certificates (2026-05-14)                                                                                                                                                                                                        Downloaded  112.1KB/112.1KB
✔︎ Bottle ollama (0.23.4)                                                                                                                                                                                                                     Downloaded   13.7MB/ 13.7MB
✔︎ Cask xurl (1.1.1)                                                                                                                                                                                                                          Verified      4.9MB/  4.9MB
==> Upgrading ca-certificates
  2026-03-19 -> 2026-05-14 
==> Pouring ca-certificates--2026-05-14.all.bottle.tar.gz
==> Regenerating CA certificate bundle from keychain, this may take a while...
🍺  /opt/homebrew/Cellar/ca-certificates/2026-05-14: 4 files, 200.6KB
==> Running `brew cleanup ca-certificates`...
Disable this behaviour by setting `HOMEBREW_NO_INSTALL_CLEANUP=1`.
Hide these hints with `HOMEBREW_NO_ENV_HINTS=1` (see `man brew`).
Removing: /opt/homebrew/Cellar/ca-certificates/2026-03-19... (4 files, 237.5KB)
Removing: /Users/ron/Library/Caches/Homebrew/ca-certificates_bottle_manifest--2026-03-19... (2KB)
Removing: /Users/ron/Library/Caches/Homebrew/ca-certificates--2026-03-19... (132.4KB)
==> Upgrading ollama
  0.23.3 -> 0.23.4 
==> Pouring ollama--0.23.4.arm64_tahoe.bottle.tar.gz
==> Caveats
To restart ollama after an upgrade:
  brew services restart ollama
Or, if you don't want/need a background service you can just run:
  OLLAMA_FLASH_ATTENTION="1" OLLAMA_KV_CACHE_TYPE="q8_0" /opt/homebrew/opt/ollama/bin/ollama serve
==> Summary
🍺  /opt/homebrew/Cellar/ollama/0.23.4: 10 files, 37.7MB
==> Running `brew cleanup ollama`...
Removing: /opt/homebrew/Cellar/ollama/0.23.3... (10 files, 37.7MB)
Removing: /Users/ron/Library/Caches/Homebrew/ollama_bottle_manifest--0.23.3... (13.9KB)
Removing: /Users/ron/Library/Caches/Homebrew/ollama--0.23.3... (13.7MB)
Some casks with `auto_updates true` or `version :latest` may still require `--greedy`,
`HOMEBREW_UPGRADE_GREEDY` or `HOMEBREW_UPGRADE_GREEDY_CASKS` to be upgraded.
Hide these hints with `HOMEBREW_NO_ENV_HINTS=1` (see `man brew`).
==> Upgrading xurl
  1.1.0 -> 1.1.1
==> Unlinking Binary '/opt/homebrew/bin/xurl'
==> Linking Binary 'xurl' to '/opt/homebrew/bin/xurl'
==> Purging files for version 1.1.0 of Cask xurl
🍺  xurl was successfully upgraded!
==> Caveats
==> ollama
To restart ollama after an upgrade:
  brew services restart ollama
Or, if you don't want/need a background service you can just run:
  OLLAMA_FLASH_ATTENTION="1" OLLAMA_KV_CACHE_TYPE="q8_0" /opt/homebrew/opt/ollama/bin/ollama serve
==> Upgraded 3 outdated packages
ca-certificates 2026-03-19 -> 2026-05-14
ollama 0.23.3 -> 0.23.4
xdevplatform/tap/xurl 1.1.0 -> 1.1.1
studio:openclaw-workspace-employment-files ron$ brew services restart ollama
Stopping `ollama`... (might take a while)
==> Successfully stopped `ollama` (label: homebrew.mxcl.ollama)
==> Successfully started `ollama` (label: homebrew.mxcl.ollama)
studio:openclaw-workspace-employment-files ron$ openclaw update
Updating OpenClaw...

Stopping managed gateway service before package update...
Warning: launchctl stop did not fully stop the service; used bootout fallback and left service unloaded
Stopped LaunchAgent (degraded): gui/501/ai.openclaw.gateway
◇  ✓ Updating via package manager (11.44s)
◇  ✓ Running doctor checks (13.92s)

Update Result: OK
  Root: /opt/homebrew/lib/node_modules/openclaw
  Before: 2026.5.7
  After: 2026.5.12

Total time: 29.48s

Updating plugins...
Installing @openclaw/acpx into /Users/ron/.openclaw/npm…
Linked peerDependency "openclaw" -> /opt/homebrew/lib/node_modules/openclaw
Config overwrite: /Users/ron/.openclaw/openclaw.json (sha256 aa3136e9701d83a84dd7d7a880e2473569b605dbd1da2c13ffc8d59e59284669 -> 8a378b9fce1663aeae6b48198eb1ec2bc74e8784f6fa2c4f4881e65d1c08bde6, backup=/Users/ron/.openclaw/openclaw.json.bak)
npm plugins: 1 updated, 0 unchanged.

Shell completion
◇  Enable bash shell completion for openclaw?
│  Yes
Completion already installed in /Users/ron/.bash_profile

Restarting service...
Config was last written by a newer OpenClaw (2026.5.12); current version is 2026.5.7.
Gateway did not become healthy after restart.
Service runtime: status=running, state=active, pid=82230
Port 18789 is already in use.
- pid 82230 ron: /opt/homebrew/opt/node/bin/node /opt/homebrew/lib/node_modules/openclaw/dist/index.js gateway --port 18789 (127.0.0.1:18789)
- Gateway already running locally. Stop it (openclaw gateway stop) or use a different port.
Restart log: /Users/ron/.openclaw/logs/gateway-restart.log
Run `openclaw gateway status --deep` for details.
Recovery: run `openclaw gateway restart`; if macOS reports the LaunchAgent is installed but not loaded, run `openclaw gateway install --force` from the logged-in user session, then rerun `openclaw gateway status --deep`.
Rollback: reinstall OpenClaw 2026.5.7 with the same package manager, then rerun `openclaw gateway install --force`.

++++++

openclaw gateway status --deep.  immediately after update:


🦞 OpenClaw 2026.5.12 (f066dd2) — I'm not AI-powered, I'm AI-possessed. Big difference.

Service: LaunchAgent (loaded)
File logs: /tmp/openclaw/openclaw-2026-05-14.log
Command: /opt/homebrew/opt/node/bin/node /opt/homebrew/lib/node_modules/openclaw/dist/index.js gateway --port 18789
Service file: ~/Library/LaunchAgents/ai.openclaw.gateway.plist
Working dir: ~/.openclaw
Service env: OPENCLAW_GATEWAY_PORT=18789

Config (cli): ~/.openclaw/openclaw.json
Config (service): ~/.openclaw/openclaw.json

Gateway: bind=loopback (127.0.0.1), port=18789 (service args)
Probe target: ws://127.0.0.1:18789
Dashboard: http://127.0.0.1:18789/
Probe note: Loopback-only gateway; only local clients can connect.

CLI version: 2026.5.12 (/opt/homebrew/bin/openclaw)
Gateway version: 2026.5.12

Runtime: running (pid 82230, state active)
Connectivity probe: ok
Capability: connected-no-operator-scope

Listening: 127.0.0.1:18789
Troubles: run openclaw status
Troubleshooting: https://docs.openclaw.ai/troubleshooting

++++++++++

openclaw gateway run

🦞 OpenClaw 2026.5.12 (f066dd2) — Less clicking, more shipping, fewer "where did that file go" moments.

13:17:41 [gateway] loading configuration…
13:17:41 [gateway] resolving authentication…
13:17:41 [gateway] starting...
13:17:43 [gateway] starting HTTP server...
13:17:43 [health-monitor] started (interval: 300s, startup-grace: 60s, channel-connect-grace: 120s)
13:17:53 [shutdown] started: gateway startup failed
13:17:53 [gmail-watcher] gmail watcher stopped
13:17:53 [shutdown] completed cleanly in 9ms
13:17:53 [gateway] already running under launchd; existing gateway is healthy, leaving it in control

Impact and severity

Affected: All web/app clients can not connect to the gateway Severity: openclaw interfaces all failing, unable to use openclaw Frequency: Constant Consequences: No work getting done

Additional information

No response

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…

FAQ

Expected behavior

No connection issues with Node 26.0.0. The gateway wasn't experiencing any issues before with Node 25.9.0.

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]: 2026.5.12 update on MacOS 26.5 causes web/app ws connection failures with "wrong protocol" errors