#Openclaw Gateway not Responding after update From 2026.4.23 to 2026.4.25

1 messages · Page 1 of 1 (latest)

fiery night
#

OpenClaw 2026.4.25 – Gateway timeout trotz laufendem Service / Plugin runtime deps beschĂ€digt

Nach Update/Start mit OpenClaw 2026.4.25 (aa36ee6) habe ich massive Gateway- und Plugin-Probleme.

Umgebung:

OpenClaw 2026.4.25
WSL2 Linux 6.6.87.2-microsoft-standard-WSL2 x64
Node v22.22.2 / npm 10.9.7
Gateway via systemd user service
Gateway bind: lan / 0.0.0.0:18789

Fehlerbild:
Gateway-Prozess lÀuft und Port ist offen:

0.0.0.0:18789 LISTEN users:(("openclaw-gatewa",pid=...,fd=...))

Aber CLI/WebSocket bekommt:

gateway timeout after 10000ms
Gateway target: ws://127.0.0.1:18789

openclaw status zeigt:

Gateway service: running
Gateway: unreachable (timeout)

Teilweise sehr hohe Gateway-CPU/RAM-Last.

AuffÀllige Fehler in Logs:

Cannot find package 'chokidar'
Cannot find module '@hapi/hoek'
Cannot find module 'discord-api-types/v10.js'
Cannot find module 'typebox/build/index.mjs'
browser failed to stage bundled runtime deps:
@modelcontextprotocol/sdk, playwright-core

Außerdem mehrfach:

npm error ENOTEMPTY rename ... node_modules/highlight.js -> .highlight.js-...

Und:

@matrix-org/matrix-sdk-crypto-nodejs requires node >=24
current node v22.22.2

Betroffene Plugins/Channels waren u. a.:
Discord, WhatsApp, Telegram, Browser, QMD/memory.

Was gemacht wurde:
Gateway gestoppt:

systemctl --user stop openclaw-gateway.service 2>/dev/null || true
pkill -f openclaw-gateway
ss -ltnp | grep 18789 || echo "Port frei"

Fehlende Pakete testweise installiert:

cd ~/.openclaw/plugin-runtime-deps/openclaw-2026.4.25-aebc2c133536
npm install @hapi/hoek chokidar

AuffÀllig: npm meldete dabei:

added 2 packages, removed 739 packages

Danach:

openclaw doctor --fix

Doctor installierte bundled runtime deps neu und meldete:

Plugin registry refreshed: 70/112 enabled plugins indexed
Plugins: Loaded 70
Errors: 0
Removed 1 stale session lock file

Danach startet Gateway wieder:

openclaw-gateway.service active/running
gateway ready (11 plugins: acpx, active-memory, bonjour, browser, device-pair, discord, memory-core, phone-control, talk-voice, telegram, whatsapp)

Lisa konnte einmal in Discord antworten.

Aktueller Zustand:
Danach wieder:

Gateway service running
Port 18789 open
Gateway ready
aber openclaw status: unreachable (timeout)

Status zeigt zusÀtzlich:

Tasks: 1 active / 1 running / viele issues
Memory: 3949 files / 3949 chunks / vector unavailable

Vermutung:
Plugin runtime deps waren beschÀdigt/halb installiert. Nach doctor --fix sind die Plugin-Fehler weitgehend weg, aber Gateway blockiert weiterhin vermutlich durch Task/Cron-Nacharbeit, Memory/QMD/Indexing, Delivery-Recovery, Bonjour/mDNS oder Channel-Start.

severe ledgeBOT
#

To help others find answers, you can mark your question as solved via Right click solution message -> Apps -> ✅ Mark Solution

dull sunBOT
#

Das sieht nach zwei getrennten Problemen aus:

  1. Plugin runtime deps waren/ sind beschĂ€digt — das npm install direkt in ~/.openclaw/plugin-runtime-deps/... hat vermutlich den Stage-Root weiter kaputt gemacht (removed 739 packages ist ein starkes Signal).
  2. Gateway lauscht zwar am Port, aber die RPC/WS-Schicht antwortet nicht rechtzeitig — also eher Event-loop/Startup/Task-Stall als reines Bind/Firewall-Problem.

Ich wĂŒrde jetzt nicht weiter hĂ€ndisch in plugin-runtime-deps npm-installieren. Besser sauber neu stagen:

openclaw update
openclaw --version

Aktuell ist 2026.4.26 draußen und enthĂ€lt mehrere Fixes rund um Update-/Startup-/Runtime-Dep-Pfade. Danach:

systemctl --user stop openclaw-gateway.service 2>/dev/null || true
#
pkill -f openclaw-gateway 2>/dev/null || true

mv ~/.openclaw/plugin-runtime-deps ~/.openclaw/plugin-runtime-deps.broken-$(date +%Y%m%d-%H%M%S)

openclaw doctor --fix
openclaw gateway install --force
openclaw gateway restart

Da du auch @matrix-org/matrix-sdk-crypto-nodejs requires node >=24 siehst: auf WSL wĂŒrde ich hier wirklich auf Node 24 gehen. Node 22.14+ ist grundsĂ€tzlich kompatibel, aber dieser Matrix/native-dep-Fall ist ein guter Grund, nicht auf Node 22 zu bleiben.

Danach bitte diese drei Checks trennen:

curl -m 2 -sS http://127.0.0.1:18789/healthz ; echo
#
curl -m 2 -sS http://127.0.0.1:18789/readyz ; echo
openclaw gateway status --deep

Interpretation:

  • /healthz hĂ€ngt auch → Gateway/Event-loop blockiert.
  • /healthz ok, /readyz rot/hĂ€ngt → Startup/Channels/Sidecars hĂ€ngen.
  • beide ok, aber openclaw status timeout → WS/RPC-Probe/CLI-Pfad genauer anschauen.

Wenn es danach noch hÀngt, als Isolationslauf:

systemctl --user stop openclaw-gateway.service
OPENCLAW_SKIP_CHANNELS=1 OPENCLAW_SKIP_PROVIDERS=1 OPENCLAW_GATEWAY_STARTUP_TRACE=1 openclaw gateway run
#

Wenn das stabil erreichbar ist, ist es sehr wahrscheinlich einer der Channel-/Plugin-Starts oder Memory/QMD/Task-Nacharbeit, nicht der Gateway-Core.

Hilfreiche nÀchste Logs wÀren dann:

openclaw status --all
openclaw tasks list --status running
openclaw tasks audit
openclaw memory status
journalctl --user -u openclaw-gateway.service -n 250 --no-pager

Docs dazu: https://docs.openclaw.ai/install/updating und https://docs.openclaw.ai/gateway/troubleshooting

fiery night
#

dmin@ZweitPc:~$ openclaw update
openclaw --version
Updating OpenClaw...

│
◇ ✓ Updating via package manager (29.51s)
│
◇ ✓ Running doctor checks (87.68s)

Update Result: OK
Root: /home/dmin/.npm-global/lib/node_modules/openclaw
Before: 2026.4.25
After: 2026.4.25

Total time: 117.84s

Updating plugins...
No plugin updates needed.
Completion cache update failed: Error: spawnSync /usr/bin/node ETIMEDOUT

Restarting service...
Gateway did not become healthy after restart.
Gateway version mismatch: expected 2026.4.25, running gateway reported unavailable.
Service runtime: status=running, state=active, pid=1534, lastExit=0
Gateway port 18789 status: free.
Restart log: /home/dmin/.openclaw/logs/gateway-restart.log
Run openclaw gateway status --deep for details.

OpenClaw 2026.4.25 (aa36ee6)
dmin@ZweitPc:~$

dull sunBOT
#

Ah, important: npm latest is currently still 2026.4.25, so the update not moving version is expected. My earlier “2026.4.26” was from main/source, not the published latest — sorry, that was misleading.

The new clue is this:

Service runtime: running
Gateway port 18789 status: free
Completion cache update failed: spawnSync /usr/bin/node ETIMEDOUT

So the service process starts, but the Gateway never reaches the listen phase. That’s different from “port open but RPC timeout”.

Next I’d do this:

cat ~/.openclaw/logs/gateway-restart.log
#
openclaw gateway status --deep
journalctl --user -u openclaw-gateway.service -n 250 --no-pager

Also: because your logs show @matrix-org/matrix-sdk-crypto-nodejs requires node >=24, move WSL to Node 24 before more repairs:

node --version
which node
which openclaw

If using nvm:

#
nvm install 24
nvm alias default 24
nvm use 24
npm i -g openclaw@latest
openclaw gateway install --force

Then reset the damaged runtime-deps cache, recoverably:

systemctl --user stop openclaw-gateway.service 2>/dev/null || true
pkill -f openclaw-gateway 2>/dev/null || true

mv ~/.openclaw/plugin-runtime-deps ~/.openclaw/plugin-runtime-deps.broken-$(date +%Y%m%d-%H%M%S)
fiery night
#

dmin@ZweitPc:~$ cat ~/.openclaw/logs/gateway-restart.log
[2026-04-27T12:21:56Z] openclaw restart attempt source=update target=openclaw-gateway.service
[2026-04-27T12:21:56Z] openclaw restart done source=update
[2026-04-27T12:52:40Z] openclaw restart attempt source=update target=openclaw-gateway.service
[2026-04-27T12:52:40Z] openclaw restart done source=update
[2026-04-27T16:37:45Z] openclaw restart attempt source=update target=openclaw-gateway.service
[2026-04-27T16:37:45Z] openclaw restart done source=update

dmin@ZweitPc:~$ openclaw gateway status --deep
journalctl --user -u openclaw-gateway.service -n 250 --no-pager

🩞 OpenClaw 2026.4.25 (aa36ee6) — I don't have opinions about tabs vs spaces. I have opinions about everything else.

Service: systemd (enabled)
File logs: /tmp/openclaw/openclaw-2026-04-27.log
Command: /usr/bin/node /home/dmin/.npm-global/lib/node_modules/openclaw/dist/index.js gateway --port 18789
Service file: ~/.config/systemd/user/openclaw-gateway.service
Service env: OPENCLAW_GATEWAY_PORT=18789

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

Gateway: bind=lan (0.0.0.0), port=18789 (service args)
Probe target: ws://127.0.0.1:18789
Dashboard: http://192.168.2.43:18789/
Probe note: bind=lan listens on 0.0.0.0 (all interfaces); probing via 127.0.0.1.

Runtime: running (pid 1559, state active, sub running, last exit 0, reason 0)
Warm-up: launch agents can take a few seconds. Try again shortly.
Connectivity probe: failed
Probe target: ws://127.0.0.1:18789
timeout
Capability: unknown

Port 18789 is already in use.

  • pid 1559 dmin: openclaw-gateway (*:18789)
  • Gateway already running locally. Stop it (openclaw gateway stop) or use a different port.
    Listening: *:18789
    Troubles: run openclaw status
    Troubleshooting: https://docs.openclaw.ai/troubleshooting
    Apr 27 18:00:05 ZweitPc node[12596]: throw err;
    Apr 27 18:00:05 ZweitPc node[12596]: ^
    Apr 27 18:00:05 ZweitPc node[12596]: Error: Cannot find module '/home/dmin/.npm-global/lib/node_modules/openclaw/dist/index.js'
    Apr 27 18:00:05 ZweitPc node[12596]: at Function._resolveFilename (node:internal/modules/cjs/loader:1383:15)
    Apr 27 18:00:05 ZweitPc node[12596]: at defaultResolveImpl (node:internal/modules/cjs/loader:1025:19)
    Apr 27 18:00:05 ZweitPc node[12596]: at resolveForCJSWithHooks (node:internal/modules/cjs/loader:1030:22)
    Apr 27 18:00:05 ZweitPc node[12596]: at Function._load (node:internal/modules/cjs/loader:1192:37)
    Apr 27 18:00:05 ZweitPc node[12596]: at TracingChannel.traceSync (node:diagnostics_channel:328:14)
    Apr 27 18:00:05 ZweitPc node[12596]: at wrapModuleLoad (node:internal/modules/cjs/loader:237:24)
    Apr 27 18:00:05 ZweitPc node[12596]: at Function.executeUserEntryPoint [as runMain] (node:internal/modules/run_main:171:5)
    Apr 27 18:00:05 ZweitPc node[12596]: at node:internal/main/run_main_module:36:49 {
    Apr 27 18:00:05 ZweitPc node[12596]: code: 'MODULE_NOT_FOUND',
    Apr 27 18:00:05 ZweitPc node[12596]: requireStack: []
    Apr 27 18:00:05 ZweitPc node[12596]: }
    Apr 27 18:00:05 ZweitPc node[12596]: Node.js v22.22.2
    rest folgt. limit ĂŒberschritten
dull sunBOT
#

Das ist jetzt ein anderer, sehr klarer Hinweis:

Cannot find module '/home/dmin/.npm-global/lib/node_modules/openclaw/dist/index.js'

Das heißt: der systemd-Service zeigt auf eine OpenClaw-Installation, deren dist/ zeitweise/aktuell kaputt oder unvollstĂ€ndig ist. Also nicht primĂ€r QMD/Memory debuggen — erst die Package-/Service-Installation sauber machen.

Bitte als nÀchstes:

ls -l /home/dmin/.npm-global/lib/node_modules/openclaw/dist/index.js
ls -l /home/dmin/.npm-global/lib/node_modules/openclaw/openclaw.mjs
which openclaw
which node
node --version
#

Dann wĂŒrde ich auf WSL sauber auf Node 24 + frische npm-Installation gehen:

systemctl --user stop openclaw-gateway.service 2>/dev/null || true
pkill -f openclaw-gateway 2>/dev/null || true

# falls nvm vorhanden:
nvm install 24
nvm alias default 24
nvm use 24

npm i -g openclaw@latest
openclaw --version
openclaw doctor --fix
openclaw gateway install --force
openclaw gateway restart
#

Wichtig: Danach muss openclaw gateway status --deep nicht mehr /usr/bin/node .../dist/index.js mit fehlendem dist zeigen. Wenn du Node 24 via nvm nutzt, aber der Service weiter /usr/bin/node verwendet, wurde der Service aus der falschen Umgebung installiert — dann gateway install --force nochmal nach nvm use 24 ausfĂŒhren.

Wenn das weiterhin hĂ€ngt, bitte den restlichen journalctl-Teil posten — speziell die Zeilen vom aktuellen PID 1559.

fiery night
#

der Agentin passiert dabei nichts?

dull sunBOT
#

Ja — der Agentin / Lisa passiert dabei nichts Wesentliches.

Die wichtigen Daten liegen normalerweise in ~/.openclaw/:

  • Config
  • Auth/Pairings
  • Sessions
  • Memory
  • Workspace
  • Channel-State

npm i -g openclaw@latest und openclaw gateway install --force ersetzen nur die OpenClaw-Programmdateien und die systemd-Service-Definition. Das löscht nicht Lisas GedÀchtnis oder Konfiguration.

Die einzige Sache, die wir verschieben wĂŒrden:

#
mv ~/.openclaw/plugin-runtime-deps ~/.openclaw/plugin-runtime-deps.broken-...

ist nur ein wiederherstellbarer Dependency-Cache fĂŒr Plugin-Laufzeitpakete. Der wird durch openclaw doctor --fix/Gateway-Start neu aufgebaut.

Trotzdem: wenn du maximal sicher sein willst, vorher ein Backup machen:

tar -czf ~/openclaw-backup-$(date +%Y%m%d-%H%M%S).tgz ~/.openclaw

Das kann je nach Memory/Logs groß werden, aber ist die beruhigende Variante.

fiery night
#

dmin@ZweitPc:~$ ls -l /home/dmin/.npm-global/lib/node_modules/openclaw/dist/index.js
ls -l /home/dmin/.npm-global/lib/node_modules/openclaw/openclaw.mjs
which openclaw
which node
node --version
-rwxr-xr-x 1 dmin dmin 2860 Apr 27 18:35 /home/dmin/.npm-global/lib/node_modules/openclaw/dist/index.js
-rwxr-xr-x 1 dmin dmin 5664 Apr 27 18:35 /home/dmin/.npm-global/lib/node_modules/openclaw/openclaw.mjs
/home/dmin/.local/bin/openclaw
/usr/bin/node
v22.22.2
dmin@ZweitPc:~$

dull sunBOT
#

Gut, dist/index.js ist wieder da — der alte MODULE_NOT_FOUND war vermutlich wĂ€hrend/kurz nach dem Update-Swap. Jetzt bleiben zwei echte Red Flags:

  1. which openclaw → /home/dmin/.local/bin/openclaw
  2. Service nutzt → /usr/bin/node /home/dmin/.npm-global/lib/node_modules/openclaw/...
  3. Node ist noch v22.22.2

Das riecht nach Wrapper/PATH/Split-Install + Node 22.

Bitte einmal:

ls -l /home/dmin/.local/bin/openclaw
readlink -f /home/dmin/.local/bin/openclaw
head -40 /home/dmin/.local/bin/openclaw

Und parallel die HTTP-Probes:

#
curl -m 3 -v http://127.0.0.1:18789/healthz
curl -m 3 -v http://127.0.0.1:18789/readyz
tail -n 200 /tmp/openclaw/openclaw-2026-04-27.log

Wenn /healthz auch hÀngt, ist der Node-Prozess/Event-Loop blockiert. Wenn /healthz geht und /readyz hÀngt/rot ist, hÀngt Startup/Plugin/Channel.

Ich wĂŒrde trotzdem als Fix-Schiene weiter bei Node 24 + Service neu installieren aus derselben Umgebung bleiben, weil Matrix schon explizit node >=24 verlangt:

node --version
# auf Node 24 wechseln/installieren
openclaw gateway install --force
openclaw gateway restart
#

Wichtig ist danach: openclaw gateway status --deep sollte CLI, Service und Node aus derselben Installation zeigen — kein .local/bin Wrapper, der woanders hinzeigt.

fiery night
#

npm i -g openclaw@latest
openclaw --version
openclaw doctor --fix
openclaw gateway install --force
openclaw gateway restart
Downloading and installing node v24.15.0...
Downloading https://nodejs.org/dist/v24.15.0/node-v24.15.0-linux-x64.tar.xz...
Computing checksum with sha256sum
Checksums matched!
Your user’s .npmrc file (${HOME}/.npmrc)
has a globalconfig and/or a prefix setting, which are incompatible with nvm.
Run nvm use --delete-prefix v24.15.0 to unset it.
default -> 24 (-> v24.15.0)
Your user’s .npmrc file (${HOME}/.npmrc)
has a globalconfig and/or a prefix setting, which are incompatible with nvm.
Run nvm use --delete-prefix v24.15.0 to unset it.
npm warn deprecated node-domexception@1.0.0: Use your platform's native DOMException instead

changed 434 packages in 31s

70 packages are looking for funding
run npm fund for details
OpenClaw 2026.4.25 (aa36ee6)

dull sunBOT
#

Das ist genau der nÀchste Stolperstein: nvm ist installiert, aber deine ~/.npmrc erzwingt noch einen npm prefix. Dadurch landet npm -g weiter in ~/.npm-global und der aktive node/Service kann weiterhin gemischt sein.

Mach jetzt bitte gezielt:

nvm use --delete-prefix v24.15.0

node --version
npm config get prefix
which node
which npm
which openclaw

Wenn npm config get prefix noch ~/.npm-global zeigt, bitte die Prefix-Zeile prĂŒfen:

#
cat ~/.npmrc

Falls dort sowas steht:

prefix=/home/dmin/.npm-global

dann entfernen/auskommentieren, danach:

nvm use --delete-prefix v24.15.0
hash -r
#
npm i -g openclaw@latest
openclaw --version
which openclaw
which node

Erwartung danach ungefÀhr:

which node    -> ~/.nvm/versions/node/v24.15.0/bin/node
which openclaw -> ~/.nvm/versions/node/v24.15.0/bin/openclaw

Erst wenn das stimmt, dann:

#
openclaw doctor --fix
openclaw gateway install --force
openclaw gateway restart
openclaw gateway status --deep

Sonst installiert man den Service wieder aus der alten /usr/bin/node / ~/.npm-global Welt, und das Problem bleibt halb kaputt.

fiery night
#

dmin@ZweitPc:~$ npm i -g openclaw@latest
openclaw --version
which openclaw
which node
npm warn deprecated node-domexception@1.0.0: Use your platform's native DOMException instead

added 434 packages in 24s

70 packages are looking for funding
run npm fund for details
OpenClaw 2026.4.25 (aa36ee6)
/home/dmin/.nvm/versions/node/v24.15.0/bin/openclaw
/home/dmin/.nvm/versions/node/v24.15.0/bin/node

dull sunBOT
#

Perfekt — jetzt sind CLI und Node endlich konsistent auf Node 24 / nvm. 🎯

Jetzt bitte den Service aus genau dieser Umgebung neu schreiben:

systemctl --user stop openclaw-gateway.service 2>/dev/null || true
pkill -f openclaw-gateway 2>/dev/null || true

openclaw doctor --fix
openclaw gateway install --force
openclaw gateway restart

openclaw gateway status --deep

In gateway status --deep sollte die Command:-Zeile danach ungefÀhr so aussehen:

#
/home/dmin/.nvm/versions/node/v24.15.0/bin/node .../openclaw/dist/index.js gateway --port 18789

Wenn dort weiterhin /usr/bin/node oder ~/.npm-global/... steht, ist noch ein alter systemd-Service aktiv.

Falls der Gateway danach immer noch timeoutet, dann direkt:

curl -m 3 -v http://127.0.0.1:18789/healthz
curl -m 3 -v http://127.0.0.1:18789/readyz
journalctl --user -u openclaw-gateway.service -n 200 --no-pager
fiery night
#

Health check failed: gateway timeout after 10000ms
Gateway target: ws://127.0.0.1:18789
Source: local loopback
Config: /home/dmin/.openclaw/openclaw.json
Bind: lan

dull sunBOT
#

Okay — das ist noch der WS/RPC-Healthcheck. Jetzt mĂŒssen wir sehen, ob der Gateway ĂŒberhaupt HTTP beantworten kann oder ob der Node-Prozess komplett blockiert.

Bitte direkt diese 4 Sachen posten:

openclaw gateway status --deep

curl -m 3 -v http://127.0.0.1:18789/healthz
curl -m 3 -v http://127.0.0.1:18789/readyz

journalctl --user -u openclaw-gateway.service -n 200 --no-pager

Wichtig in gateway status --deep: die Command:-Zeile muss jetzt auf Node 24 zeigen, also etwa:

#
/home/dmin/.nvm/versions/node/v24.15.0/bin/node ...

Wenn sie noch /usr/bin/node zeigt, ist der Service noch alt installiert.

Falls /healthz auch timeoutet, bitte als nÀchsten Isolationslauf:

systemctl --user stop openclaw-gateway.service
OPENCLAW_SKIP_CHANNELS=1 OPENCLAW_SKIP_PROVIDERS=1 OPENCLAW_GATEWAY_STARTUP_TRACE=1 openclaw gateway run

Wenn das stabil startet, hÀngt nicht der Core-Gateway, sondern ein Plugin/Channel/Startup-Job. Dann nehmen wir gezielt Plugin runtime deps / Browser / Memory auseinander.

Docs: https://docs.openclaw.ai/gateway/troubleshooting

fiery night
#

18:52:41 [memory] qmd memory unavailable; falling back to builtin: Cannot find package 'chokidar' imported from /home/dmin/.openclaw/plugin-runtime-deps/openclaw-2026.4.25-a4baf1ab7f6b/dist/qmd-manager-FuXCtSYP.js
Did you mean to import "chokidar/index.js"?

dull sunBOT
#

Yep — das bestĂ€tigt: der neue Plugin-runtime-deps-Root ist immer noch unvollstĂ€ndig:

~/.openclaw/plugin-runtime-deps/openclaw-2026.4.25-a4baf1ab7f6b
Cannot find package 'chokidar'

qmd memory unavailable; falling back to builtin ist fĂŒr sich nicht tödlich, aber der fehlende Runtime-Dep-Root ist genau das Muster.

Bitte jetzt einmal wirklich sauber ohne laufenden Gateway neu stagen:

systemctl --user stop openclaw-gateway.service 2>/dev/null || true
pkill -f openclaw-gateway 2>/dev/null || true

mv ~/.openclaw/plugin-runtime-deps ~/.openclaw/plugin-runtime-deps.broken-$(date +%Y%m%d-%H%M%S)
#

openclaw doctor --fix
openclaw gateway restart

Danach prĂŒfen:

openclaw gateway status --deep
curl -m 3 -v http://127.0.0.1:18789/healthz
curl -m 3 -v http://127.0.0.1:18789/readyz

Wichtig: nicht mehr manuell npm install in ~/.openclaw/plugin-runtime-deps/... ausfĂŒhren. Das ist ein OpenClaw-managed Cache; manuelles npm dort kann genau dieses “halb installiert / Pakete entfernt”-Chaos erzeugen.

Wenn doctor --fix danach wieder “OK” sagt, aber Logs immer noch Cannot find package 'chokidar' aus einem frischen openclaw-2026.4.25-* Root zeigen, dann ist das sehr wahrscheinlich ein 2026.4.25 Runtime-deps-Bug und sollte mit diesen Logs als GitHub Issue rein.

fiery night
#

18:57:47 [memory] qmd memory unavailable; falling back to builtin: Cannot find package 'chokidar' imported from /home/dmin/.openclaw/plugin-runtime-deps/openclaw-2026.4.25-a4baf1ab7f6b/dist/qmd-manager-FuXCtSYP.js
Did you mean to import "chokidar/index.js"?

dull sunBOT
#

Das ist noch derselbe kaputte Stage-Root:

openclaw-2026.4.25-a4baf1ab7f6b

Also entweder wurde der Cache noch nicht wirklich wegbewegt, oder ein alter Gateway-Prozess lÀuft noch und loggt weiter.

Bitte einmal hart verifizieren:

systemctl --user stop openclaw-gateway.service 2>/dev/null || true
pkill -f openclaw-gateway 2>/dev/null || true
pgrep -af openclaw-gateway || echo "kein Gateway-Prozess"
ss -ltnp | grep 18789 || echo "Port frei"
#
ls -ld ~/.openclaw/plugin-runtime-deps/openclaw-2026.4.25-a4baf1ab7f6b
mv ~/.openclaw/plugin-runtime-deps ~/.openclaw/plugin-runtime-deps.broken-$(date +%Y%m%d-%H%M%S)

openclaw doctor --fix
openclaw gateway restart

Danach:

openclaw gateway status --deep
curl -m 3 -v http://127.0.0.1:18789/healthz
curl -m 3 -v http://127.0.0.1:18789/readyz
tail -n 120 /tmp/openclaw/openclaw-2026-04-27.log
#

Wichtig: qmd memory unavailable; falling back to builtin ist nicht automatisch fatal — aber Cannot find package 'chokidar' nach frischem doctor --fix sollte nicht passieren.

Wenn nach dem Rename + doctor --fix wieder ein frischer openclaw-2026.4.25-* Root ohne chokidar entsteht, ist das sehr wahrscheinlich ein 2026.4.25 Runtime-deps-Bug. Dann bitte mit genau diesen Logs ein GitHub Issue aufmachen: https://github.com/openclaw/openclaw/issues

fiery night
#

ne Zwischenfrage, das ist normal? :
◇ Skills status ────────────╼
│ │
│ Eligible: 107 │
│ Missing requirements: 23 │
│ Blocked by allowlist: 0 │
│ │

dull sunBOT
#

Ja, das ist normal. 👍

Missing requirements: 23 heißt nicht “kaputt”, sondern: Es gibt Skills, die gerade nicht aktiviert werden können, weil optionale Voraussetzungen fehlen — z. B. bestimmte Tools, Provider, Channel-Konfig, API Keys, lokale Programme, Plattformfeatures usw.

Wichtig ist hier:

Eligible: 107
Blocked by allowlist: 0

Das sieht grundsĂ€tzlich gesund aus. FĂŒr dein aktuelles Gateway-Problem ist das nicht der HauptverdĂ€chtige.

Der relevante Fehler bleibt weiterhin eher:

#
Cannot find package 'chokidar'
~/.openclaw/plugin-runtime-deps/...

Also Fokus: Plugin-runtime-deps sauber neu stagen / prĂŒfen, nicht Skills.

fiery night
#

Health check failed: gateway timeout after 10000ms
Gateway target: ws://127.0.0.1:18789
Source: local loopback
Config: /home/dmin/.openclaw/openclaw.json
Bind: lan
19:03:02 [memory] qmd memory unavailable; falling back to builtin: Cannot find package 'chokidar' imported from /home/dmin/.openclaw/plugin-runtime-deps/openclaw-2026.4.25-a4baf1ab7f6b/dist/qmd-manager-FuXCtSYP.js
Did you mean to import "chokidar/index.js"?

dull sunBOT
#

Das ist weiterhin derselbe Fehler aus demselben Stage-Root:

openclaw-2026.4.25-a4baf1ab7f6b
Cannot find package 'chokidar'

Wenn du plugin-runtime-deps schon verschoben hast, dann ist entweder noch ein alter Gateway-Prozess aktiv oder du siehst einen alten Logtail.

Zum schnellen Isolieren wĂŒrde ich QMD erstmal deaktivieren und auf builtin memory gehen:

openclaw config set memory.backend builtin

systemctl --user stop openclaw-gateway.service 2>/dev/null || true
pkill -f openclaw-gateway 2>/dev/null || true
#
pgrep -af 'openclaw.*gateway|dist/index.js.*gateway' || echo "kein Gateway-Prozess"
ss -ltnp | grep 18789 || echo "Port frei"

mv ~/.openclaw/plugin-runtime-deps ~/.openclaw/plugin-runtime-deps.broken-$(date +%Y%m%d-%H%M%S)

openclaw doctor --fix
openclaw gateway restart

Danach prĂŒfen:

openclaw gateway status --deep
curl -m 3 -v http://127.0.0.1:18789/healthz
curl -m 3 -v http://127.0.0.1:18789/readyz
#

memory.backend builtin ist reversibel und nimmt QMD aus der Gleichung. Wenn der Gateway dann stabil wird, wissen wir: der QMD/runtime-deps-Pfad ist der ÜbeltĂ€ter, nicht Lisa/Sessions/Discord allgemein.

fiery night
#

Irgendwie lÀuft das immer noch nicht, es gibt stÀndig neue Probleme. jetzt sagt er Gateway lÀuft schon. (also Doppelt)
immer noch nicht erreichbar. Starte jetzt mal den Ganzen pc neu.

dull sunBOT
#

Ja, guter Schritt. Bei WSL/systemd + hÀngendem Node-Prozess + kaputten npm-Staging-Locks kann ein kompletter Reboot genau das Chaos auflösen.

Nach dem Neustart bitte nicht sofort mehrere Reparaturbefehle parallel starten, sondern einmal sauber der Reihe nach:

nvm use v24.15.0
which node
which openclaw
node --version
openclaw --version

Dann:

openclaw gateway status --deep
#
ss -ltnp | grep 18789 || echo "Port frei"

Wenn kein Gateway lÀuft:

openclaw gateway restart

Wenn wieder “lĂ€uft schon” kommt oder timeoutet:

pgrep -af 'openclaw.*gateway|dist/index.js.*gateway'
journalctl --user -u openclaw-gateway.service -n 120 --no-pager
curl -m 3 -v http://127.0.0.1:18789/healthz
#

Und wichtig: erstmal kein manuelles npm install in ~/.openclaw/plugin-runtime-deps mehr. Wir wollen nach dem Reboot einen klaren Zustand sehen. Fingers crossed. 🩐

fiery night
#

Das Manuelle was die Idee von Chatgpt.... ich hÀtte gleich hier fragen sollen.

dull sunBOT
#

Ach, kein Stress — das ist nachvollziehbar. In so einem “missing package”-Moment klingt npm install chokidar erstmal logisch. Nur ist ~/.openclaw/plugin-runtime-deps leider ein OpenClaw-managed Staging-Bereich, und npm kann dort dann brutal aufrĂ€umen/prunen.

Wir kriegen das wieder geradegezogen. Nach dem Neustart machen wir’s sauber und langsam:

  1. sicherstellen: Node/OpenClaw zeigen auf nvm Node 24
  2. sicherstellen: kein alter Gateway-Prozess/Port hÀngt
  3. plugin-runtime-deps nur verschieben, nicht manuell anfassen
  4. doctor --fix
  5. Gateway starten und /healthz//readyz prĂŒfen

Wenn das danach immer noch chokidar aus einem frischen Stage-Root vermisst, ist es sehr wahrscheinlich ein echter 2026.4.25-Bug — dann ist ein GitHub Issue mit deinem Verlauf genau richtig.

fiery night
#

hier der erste teil:

dmin@ZweitPc:~$ nvm use v24.15.0
Now using node v24.15.0 (npm v11.12.1)
dmin@ZweitPc:~$ which node
/home/dmin/.nvm/versions/node/v24.15.0/bin/node
dmin@ZweitPc:~$ which openclaw
/home/dmin/.local/bin/openclaw
dmin@ZweitPc:~$ node --version
v24.15.0
dmin@ZweitPc:~$ openclaw --version
OpenClaw 2026.4.25 (aa36ee6)
dmin@ZweitPc:~$

dull sunBOT
#

Fast gut — Node ist richtig, aber openclaw ist wieder der verdĂ€chtige Punkt:

which openclaw
/home/dmin/.local/bin/openclaw

Ich will wissen, ob das nur ein Wrapper zur nvm-Version ist oder ein alter Shim. Bitte:

ls -l /home/dmin/.local/bin/openclaw
readlink -f /home/dmin/.local/bin/openclaw
head -40 /home/dmin/.local/bin/openclaw

Und zusÀtzlich:

#
ls -l /home/dmin/.nvm/versions/node/v24.15.0/bin/openclaw
/home/dmin/.nvm/versions/node/v24.15.0/bin/openclaw --version

Wenn der .local/bin/openclaw nicht sauber auf die nvm-Installation zeigt, dann bitte fĂŒr die nĂ€chsten Befehle explizit den nvm-Binary nutzen:

/home/dmin/.nvm/versions/node/v24.15.0/bin/openclaw gateway install --force
/home/dmin/.nvm/versions/node/v24.15.0/bin/openclaw gateway restart

Sonst installieren wir eventuell wieder den Service mit einem alten Wrapper.

fiery night
#

dmin@ZweitPc:~$ openclaw gateway status --deep

🩞 OpenClaw 2026.4.25 (aa36ee6) — If it works, it's automation; if it breaks, it's a "learning opportunity."

│
◇
Service: systemd (enabled)
File logs: /tmp/openclaw/openclaw-2026-04-27.log
Command: /usr/bin/node /home/dmin/.nvm/versions/node/v24.15.0/lib/node_modules/openclaw/dist/index.js gateway --port 18789
Service file: ~/.config/systemd/user/openclaw-gateway.service
Service env: OPENCLAW_GATEWAY_PORT=18789

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

Gateway: bind=lan (0.0.0.0), port=18789 (service args)
Probe target: ws://127.0.0.1:18789
Dashboard: http://192.168.2.43:18789/
Probe note: bind=lan listens on 0.0.0.0 (all interfaces); probing via 127.0.0.1.

Runtime: running (pid 321, state active, sub running, last exit 0, reason 0)
Warm-up: launch agents can take a few seconds. Try again shortly.
Connectivity probe: failed
Probe target: ws://127.0.0.1:18789
timeout
Capability: unknown

Port 18789 is already in use.

  • pid 321 dmin: openclaw-gateway (*:18789)
  • Gateway already running locally. Stop it (openclaw gateway stop) or use a different port.
    Listening: *:18789
    Troubles: run openclaw status
    Troubleshooting: https://docs.openclaw.ai/troubleshooting
    dmin@ZweitPc:~$
#

dmin@ZweitPc:~$ ls -l /home/dmin/.local/bin/openclaw
readlink -f /home/dmin/.local/bin/openclaw
head -40 /home/dmin/.local/bin/openclaw
lrwxrwxrwx 1 root root 35 Feb 9 14:31 /home/dmin/.local/bin/openclaw -> /home/dmin/.npm-global/bin/openclaw
/home/dmin/.npm-global/lib/node_modules/openclaw/openclaw.mjs
#!/usr/bin/env node

import { readFileSync } from "node:fs";
import { access } from "node:fs/promises";
import module from "node:module";
import { fileURLToPath } from "node:url";

const MIN_NODE_MAJOR = 22;
const MIN_NODE_MINOR = 12;
const MIN_NODE_VERSION = ${MIN_NODE_MAJOR}.${MIN_NODE_MINOR};

const parseNodeVersion = (rawVersion) => {
const [majorRaw = "0", minorRaw = "0"] = rawVersion.split(".");
return {
major: Number(majorRaw),
minor: Number(minorRaw),
};
};

const isSupportedNodeVersion = (version) =>
version.major > MIN_NODE_MAJOR ||
(version.major === MIN_NODE_MAJOR && version.minor >= MIN_NODE_MINOR);

const ensureSupportedNodeVersion = () => {
if (isSupportedNodeVersion(parseNodeVersion(process.versions.node))) {
return;
}

process.stderr.write(
openclaw: Node.js v${MIN_NODE_VERSION}+ is required (current: v${process.versions.node}).\n +
"If you use nvm, run:\n" +
nvm install ${MIN_NODE_MAJOR}\n +
nvm use ${MIN_NODE_MAJOR}\n +
nvm alias default ${MIN_NODE_MAJOR}\n,
);
process.exit(1);
};

ensureSupportedNodeVersion();

dmin@ZweitPc:~$

#

dmin@ZweitPc:~$ ls -l /home/dmin/.nvm/versions/node/v24.15.0/bin/openclaw
/home/dmin/.nvm/versions/node/v24.15.0/bin/openclaw --version
lrwxrwxrwx 1 dmin dmin 41 Apr 27 18:49 /home/dmin/.nvm/versions/node/v24.15.0/bin/openclaw -> ../lib/node_modules/openclaw/openclaw.mjs
OpenClaw 2026.4.25 (aa36ee6)
dmin@ZweitPc:~$

dull sunBOT
#

Aha — da ist der Fehler noch sichtbar:

Command: /usr/bin/node /home/dmin/.nvm/versions/node/v24.15.0/lib/node_modules/openclaw/dist/index.js ...

Das ist gemischt: OpenClaw aus nvm, aber gestartet mit /usr/bin/node — vermutlich weiter Node 22. Das mĂŒssen wir sauber erzwingen.

Und “Gateway already running” heißt hier nicht unbedingt doppelt; es kann einfach der hĂ€ngende PID 321 sein, der den Port blockiert.

Mach bitte:

/usr/bin/node --version
systemctl --user stop openclaw-gateway.service 2>/dev/null || true
pkill -f openclaw-gateway 2>/dev/null || true
#
ss -ltnp | grep 18789 || echo "Port frei"

Dann offiziellen Wrapper-Weg nutzen:

cat > ~/.local/bin/openclaw-nvm24-wrapper <<'EOF'
#!/usr/bin/env bash
exec /home/dmin/.nvm/versions/node/v24.15.0/bin/node /home/dmin/.nvm/versions/node/v24.15.0/lib/node_modules/openclaw/dist/index.js "$@"
EOF
chmod +x ~/.local/bin/openclaw-nvm24-wrapper

openclaw gateway install --wrapper ~/.local/bin/openclaw-nvm24-wrapper --force
openclaw gateway restart
openclaw gateway status --deep
#

Danach sollte Command: nicht mehr mit /usr/bin/node ... anfangen, sondern ĂŒber den Wrapper laufen.

Wenn das passt, danach erst wieder:

curl -m 3 -v http://127.0.0.1:18789/healthz
curl -m 3 -v http://127.0.0.1:18789/readyz

Das trennt jetzt sauber “falscher Node/Systemd” von “Plugin-runtime-deps kaputt”.

#

Da haben wir’s: dein openclaw in PATH ist nicht die nvm-Installation, sondern ein alter/root-owned Symlink:

/home/dmin/.local/bin/openclaw -> /home/dmin/.npm-global/bin/openclaw

Das erklĂ€rt die MischzustĂ€nde. FĂŒr jetzt: benutze explizit den nvm-Binary und installiere den Service damit/als Wrapper.

Bitte:

/home/dmin/.nvm/versions/node/v24.15.0/bin/openclaw --version

systemctl --user stop openclaw-gateway.service 2>/dev/null || true
pkill -f openclaw-gateway 2>/dev/null || true
ss -ltnp | grep 18789 || echo "Port frei"
#

cat > ~/.local/bin/openclaw-nvm24-wrapper <<'EOF'
#!/usr/bin/env bash
exec /home/dmin/.nvm/versions/node/v24.15.0/bin/node /home/dmin/.nvm/versions/node/v24.15.0/lib/node_modules/openclaw/dist/index.js "$@"
EOF
chmod +x ~/.local/bin/openclaw-nvm24-wrapper

/home/dmin/.nvm/versions/node/v24.15.0/bin/openclaw gateway install --wrapper ~/.local/bin/openclaw-nvm24-wrapper --force
/home/dmin/.nvm/versions/node/v24.15.0/bin/openclaw gateway restart
/home/dmin/.nvm/versions/node/v24.15.0/bin/openclaw gateway status --deep

SpĂ€ter kann man den alten Symlink aufrĂ€umen, aber jetzt erstmal nicht noch mehr Baustellen öffnen. Entscheidend ist: der Service darf nicht mehr ĂŒber /home/dmin/.local/bin/openclaw oder ~/.npm-global laufen.

#

Super, der nvm-OpenClaw-Binary ist korrekt.

Jetzt genau mit diesem Binary weitermachen:

systemctl --user stop openclaw-gateway.service 2>/dev/null || true
pkill -f openclaw-gateway 2>/dev/null || true
ss -ltnp | grep 18789 || echo "Port frei"

cat > ~/.local/bin/openclaw-nvm24-wrapper <<'EOF'
#!/usr/bin/env bash
exec /home/dmin/.nvm/versions/node/v24.15.0/bin/node /home/dmin/.nvm/versions/node/v24.15.0/lib/node_modules/openclaw/dist/index.js "$@"
EOF
chmod +x ~/.local/bin/openclaw-nvm24-wrapper

/home/dmin/.nvm/versions/node/v24.15.0/bin/openclaw gateway install --wrapper ~/.local/bin/openclaw-nvm24-wrapper --force
#
/home/dmin/.nvm/versions/node/v24.15.0/bin/openclaw gateway restart
/home/dmin/.nvm/versions/node/v24.15.0/bin/openclaw gateway status --deep

Danach interessiert mich vor allem die Command:-Zeile. Sie sollte den Wrapper bzw. nicht mehr /usr/bin/node ... zeigen.

fiery night
#

error: unknown option '--wrapper'

dull sunBOT
#

Ah — sorry, mein Fehler. --wrapper ist in deiner 2026.4.25 offenbar noch nicht verfĂŒgbar. Dann nehmen wir den systemd-Override als temporĂ€ren Workaround.

Bitte:

systemctl --user stop openclaw-gateway.service 2>/dev/null || true
pkill -f openclaw-gateway 2>/dev/null || true

mkdir -p ~/.config/systemd/user/openclaw-gateway.service.d

cat > ~/.config/systemd/user/openclaw-gateway.service.d/override.conf <<'EOF'
[Service]
ExecStart=
ExecStart=/home/dmin/.nvm/versions/node/v24.15.0/bin/node /home/dmin/.nvm/versions/node/v24.15.0/lib/node_modules/openclaw/dist/index.js gateway --port 18789
EOF
#
systemctl --user daemon-reload
systemctl --user restart openclaw-gateway.service

Dann prĂŒfen:

openclaw gateway status --deep
curl -m 3 -v http://127.0.0.1:18789/healthz
curl -m 3 -v http://127.0.0.1:18789/readyz

Das Ziel ist: Command: darf nicht mehr mit /usr/bin/node starten, sondern mit:

#
/home/dmin/.nvm/versions/node/v24.15.0/bin/node

Der alte ~/.local/bin/openclaw -> ~/.npm-global/... Symlink ist auch noch eine Baustelle, aber den wĂŒrde ich erst aufrĂ€umen, wenn der Gateway wieder lebt.

fiery night
#

dmin@ZweitPc:~$ openclaw gateway status --deep
curl -m 3 -v http://127.0.0.1:18789/healthz
curl -m 3 -v http://127.0.0.1:18789/readyz

🩞 OpenClaw 2026.4.25 (aa36ee6) — I don't judge, but your missing API keys are absolutely judging you.

│
◇
Service: systemd (enabled)
File logs: /tmp/openclaw/openclaw-2026-04-27.log
Command: /usr/bin/node /home/dmin/.nvm/versions/node/v24.15.0/lib/node_modules/openclaw/dist/index.js gateway --port 18789
Service file: ~/.config/systemd/user/openclaw-gateway.service
Service env: OPENCLAW_GATEWAY_PORT=18789

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

Gateway: bind=lan (0.0.0.0), port=18789 (service args)
Probe target: ws://127.0.0.1:18789
Dashboard: http://192.168.2.43:18789/
Probe note: bind=lan listens on 0.0.0.0 (all interfaces); probing via 127.0.0.1.

Runtime: running (pid 1872, state active, sub running, last exit 0, reason 0)
Warm-up: launch agents can take a few seconds. Try again shortly.
Connectivity probe: failed
Probe target: ws://127.0.0.1:18789
connect ECONNREFUSED 127.0.0.1:18789
Capability: unknown

Gateway port 18789 is not listening (service appears running).
Logs: journalctl --user -u openclaw-gateway.service -n 200 --no-pager
Restart log: ~/.openclaw/logs/gateway-restart.log

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

  • Trying 127.0.0.1:18789...
  • connect to 127.0.0.1 port 18789 from 127.0.0.1 port 46678 failed: Connection refused
  • Failed to connect to 127.0.0.1 port 18789 after 0 ms: Couldn't connect to server
  • Closing connection
    curl: (7) Failed to connect to 127.0.0.1 port 18789 after 0 ms: Couldn't connect to server
  • Trying 127.0.0.1:18789...
  • connect to 127.0.0.1 port 18789 from 127.0.0.1 port 46694 failed: Connection refused
  • Failed to connect to 127.0.0.1 port 18789 after 0 ms: Couldn't connect to server
  • Closing connection
    curl: (7) Failed to connect to 127.0.0.1 port 18789 after 0 ms: Couldn't connect to server
    dmin@ZweitPc:~$
dull sunBOT
#

Okay, jetzt ist der Zustand anders und klarer:

service running
port not listening / ECONNREFUSED
Command: /usr/bin/node ...

Der Override hat also noch nicht gegriffen. Es lÀuft weiter mit /usr/bin/node.

Bitte einmal diese zwei Sachen posten:

systemctl --user cat openclaw-gateway.service
journalctl --user -u openclaw-gateway.service -n 120 --no-pager
#

Und dann den Override nochmal mit Verify:

systemctl --user stop openclaw-gateway.service

mkdir -p ~/.config/systemd/user/openclaw-gateway.service.d

cat > ~/.config/systemd/user/openclaw-gateway.service.d/override.conf <<'EOF'
[Service]
ExecStart=
ExecStart=/home/dmin/.nvm/versions/node/v24.15.0/bin/node /home/dmin/.nvm/versions/node/v24.15.0/lib/node_modules/openclaw/dist/index.js gateway --port 18789
EOF

systemctl --user daemon-reload
systemctl --user cat openclaw-gateway.service
systemctl --user restart openclaw-gateway.service
#

In systemctl --user cat muss ganz unten der Drop-in stehen:

# .../openclaw-gateway.service.d/override.conf
[Service]
ExecStart=
ExecStart=/home/dmin/.nvm/versions/node/v24.15.0/bin/node ...

Wenn gateway status --deep danach trotzdem noch /usr/bin/node zeigt, dann liest OpenClaw evtl. die alte Unit-Datei-Inspection statt den effektiven systemd Drop-in. Dann ist systemctl --user cat die verlÀsslichere Wahrheit.

fiery night
#

dmin@ZweitPc:~$ systemctl --user cat openclaw-gateway.service
journalctl --user -u openclaw-gateway.service -n 120 --no-pager
/home/dmin/.config/systemd/user/openclaw-gateway.service,
[Unit]
Description=OpenClaw Gateway (v2026.4.25)
After=network-online.target
Wants=network-online.target
StartLimitBurst=5
StartLimitIntervalSec=60

[Service]
ExecStart=/usr/bin/node /home/dmin/.nvm/versions/node/v24.15.0/lib/node_modules/openclaw/dist/index.js gateway --port 18789
Restart=always
RestartSec=5
RestartPreventExitStatus=78
TimeoutStopSec=30
TimeoutStartSec=30
SuccessExitStatus=0 143
KillMode=control-group
EnvironmentFile=-/home/dmin/.openclaw/gateway.systemd.env
Environment=HOME=/home/dmin
Environment=TMPDIR=/tmp
Environment=NODE_EXTRA_CA_CERTS=/etc/ssl/certs/ca-certificates.crt
Environment=PATH=/usr/bin:/home/dmin/.nvm/current/bin:/home/dmin/.local/bin:/home/dmin/.npm-global/bin:/home/dmin/bin:/home/dmin/.volta/bin:/home/dmin/.asdf/shims:/home/dmin/.bun/bin:/home/dmin/.nix-profile/b>
Environment=OPENCLAW_GATEWAY_PORT=18789
Environment=OPENCLAW_SYSTEMD_UNIT=openclaw-gateway.service
Environment="OPENCLAW_WINDOWS_TASK_NAME=OpenClaw Gateway"
Environment=OPENCLAW_SERVICE_MARKER=openclaw
Environment=OPENCLAW_SERVICE_KIND=gateway
Environment=OPENCLAW_SERVICE_VERSION=2026.4.25
Environment=OPENCLAW_SERVICE_MANAGED_ENV_KEYS=ANRAN_ADMIN_USER,ANRAN_HOST,ANRAN_PASS,ANRAN_USER,ANTHROPIC_API_KEY,BRAVE_API_KEY,CAM_HOST,CAM_PASS,CAM_RTSP_PORT,CAM_USER,CIVITAI_API_KEY,CIVTAI_API_KEY,CLOUDEDG>

[Install]
WantedBy=default.target

/home/dmin/.config/systemd/user/openclaw-gateway.service.d/override.conf,
[Service]
ExecStart=
ExecStart=/home/dmin/.nvm/versions/node/v24.15.0/bin/node /home/dmin/.nvm/versions/node/v24.15.0/lib/node_modules/openclaw/dist/index.js gateway --port 18789
lines 1-37/37 (END)

dull sunBOT
#

Gut — der Drop-in ist da. gateway status --deep zeigt vermutlich nur die Basis-Unit und ignoriert den Drop-in bei der Anzeige. Die echte Frage ist jetzt: was startet systemd wirklich, und warum lauscht es nicht?

Du bist gerade im Pager (lines 1-37/37 (END)). Erstmal mit q raus.

Dann bitte:

systemctl --user daemon-reload
systemctl --user restart openclaw-gateway.service
sleep 3

systemctl --user status openclaw-gateway.service --no-pager
ps -p "$(systemctl --user show openclaw-gateway.service -p MainPID --value)" -o pid,ppid,cmd
journalctl --user -u openclaw-gateway.service -n 120 --no-pager

Die ps ... cmd-Zeile ist jetzt entscheidend: sie zeigt den effektiv laufenden Prozess, nicht nur was OpenClaw inspiziert.

#

Wenn die dort Node 24 zeigt und der Port trotzdem nicht lauscht, dann hÀngt/crasht OpenClaw vor dem HTTP-Listen. Dann sind die Journal-Zeilen direkt danach der nÀchste Hinweis.

fiery night
#

welchen teil brauchen wir?

dull sunBOT
#

Am wichtigsten sind jetzt nur diese drei Teile:

  1. Effektiver Prozess:
ps -p "$(systemctl --user show openclaw-gateway.service -p MainPID --value)" -o pid,ppid,cmd
  1. Die letzten Journal-Zeilen nach Restart:
journalctl --user -u openclaw-gateway.service -n 80 --no-pager
  1. Ob der Port lauscht:
#
ss -ltnp | grep 18789 || echo "Port frei"

Wenn du es kompakt machen willst, einmal alles zusammen:

systemctl --user restart openclaw-gateway.service
sleep 3
ps -p "$(systemctl --user show openclaw-gateway.service -p MainPID --value)" -o pid,ppid,cmd
ss -ltnp | grep 18789 || echo "Port frei"
journalctl --user -u openclaw-gateway.service -n 80 --no-pager

Poste davon einfach den Output. The systemctl cat brauchen wir nicht nochmal — der Override ist bestĂ€tigt.

fiery night
#

das wÀren 11000 zeichen

dull sunBOT
#

Dann bitte kĂŒrzer filtern. Wir brauchen nicht alles.

Nimm das hier:

systemctl --user restart openclaw-gateway.service
sleep 3

echo "=== PROC ==="
ps -p "$(systemctl --user show openclaw-gateway.service -p MainPID --value)" -o pid,ppid,cmd

echo "=== PORT ==="
ss -ltnp | grep 18789 || echo "Port frei"

echo "=== ERRORS ==="
journalctl --user -u openclaw-gateway.service -n 200 --no-pager \
#
  | grep -Ei 'error|fail|cannot|missing|timeout|chokidar|typebox|hapi|discord-api|matrix|ready|listening|gateway'

Das sollte viel kleiner sein. Wenn es immer noch zu lang ist, poste nur:

  • === PROC ===
  • === PORT ===
  • die letzten 30 Zeilen aus === ERRORS ===
fiery night
#

echo "=== PROC ==="
ps -p "$(systemctl --user show openclaw-gateway.service -p MainPID --value)" -o pid,ppid,cmd

echo "=== PORT ==="
ss -ltnp | grep 18789 || echo "Port frei"

echo "=== ERRORS ==="
journalctl --user -u openclaw-gateway.service -n 200 --no-pager \ | grep -Ei 'error|fail|cannot|missing|timeout|chokidar|typebox|hapi|discord-api|matrix|ready|listening|gateway'
=== PROC ===
PID PPID CMD
2522 268 openclaw-gateway
=== PORT ===
Port frei
=== ERRORS ===
Failed to add match ' ': Invalid argument

dull sunBOT
#

Der Backslash ist hier falsch gelandet — deshalb Failed to add match.

Aber die zwei wichtigen Sachen sehen wir schon:

CMD: openclaw-gateway
Port frei

Service-Prozess lÀuft, aber er lauscht nicht. Jetzt bitte Journal ohne den kaputten Backslash:

journalctl --user -u openclaw-gateway.service -n 120 --no-pager

Wenn das zu lang ist:

#
journalctl --user -u openclaw-gateway.service -n 120 --no-pager | tail -n 60

Und noch bitte den echten Prozesspfad:

readlink -f /proc/2522/exe
tr '\0' ' ' < /proc/2522/cmdline; echo

CMD zeigt nur openclaw-gateway, aber /proc/.../cmdline zeigt uns, ob wirklich Node 24 lÀuft oder irgendein Wrapper/umbenannter Prozess.

fiery night
#

dmin@ZweitPc:~$ readlink -f /proc/2522/exe
tr '\0' ' ' < /proc/2522/cmdline; echo
/home/dmin/.nvm/versions/node/v24.15.0/bin/node
openclaw-gateway
dmin@ZweitPc:~$

das andere ist immer noch zu lang...

dull sunBOT
#

Gut: Node 24 lÀuft jetzt wirklich. Das ist ein Fortschritt.

FĂŒr Journal bitte noch stĂ€rker kĂŒrzen:

journalctl --user -u openclaw-gateway.service -n 120 --no-pager | tail -n 30

Wenn selbst das zu viel ist, dann nur Fehlerzeilen ohne komischen Backslash:

journalctl --user -u openclaw-gateway.service -n 300 --no-pager | grep -Ei 'error|cannot|failed|exception|timeout|chokidar|module|package|ready|listen|port' | tail -n 40

Und weil der Prozess Node 24 ist, aber nur als openclaw-gateway in cmdline erscheint, bitte auch:

#
ls -l /proc/2522/fd/1 /proc/2522/fd/2

Manchmal schreibt systemd stdout/stderr direkt ins Journal, manchmal in Datei/pipe.

fiery night
#

dmin@ZweitPc:~$ journalctl --user -u openclaw-gateway.service -n 120 --no-pager | tail -n 30
Apr 27 19:44:10 ZweitPc systemd[268]: openclaw-gateway.service: Failed with result 'timeout'.
Apr 27 19:44:10 ZweitPc systemd[268]: Stopped openclaw-gateway.service - OpenClaw Gateway (v2026.4.25).
Apr 27 19:44:10 ZweitPc systemd[268]: openclaw-gateway.service: Consumed 2min 649ms CPU time, 379.4M memory peak, 0B memory swap peak.
Apr 27 19:44:10 ZweitPc systemd[268]: Started openclaw-gateway.service - OpenClaw Gateway (v2026.4.25).
Apr 27 19:44:14 ZweitPc node[2522]: 2026-04-27T19:44:14.220+02:00 [gateway] loading configuration

Apr 27 19:44:15 ZweitPc node[2522]: 2026-04-27T19:44:15.098+02:00 [gateway] resolving authentication

Apr 27 19:44:15 ZweitPc node[2522]: 2026-04-27T19:44:15.101+02:00 [gateway] starting...
Apr 27 19:44:39 ZweitPc node[2522]: 2026-04-27T19:44:39.537+02:00 [gateway] starting HTTP server...
Apr 27 19:44:39 ZweitPc node[2522]: 2026-04-27T19:44:39.553+02:00 [canvas] host mounted at http://0.0.0.0:18789/__openclaw__/canvas/ (root /home/dmin/.openclaw/canvas)
Apr 27 19:44:39 ZweitPc node[2522]: 2026-04-27T19:44:39.556+02:00 [gateway] ⚠ Gateway is binding to a non-loopback address. Ensure authentication is configured before exposing to public networks.
Apr 27 19:44:39 ZweitPc node[2522]: 2026-04-27T19:44:39.739+02:00 [health-monitor] started (interval: 300s, startup-grace: 60s, channel-connect-grace: 120s)
Apr 27 19:44:41 ZweitPc node[2522]: 2026-04-27T19:44:41.992+02:00 [gateway] agent model: minimax/MiniMax-M2.7
Apr 27 19:44:41 ZweitPc node[2522]: 2026-04-27T19:44:41.994+02:00 [gateway] ready (11 plugins: acpx, active-memory, bonjour, browser, device-pair, discord, memory-core, phone-control, talk-voice, telegram, whatsapp; 26.9s)
Apr 27 19:44:41 ZweitPc node[2522]: 2026-04-27T19:44:41.995+02:00 [gateway] log file: /tmp/openclaw/openclaw-2026-04-27.log
Apr 27 19:44:42 ZweitPc node[2522]: 2026-04-27T19:44:42.117+02:00 [gateway] security warning: dangerous config flags enabled: browser.ssrfPolicy.dangerouslyAllowPrivateNetwork=true. Run openclaw security audit.
Apr 27 19:44:42 ZweitPc node[2522]: 2026-04-27T19:44:42.121+02:00 [gateway] starting channels and sidecars...
Apr 27 19:44:42 ZweitPc node[2522]: 2026-04-27T19:44:42.358+02:00 [hooks] loaded 4 internal hook handlers
Apr 27 19:47:13 ZweitPc node[2522]: 2026-04-27T19:47:13.142+02:00 [kilocode-models] Discovery failed: TimeoutError: The operation was aborted due to timeout, using static catalog
Apr 27 19:48:28 ZweitPc node[2522]: 2026-04-27T19:48:28.602+02:00 [whatsapp] [default] starting provider (+491
Apr 27 19:48:28 ZweitPc node[2522]: 2026-04-27T19:48:28.636+02:00 [plugins] embedded acpx runtime backend registered (cwd:

#

/home/dmin/.openclaw/workspace)
Apr 27 19:48:28 ZweitPc node[2522]: 2026-04-27T19:48:28.954+02:00 [browser/server] Browser control listening on http://127.0.0.1:18791/ (auth=token)
Apr 27 19:48:28 ZweitPc node[2522]: 2026-04-27T19:48:28.958+02:00 [discord] [default] starting provider
Apr 27 19:48:29 ZweitPc node[2522]: 2026-04-27T19:48:29.065+02:00 [heartbeat] started
Apr 27 19:48:29 ZweitPc node[2522]: 2026-04-27T19:48:29.664+02:00 [whatsapp] [default] channel exited: {"error":{"data":{"code":"ETIMEDOUT"},"isBoom":true,"isServer":false,"output":{"statusCode":408,"payload":{"statusCode":408,"error":"Request Time-out","message":"WebSocket Error ()"},"headers":{}}},"date":"2026-04-27T17:48:29.660Z"}
Apr 27 19:48:29 ZweitPc node[2522]: 2026-04-27T19:48:29.666+02:00 [whatsapp] [default] auto-restart attempt 1/10 in 5s
Apr 27 19:48:29 ZweitPc node[2522]: 2026-04-27T19:48:29.678+02:00 [discord] channels resolved: 1
Apr 27 19:48:29 ZweitPc node[2522]: 2026-04-27T19:48:29.681+02:00 [discord] users resolved: 2672
Apr 27 19:48:29 ZweitPc node[2522]: 2026-04-27T19:48:29.682+02:00 [discord] channel users resolved: 2672
Apr 27 19:48:36 ZweitPc node[2522]: 2026-04-27T19:48:36.076+02:00 [discord] 152 commands exceeds limit; removing per-skill commands and keeping /skill.
Apr 27 19:48:36 ZweitPc node[2522]: 2026-04-27T19:48:36.930+02:00 [whatsapp] [default] starting provider (+49

dull sunBOT
#

Das ist jetzt richtig hilfreich: Gateway startet und wird ready, aber danach bleibt der Prozess beim Starten von Channels/Sidecars hÀngen bzw. braucht extrem lange.

AuffÀllig:

ready ... 19:44:41
starting channels and sidecars...
kilocode-models timeout erst 19:47:13
whatsapp starting provider erst 19:48:28

Also nicht mehr “Node falsch” und nicht mehr “HTTP startet nie”, sondern post-ready Startup blockiert massiv. Bitte jetzt einmal direkt prĂŒfen, ob HTTP inzwischen lebt:

curl -m 3 -sS http://127.0.0.1:18789/healthz ; echo
curl -m 3 -sS http://127.0.0.1:18789/readyz ; echo
#

Und als Isolation: Channels ĂŒberspringen. Wenn das sofort stabil wird, ist einer der Channels/Sidecars der Blocker:

systemctl --user stop openclaw-gateway.service

OPENCLAW_SKIP_CHANNELS=1 OPENCLAW_SKIP_PROVIDERS=1 \
/home/dmin/.nvm/versions/node/v24.15.0/bin/openclaw gateway run

In einem zweiten Terminal dann:

curl -m 3 -sS http://127.0.0.1:18789/healthz ; echo
curl -m 3 -sS http://127.0.0.1:18789/readyz ; echo

Wenn das klappt: abbrechen mit Ctrl+C, dann starten wir gezielt ohne WhatsApp/Browser/QMD weiter. WhatsApp ist gerade mein HauptverdÀchtiger, weil der Log genau dort hÀngen bleibt.

#

Das Log zeigt: Node 24 passt jetzt, Gateway wird sogar ready, aber danach hakt es bei Channels — besonders WhatsApp:

[whatsapp] channel exited ... ETIMEDOUT
auto-restart attempt

Ich wĂŒrde WhatsApp jetzt testweise deaktivieren, damit Discord/Lisa erstmal wieder stabil lĂ€uft:

OC=/home/dmin/.nvm/versions/node/v24.15.0/bin/openclaw

$OC config set channels.whatsapp.enabled false --strict-json
systemctl --user restart openclaw-gateway.service
sleep 5
#
curl -m 3 -sS http://127.0.0.1:18789/healthz ; echo
curl -m 3 -sS http://127.0.0.1:18789/readyz ; echo
$OC gateway status --deep

Falls danach immer noch chokidar/QMD kommt, zusÀtzlich QMD rausnehmen:

$OC config set memory.backend builtin
systemctl --user restart openclaw-gateway.service

WhatsApp kannst du spÀter wieder aktivieren. Ziel jetzt: erst Gateway + Discord stabil bekommen, dann WhatsApp separat reparieren.

Docs: https://docs.openclaw.ai/gateway/troubleshooting

fiery night
#

Ich glaub whatsapp ist nicht das problem den fehler hatte ich immer wenn was hÀngt, wenn io funktioniert das gleich wieder ohne das man whatsapp angefasst hat. Also schÀtze ich Whatsapp zeigt fehler weil Gateway hÀngt...

dull sunBOT
#

Ja, fair — das kann gut ein Folgesymptom sein. WhatsApp ist timeout-sensibel; wenn der Event Loop/Startup blockiert, sieht WhatsApp schnell kaputt aus, obwohl es nicht die Ursache ist.

Dann wĂŒrde ich nicht blind WhatsApp deaktivieren, sondern den Core-Zustand messen:

curl -m 3 -sS http://127.0.0.1:18789/healthz ; echo
curl -m 3 -sS http://127.0.0.1:18789/readyz ; echo

Wenn /healthz hÀngt/fehlschlÀgt, ist der Gateway/Event Loop blockiert. Wenn /healthz ok ist, aber WS/status timeoutet, ist es eher RPC/WS oder ein lock/blocking handler.

Dann bitte:

journalctl --user -u openclaw-gateway.service -n 300 --no-pager \
  | grep -Ei 'qmd|chokidar|runtime deps|npm|ENOTEMPTY|task|cron|delivery|recovery|timeout|failed|error|starting|ready' \
#
  | tail -n 80

Mein BauchgefĂŒhl bleibt: wir haben mindestens zwei Ebenen:

  1. behoben/fast behoben: falscher Node/Split install
  2. noch offen: kaputter oder blockierender runtime-deps/QMD/sidecar/task Pfad

Wenn du QMD nicht zwingend brauchst, wĂ€re memory.backend builtin weiterhin die sauberste Isolation, weil es reversibel ist und genau den chokidar-Pfad rausnimmt — aber ich stimme dir zu: WhatsApp allein wĂŒrde ich noch nicht als Ursache festnageln.

fiery night
dull sunBOT
#

Das ist der entscheidende Befund:

/healthz timeout

Damit ist klar: nicht nur WS/RPC hĂ€ngt — der Gateway-HTTP-Server nimmt zwar an, aber der Node/Event-Loop ist blockiert. openclaw status kann dann nicht funktionieren.

Ich wĂŒrde jetzt QMD rausnehmen, weil es reversibel ist und genau dort chokidar/runtime-deps auffĂ€llt:

OC=/home/dmin/.nvm/versions/node/v24.15.0/bin/openclaw

$OC config set memory.backend builtin
systemctl --user restart openclaw-gateway.service
sleep 10
#

curl -m 3 -sS http://127.0.0.1:18789/healthz ; echo
curl -m 3 -sS http://127.0.0.1:18789/readyz ; echo

Wenn /healthz danach geht, war QMD/runtime-deps der Blocker.

Wenn es immer noch hÀngt, nÀchster Isolationstest ohne Channels/Provider:

systemctl --user stop openclaw-gateway.service

OPENCLAW_SKIP_CHANNELS=1 OPENCLAW_SKIP_PROVIDERS=1 \
/home/dmin/.nvm/versions/node/v24.15.0/bin/openclaw gateway run
#

Dann in zweitem Terminal:

curl -m 3 -sS http://127.0.0.1:18789/healthz ; echo

Wenn selbst das hÀngt, ist es Gateway-Core/startup. Wenn das geht, ist es ein Plugin/Channel/Sidecar.

fiery night
#

hatten wir qmd nicht schon rausgenommen?

dull sunBOT
#

Gute Frage — wir hatten es vorgeschlagen, aber ich bin mir aus dem Output nicht sicher, ob der Config-Write wirklich gelaufen ist und ob der Service danach mit der geĂ€nderten Config gestartet ist.

Bitte einmal prĂŒfen:

/home/dmin/.nvm/versions/node/v24.15.0/bin/openclaw config get memory.backend

Wenn da schon builtin steht, dann: ja, QMD ist raus und wir jagen jetzt nicht weiter QMD.

Dann wÀre der nÀchste sinnvolle Test wirklich:

systemctl --user stop openclaw-gateway.service

OPENCLAW_SKIP_CHANNELS=1 OPENCLAW_SKIP_PROVIDERS=1 \
#
/home/dmin/.nvm/versions/node/v24.15.0/bin/openclaw gateway run

Und in einem zweiten Terminal:

curl -m 3 -sS http://127.0.0.1:18789/healthz ; echo

Das trennt sauber:

  • geht mit SKIP_CHANNELS → Channel/sidecar blockiert
  • hĂ€ngt trotzdem → Gateway-Core/startup/plugin-runtime selbst blockiert
fiery night
#

dmin@ZweitPc:~$ /home/dmin/.nvm/versions/node/v24.15.0/bin/openclaw config get memory.backend

🩞 OpenClaw 2026.4.25 (aa36ee6) — I'm the reason your shell history looks like a hacker-movie montage.

builtin

dull sunBOT
#

Ja, bestĂ€tigt: QMD ist raus. Dann bitte QMD erstmal vergessen — der aktuelle Blocker liegt woanders.

NĂ€chster sauberer Isolationsschritt:

systemctl --user stop openclaw-gateway.service

OPENCLAW_SKIP_CHANNELS=1 OPENCLAW_SKIP_PROVIDERS=1 \
/home/dmin/.nvm/versions/node/v24.15.0/bin/openclaw gateway run

Dann in einem zweiten Terminal:

curl -m 3 -sS http://127.0.0.1:18789/healthz ; echo
curl -m 3 -sS http://127.0.0.1:18789/readyz ; echo
#

Wenn das funktioniert, wissen wir: Core ist okay, und der Freeze kommt von Channel/Sidecar/Provider-Startup.

Wenn das auch hÀngt, ist es Gateway-Core oder Plugin-runtime-deps allgemein.

fiery night
#

zweites terminal? wie mach ich das ? Bin kein guter Linux user, und Bei WSL2 unter windows weiß ich garnicht wie ich ein zweites terminal bekommen könnte

dull sunBOT
#

Kein Problem — dann machen wir es ohne zweites Terminal. 👍

Kopier einfach diesen Block komplett in dein aktuelles WSL-Terminal:

systemctl --user stop openclaw-gateway.service

OPENCLAW_SKIP_CHANNELS=1 OPENCLAW_SKIP_PROVIDERS=1 \
/home/dmin/.nvm/versions/node/v24.15.0/bin/openclaw gateway run > /tmp/openclaw-skip.log 2>&1 &

GWPID=$!
echo "Gateway test PID: $GWPID"

sleep 15

echo "=== healthz ==="
#
curl -m 3 -sS http://127.0.0.1:18789/healthz ; echo

echo "=== readyz ==="
curl -m 3 -sS http://127.0.0.1:18789/readyz ; echo

echo "=== last logs ==="
tail -n 80 /tmp/openclaw-skip.log

kill $GWPID 2>/dev/null || true

Was wir daraus lernen:

  • Wenn healthz antwortet → Gateway-Core ist okay, Problem liegt bei Channels/Sidecars/Provider.
  • Wenn healthz wieder timeoutet → Core/startup/plugin-runtime hĂ€ngt auch ohne Channels.
#

Keine Sorge, das verÀndert erstmal nichts dauerhaft; der normale systemd-Service ist wÀhrenddessen gestoppt.

fiery night
#

[1] 3300
Gateway test PID: 3300
=== healthz ===
curl: (28) Connection timed out after 3000 milliseconds

=== readyz ===
curl: (28) Connection timed out after 3000 milliseconds

=== last logs ===
2026-04-27T19:57:16.156+02:00 [gateway] loading configuration

2026-04-27T19:57:17.007+02:00 [gateway] resolving authentication

2026-04-27T19:57:17.010+02:00 [gateway] starting...

dull sunBOT
#

Das ist noch nicht eindeutig kaputt — wir haben nur 15s gewartet, aber dein normaler Start brauchte vorher schon ~27s bis “ready”:

ready ... 26.9s

Also bitte denselben Test nochmal mit 60s + Startup-Trace:

systemctl --user stop openclaw-gateway.service
pkill -f openclaw-gateway 2>/dev/null || true
ss -ltnp | grep 18789 || echo "Port frei"

OPENCLAW_SKIP_CHANNELS=1 OPENCLAW_SKIP_PROVIDERS=1 OPENCLAW_GATEWAY_STARTUP_TRACE=1 \
/home/dmin/.nvm/versions/node/v24.15.0/bin/openclaw gateway run > /tmp/openclaw-skip.log 2>&1 &
#
GWPID=$!
echo "Gateway test PID: $GWPID"

sleep 60

echo "=== healthz ==="
curl -m 5 -sS http://127.0.0.1:18789/healthz ; echo

echo "=== readyz ==="
curl -m 5 -sS http://127.0.0.1:18789/readyz ; echo

echo "=== last logs ==="
tail -n 120 /tmp/openclaw-skip.log

kill $GWPID 2>/dev/null || true
#

Wenn nach 60s immer noch nur bis:

[gateway] starting...

kommt, dann hÀngt es vor HTTP-Server-Start, also Gateway-Core / Startup-Plugin-Scan / runtime-deps, nicht WhatsApp/Discord/QMD.

Dann brauchen wir aus dem Output vor allem tail -n 120 /tmp/openclaw-skip.log.

fiery night
#

Port frei
[1] 3746
Gateway test PID: 3746
=== healthz ===
curl: (28) Operation timed out after 5002 milliseconds with 0 bytes received

=== readyz ===
curl: (28) Operation timed out after 5000 milliseconds with 0 bytes received

=== last logs ===
[gateway] startup trace: cli.server-import 1.4ms total=1.4ms

#

2026-04-27T20:02:57.131+02:00 [gateway] loading configuration

2026-04-27T20:02:57.592+02:00 [gateway] startup trace: cli.config-load 459.2ms total=493.6ms
2026-04-27T20:02:58.022+02:00 [gateway] startup trace: cli.config-snapshot 427.6ms total=923.0ms
2026-04-27T20:02:58.025+02:00 [gateway] resolving authentication

2026-04-27T20:02:58.028+02:00 [gateway] startup trace: cli.auth-resolve 0.5ms total=928.9ms
2026-04-27T20:02:58.029+02:00 [gateway] starting...
2026-04-27T20:02:58.031+02:00 [gateway] startup trace: cli.gateway-loop 3.3ms total=932.3ms
2026-04-27T20:03:01.519+02:00 [gateway] startup trace: config.snapshot 949.6ms total=949.6ms
2026-04-27T20:03:05.712+02:00 [gateway] startup trace: config.auth 4190.5ms total=5143.8ms
2026-04-27T20:03:05.715+02:00 [gateway] startup trace: control-ui.seed 0.3ms total=5147.4ms
2026-04-27T20:03:25.096+02:00 [gateway] startup trace: plugins.bootstrap 21168.1ms total=26317.3ms
2026-04-27T20:03:25.100+02:00 [gateway] startup trace: runtime.config 1.4ms total=26321.1ms
2026-04-27T20:03:25.105+02:00 [gateway] startup trace: control-ui.root 1.7ms total=26326.0ms
2026-04-27T20:03:25.106+02:00 [gateway] startup trace: tls.runtime 0.2ms total=26327.9ms
2026-04-27T20:03:25.108+02:00 [gateway] starting HTTP server...
2026-04-27T20:03:25.120+02:00 [canvas] host mounted at http://0.0.0.0:18789/__openclaw__/canvas/ (root /home/dmin/.openclaw/canvas)
2026-04-27T20:03:25.122+02:00 [gateway] ⚠ Gateway is binding to a non-loopback address. Ensure authentication is configured before exposing to public networks.
2026-04-27T20:03:25.125+02:00 [gateway] startup trace: runtime.state 15.6ms total=26346.6ms
2026-04-27T20:03:25.284+02:00 [gateway] startup trace: runtime.early 155.3ms total=26505.4ms
2026-04-27T20:03:25.286+02:00 [health-monitor] started (interval: 300s, startup-grace: 60s, channel-connect-grace: 120s)
2026-04-27T20:03:28.138+02:00 [gateway] startup trace: http.bound 2853.5ms total=29358.9ms
2026-04-27T20:03:28.143+02:00 [gateway] agent model: minimax/MiniMax-M2.7
2026-04-27T20:03:28.144+02:00 [gateway] ready (10 plugins: acpx, active-memory, bonjour, browser, device-pair, discord, memory-core, phone-control, talk-voice, telegram; 30.1s)
2026-04-27T20:03:28.145+02:00 [gateway] log file: /tmp/openclaw/openclaw-2026-04-27.log
2026-04-27T20:03:28.414+02:00 [gateway] security warning: dangerous config flags enabled: browser.ssrfPolicy.dangerouslyAllowPrivateNetwork=true. Run openclaw security audit.

#

2026-04-27T20:03:28.415+02:00 [gateway] startup trace: post-attach.log 275.8ms total=29636.8ms
2026-04-27T20:03:28.418+02:00 [gateway] startup trace: post-attach.update-check 1.9ms total=29639.8ms
2026-04-27T20:03:28.421+02:00 [gateway] starting channels and sidecars...
2026-04-27T20:03:28.509+02:00 [gateway] startup trace: sidecars.session-locks 85.4ms total=29729.6ms
2026-04-27T20:03:28.510+02:00 [gateway] startup trace: sidecars.gmail-watch 0.1ms total=29731.7ms
2026-04-27T20:03:28.511+02:00 [gateway] startup trace: sidecars.gmail-model 0.1ms total=29733.0ms
2026-04-27T20:03:29.067+02:00 [hooks] loaded 4 internal hook handlers
2026-04-27T20:03:29.068+02:00 [gateway] startup trace: sidecars.internal-hooks 555.8ms total=30289.9ms
2026-04-27T20:03:29.069+02:00 [gateway/channels] skipping channel start (OPENCLAW_SKIP_CHANNELS=1 or OPENCLAW_SKIP_PROVIDERS=1)
2026-04-27T20:03:29.071+02:00 [gateway] startup trace: sidecars.channels 1.4ms total=30292.4ms
2026-04-27T20:03:29.080+02:00 [plugins] embedded acpx runtime backend registered (cwd: /home/dmin/.openclaw/workspace)
2026-04-27T20:03:29.486+02:00 [browser/server] Browser control listening on http://127.0.0.1:18791/ (auth=token)
2026-04-27T20:03:29.497+02:00 [gateway] startup trace: sidecars.plugin-services 424.6ms total=30718.2ms
2026-04-27T20:03:29.498+02:00 [gateway] startup trace: sidecars.memory 0.1ms total=30719.7ms
2026-04-27T20:03:29.501+02:00 [gateway] startup trace: sidecars.restart-sentinel 1.7ms total=30722.6ms
2026-04-27T20:03:29.510+02:00 [gateway] startup trace: sidecars.subagent-recovery 6.9ms total=30730.8ms
2026-04-27T20:03:29.516+02:00 [gateway] startup trace: sidecars.main-session-recovery 4.7ms total=30737.5ms
2026-04-27T20:03:29.517+02:00 [gateway] startup trace: sidecars.total 1095.4ms total=30739.1ms
2026-04-27T20:03:29.518+02:00 [gateway] startup trace: sidecars.ready 1.1ms total=30740.2ms
2026-04-27T20:03:29.520+02:00 [gateway] startup trace: runtime.post-attach 1381.7ms total=30742.3ms
2026-04-27T20:03:29.522+02:00 [gateway] startup trace: ready 1.1ms total=30743.4ms
2026-04-27T20:03:29.527+02:00 [heartbeat] started
dmin@ZweitPc:~$

dull sunBOT
#

Okay, das ist jetzt sehr eindeutig:

Mit

OPENCLAW_SKIP_CHANNELS=1 OPENCLAW_SKIP_PROVIDERS=1

hÀngt es trotzdem, und der Log bleibt bei:

[gateway] startup trace: cli.server-import 1.4ms total=1.4ms

Das heißt: nicht WhatsApp, nicht Discord, nicht QMD, nicht Provider. Es hĂ€ngt extrem frĂŒh im Gateway-Core/Import/Plugin-runtime-Bereich. Das ist ziemlich starkes Bug-/Install-Korruptions-Signal fĂŒr 2026.4.25.

Bitte den Testprozess erstmal sicher beenden:

#
pkill -f 'openclaw.*gateway' 2>/dev/null || true
ss -ltnp | grep 18789 || echo "Port frei"

Dann einmal die runtime deps wirklich neu erzeugen:

mv ~/.openclaw/plugin-runtime-deps ~/.openclaw/plugin-runtime-deps.broken-$(date +%Y%m%d-%H%M%S) 2>/dev/null || true

/home/dmin/.nvm/versions/node/v24.15.0/bin/openclaw doctor --fix

Danach denselben Skip-Test nochmal. Wenn er wieder bei cli.server-import hĂ€ngen bleibt, wĂŒrde ich nicht weiter lokal rumdoktern — dann bitte als GitHub Issue einreichen: https://github.com/openclaw/openclaw/issues

Kurzfassung fĂŒrs Issue:

#
  • OpenClaw 2026.4.25
  • WSL2, Node 24.15.0 via nvm
  • Gateway hangs before HTTP even with OPENCLAW_SKIP_CHANNELS=1 OPENCLAW_SKIP_PROVIDERS=1
  • startup trace stops at cli.server-import
  • earlier plugin runtime deps corruption / missing chokidar, @hapi/hoek, typebox, discord-api-types
  • manual npm install inside plugin-runtime-deps removed 739 packages, but fresh doctor repair still not recovering fully

Das ist jetzt ĂŒber normales Support-Troubleshooting hinaus.

#

Ah, das ist gute Nachricht: Der Gateway-Core startet jetzt doch durch.

Wichtig:

plugins.bootstrap 21168ms
ready ... 30.1s

Das heißt: unser vorheriger 15s-Test war zu kurz. Dein Gateway braucht aktuell ~30s bis HTTP wirklich bereit ist. Der grĂ¶ĂŸte Brocken ist plugins.bootstrap mit ~21s.

Jetzt bitte nach diesem ready direkt prĂŒfen:

curl -m 5 -sS http://127.0.0.1:18789/healthz ; echo
curl -m 5 -sS http://127.0.0.1:18789/readyz ; echo
#
/home/dmin/.nvm/versions/node/v24.15.0/bin/openclaw status

Wenn das klappt: Core ist okay. Dann können wir systemd wieder normal starten und nur noch Startup-Langsamkeit/Plugin-deps aufrÀumen.

AuffÀllig ist auch:

ready (10 plugins ... telegram; ...)

WhatsApp ist gerade nicht mehr in der Plugin-Liste — das ist gut zum Isolieren. Erstmal stabil bekommen, dann WhatsApp wieder dazu.

Wenn openclaw status weiterhin nach 10s timeoutet, obwohl /healthz geht, dann ist der RPC/WS-Pfad blockiert; wenn /healthz auch wieder timeoutet, blockiert nach ready noch etwas den Event Loop.

#

Das sieht im Skip-Modus jetzt gesund aus. Core + Browser + Memory + Sidecars starten durch; Channels wurden ĂŒbersprungen.

Jetzt bitte genau diese Checks, solange der Test-Gateway noch lÀuft:

curl -m 5 -sS http://127.0.0.1:18789/healthz ; echo
curl -m 5 -sS http://127.0.0.1:18789/readyz ; echo
/home/dmin/.nvm/versions/node/v24.15.0/bin/openclaw status

Wenn das klappt, dann ist der Befund:

  • Core OK
  • QMD raus
  • Node 24 OK
  • Problem entsteht erst mit Channels/Provider-Startup
#

Danach können wir den Testprozess beenden:

pkill -f 'openclaw.*gateway' 2>/dev/null || true

Dann wĂ€re mein nĂ€chster pragmatischer Schritt: normalen systemd-Service erstmal mit WhatsApp deaktiviert starten, weil es im Channel-Start die lautesten Timeouts produziert hat. Wenn du WhatsApp nicht anfassen willst, können wir stattdessen gezielt nur Discord/Telegram aktiviert lassen — aber das braucht Config-Diff.

fiery night
#

wie kann sowas ĂŒberhaupt passieren, eigentlich lief alles ganz gut mit 2026.4.23 wollte geplant zu der 2026.4.24 und es hat sich beim update aufgehangen, beim manuellen update hab ich dann gemerkt das die 2026.4.25 schon raus ist. Und dann ging nix mehr.

dull sunBOT
#

Ja, das ist leider plausibel — und super frustrierend.

Was hier vermutlich zusammenkam:

  1. Update hat mitten in Runtime-Dependency-Staging gehangen
    2026.4.24/25 hatten viel Bewegung rund um bundled plugin runtime deps. Wenn wĂ€hrenddessen Gateway/doctor/update parallel an ~/.openclaw/plugin-runtime-deps arbeitet, kann ein halb gebauter Stage-Root ĂŒbrig bleiben.

  2. Split-Install / falscher Node
    Du hattest mehrere OpenClaw-Pfade:

    • ~/.local/bin/openclaw -> ~/.npm-global/...
    • nvm OpenClaw unter Node 24
    • Service teilweise mit /usr/bin/node

    Das kann dazu fĂŒhren, dass CLI, Service und runtime deps nicht dieselbe Welt sehen.

  3. Manuelles npm install im managed cache
    War nachvollziehbar, aber npm hat dann removed 739 packages gemacht. Damit war der runtime-deps-Root ziemlich sicher weiter beschÀdigt.

#
  1. WSL2/systemd/Node-Prozess hing weiter
    Dadurch gab es gemischte ZustĂ€nde: Service “running”, Port mal offen, mal nicht, aber Event Loop blockiert.

Der gute Teil: Wir haben inzwischen eingegrenzt:

  • Node 24 lĂ€uft jetzt wirklich.
  • QMD ist raus (memory.backend builtin).
  • Gateway-Core startet im Skip-Modus durch.
  • Das Problem entsteht jetzt wahrscheinlich bei Channel-/Provider-Startup oder altem runtime-deps-Zustand.

Ich wĂŒrde als nĂ€chsten stabilen Zwischenstand: nur Discord/Telegram hochbringen, WhatsApp erstmal aus, damit Lisa wieder lebt. Danach WhatsApp separat reparieren.

fiery night
#

wie macht man das am einfachsten?

dull sunBOT
#

Am einfachsten: WhatsApp temporĂ€r deaktivieren, Gateway normal starten, prĂŒfen ob Lisa/Discord wieder lebt.

Bitte so:

OC=/home/dmin/.nvm/versions/node/v24.15.0/bin/openclaw

# Test-Gateway beenden, falls er noch lÀuft
pkill -f 'openclaw.*gateway' 2>/dev/null || true

# WhatsApp temporÀr deaktivieren
$OC config set channels.whatsapp.enabled false --strict-json

# normalen Service starten
systemctl --user restart openclaw-gateway.service
#
# 45 Sekunden warten, weil dein Start ~30s braucht
sleep 45

# prĂŒfen
curl -m 5 -sS http://127.0.0.1:18789/healthz ; echo
curl -m 5 -sS http://127.0.0.1:18789/readyz ; echo
$OC status

Wenn das klappt, ist Lisa erstmal wieder erreichbar.

SpÀter WhatsApp wieder aktivieren:

$OC config set channels.whatsapp.enabled true --strict-json
#
systemctl --user restart openclaw-gateway.service

Aber erst stabilisieren, dann WhatsApp separat.

fiery night
#

dmin@ZweitPc:~$ $OC config set channels.whatsapp.enabled false --strict-json
Command 'config' not found, did you mean:
command 'confid' from snap confid (1.2.1)
command 'kconfig' from deb kconfig-frontends (4.11.0.1+dfsg-6)
command 'kconfig' from deb kconfig-frontends-nox (4.11.0.1+dfsg-6)
command 'vconfig' from deb vlan (2.0.5ubuntu5)
command 'mconfig' from deb mono-devel (6.8.0.105+dfsg-3.5ubuntu1)
command 'iconfig' from deb ipmiutil (3.1.9-3)
command 'cconfig' from deb xrootd-server (5.6.4-1)
command 'fconfig' from deb redboot-tools (0.7build4)
See 'snap info <snapname>' for additional versions.
dmin@ZweitPc:~$

dull sunBOT
#

OC war in deiner Shell nicht gesetzt, deshalb wurde nur config ... ausgefĂŒhrt.

Nimm einfach den vollstÀndigen Pfad ohne Variable:

/home/dmin/.nvm/versions/node/v24.15.0/bin/openclaw config set channels.whatsapp.enabled false --strict-json

pkill -f 'openclaw.*gateway' 2>/dev/null || true
systemctl --user restart openclaw-gateway.service

sleep 45

curl -m 5 -sS http://127.0.0.1:18789/healthz ; echo
curl -m 5 -sS http://127.0.0.1:18789/readyz ; echo
/home/dmin/.nvm/versions/node/v24.15.0/bin/openclaw status
#

Oder erst setzen:

OC=/home/dmin/.nvm/versions/node/v24.15.0/bin/openclaw
$OC config set channels.whatsapp.enabled false --strict-json

Wichtig: OC=... muss in derselben Terminal-Session vorher ausgefĂŒhrt sein.

fiery night
#

ne idee wann die neue version kommt?

dull sunBOT
#

Aktuell ist auf npm noch 2026.4.25 als latest veröffentlicht. Einen verlĂ€sslichen ETA fĂŒr die nĂ€chste Version habe ich nicht — lieber nichts erfinden.

Mein BauchgefĂŒhl: Da auf main schon Fixes/Änderungen nach .25 sichtbar sind, dĂŒrfte eine neue Version eher “bald” kommen, aber kein Versprechen.

FĂŒr dich wĂŒrde ich jetzt nicht auf Verdacht weiter kaputtreparieren. Zwei Optionen:

  1. Stabilisieren: WhatsApp temporÀr aus, Discord/Lisa wieder hoch.
  2. Wenn du experimentierfreudig bist: spĂ€ter openclaw update --tag main/dev testen — aber nur mit Backup, weil das nicht stable ist.

FĂŒr einen echten Bugfix-Track: GitHub Issue mit deinen Logs wĂ€re ideal.

fiery night
#

Die zeile ist mir aufgefallen, pnpm statt npm
Update │ pnpm · up to date · npm latest 2026.4.25

dull sunBOT
#

Ja, gute Beobachtung — aber das ist wahrscheinlich nicht direkt falsch.

Die Zeile bedeutet eher:

Install/Update-Manager: pnpm
Registry-Vergleich: npm latest = 2026.4.25

Also: OpenClaw erkennt deine Installation/Update-Route als pnpm oder pnpm-artig, prĂŒft aber trotzdem gegen die npm Registry, wo latest aktuell 2026.4.25 ist.

Was bei dir aber auffĂ€llig bleibt: du hattest gleichzeitig npm-global, nvm-global und .local/bin Symlink. Das ist wichtiger als “pnpm vs npm” in der Statuszeile.

Wenn du magst, prĂŒf noch:

#
/home/dmin/.nvm/versions/node/v24.15.0/bin/openclaw update --dry-run

Das sollte anzeigen, was OpenClaw glaubt, wie es aktualisieren wĂŒrde — ohne etwas zu Ă€ndern.

fiery night
#

dmin@ZweitPc:~$ /home/dmin/.nvm/versions/node/v24.15.0/bin/openclaw update --dry-run
Update dry-run
No changes were applied.

Root: /home/dmin/.nvm/versions/node/v24.15.0/lib/node_modules/openclaw
Install kind: package
Mode: npm
Channel: stable
Tag/spec: openclaw@latest
Current version: 2026.4.25
Target version: 2026.4.25

Planned actions:

  • Refresh package install with spec openclaw@latest; current version already matches 2026.4.25
  • Run plugin update sync after core update
  • Refresh shell completion cache (if needed)
  • Restart gateway service and run doctor checks
dull sunBOT
#

Perfekt — das bestĂ€tigt: die nvm-Installation ist jetzt sauber als npm/package/stable erkannt:

Root: /home/dmin/.nvm/versions/node/v24.15.0/lib/node_modules/openclaw
Mode: npm
Current/Target: 2026.4.25

Die frĂŒhere pnpm-Zeile kam sehr wahrscheinlich von der alten/mischigen Installation oder einem anderen Statuspfad.

Jetzt wĂŒrde ich keine Update-Aktion mehr machen. NĂ€chster Schritt bleibt Stabilisierung:

/home/dmin/.nvm/versions/node/v24.15.0/bin/openclaw config set channels.whatsapp.enabled false --strict-json

pkill -f 'openclaw.*gateway' 2>/dev/null || true
#
systemctl --user restart openclaw-gateway.service

sleep 45

curl -m 5 -sS http://127.0.0.1:18789/healthz ; echo
curl -m 5 -sS http://127.0.0.1:18789/readyz ; echo
/home/dmin/.nvm/versions/node/v24.15.0/bin/openclaw status

Wenn das stabil ist, sind wir erstmal raus aus dem Chaos.

fiery night
#

│ agent:main:main │ direct │ 22m ago │ MiniMax-M2.5 │ 56k/140k (40%) · đŸ—„ïž 0% cached

dull sunBOT
#

Das sieht erstmal nicht wie ein Fehler aus — das ist nur Session-/Kontextstatus:

agent:main:main
MiniMax-M2.5
56k/140k (40%)
0% cached

Heißt: Hauptsession hat ca. 56k Tokens Kontext, 40% vom Fenster. 0% cached ist unschön fĂŒr Kosten/Speed, aber nicht der Gateway-Blocker.

Wichtiger wĂ€re jetzt: kam bei den Checks etwas zurĂŒck?

curl -m 5 -sS http://127.0.0.1:18789/healthz
curl -m 5 -sS http://127.0.0.1:18789/readyz
#

Wenn die beide antworten und openclaw status ĂŒberhaupt diese Tabelle ausgibt, dann lebt der Gateway wieder.

fiery night
#

ja aber es wurde ja was gemacht vor 22 min

dull sunBOT
#

Ja, das heißt nur: Die main-Session hatte vor 22 Minuten AktivitĂ€t — sehr wahrscheinlich einer der Status-/Test-/Recovery-Aufrufe oder ein vorheriger Chatlauf.

Das ist nicht automatisch ein laufender Task und nicht zwingend ein Problem. Um zu prĂŒfen, ob wirklich noch etwas hĂ€ngt:

/home/dmin/.nvm/versions/node/v24.15.0/bin/openclaw tasks list --status running
/home/dmin/.nvm/versions/node/v24.15.0/bin/openclaw tasks audit

Wenn da nichts Kritisches steht, ist die 22m ago-Zeile harmlos.

Wichtiger bleibt: antworten healthz/readyz jetzt? Wenn ja, Gateway ist wieder erreichbar.

fiery night
#

bei channels steht nichts drin ĂŒbrigens... Sollte doch nicht leer sein das feld?

dmin@ZweitPc:~$ curl -m 5 -sS http://127.0.0.1:18789/healthz
curl -m 5 -sS http://127.0.0.1:18789/readyz
curl: (28) Operation timed out after 5000 milliseconds with 0 bytes received
curl: (28) Operation timed out after 5001 milliseconds with 0 bytes received

dull sunBOT
#

Ja — wenn channels leer ist und du vorher channels.whatsapp.enabled false gesetzt hast, ist das verdĂ€chtig. Es kann heißen, dass der Config-Write den channels-Block kaputt/ĂŒberschrieben hat oder du gerade eine andere Config/Instanz anschaust.

Und /healthz timeoutet wieder: der laufende Service ist wieder im blockierten Zustand.

Bitte jetzt nicht weiter config setzen, sondern erstmal Config anschauen:

/home/dmin/.nvm/versions/node/v24.15.0/bin/openclaw config get channels
/home/dmin/.nvm/versions/node/v24.15.0/bin/openclaw config validate

Falls channels wirklich {} oder leer ist: gut, dann wissen wir warum keine Channels starten — aber der Healthz-Timeout bleibt trotzdem separat.

Dann den hÀngenden Service stoppen und nur den stabilen Skip-Test beenden/aufrÀumen:

#
systemctl --user stop openclaw-gateway.service
pkill -f 'openclaw.*gateway' 2>/dev/null || true
ss -ltnp | grep 18789 || echo "Port frei"

Danach nicht normal starten, bis wir config get channels gesehen haben.

fiery night
#

dmin@ZweitPc:~$ /home/dmin/.nvm/versions/node/v24.15.0/bin/openclaw config get channels
/home/dmin/.nvm/versions/node/v24.15.0/bin/openclaw config validate

🩞 OpenClaw 2026.4.25 (aa36ee6) — We ship features faster than Apple ships calculator updates.

{
"whatsapp": {
"enabled": false,
"dmPolicy": "allowlist",
"selfChatMode": false,
"allowFrom": [
"+49541"
],
"groupPolicy": "allowlist",
"debounceMs": 0,
"mediaMaxMb": 50
},
"discord": {
"enabled": true,
"token": "OPENCLAW_REDACTED",
"groupPolicy": "open",
"streaming": {
"mode": "off"
},
"dmPolicy": "allowlist",
"allowFrom": [
"26722701",
"14693729744"
],
"dm": {
"enabled": true
},
"guilds": {
"14705173075": {
"slug": "lisas-server",
"requireMention": false,
"users": [
"269824460801",
"1469367029744"
],
"channels": {
"*": {
"enabled": true
}
}
}
},
"execApprovals": {
"enabled": true
},
"threadBindings": {
"spawnSubagentSessions": true
},
"inboundWorker": {
"runTimeoutMs": 0
},
"capabilities": [
"all"
],
"actions": {
"reactions": true,
"stickers": true,
"emojiUploads": true,
"stickerUploads": true,
"polls": true,
"permissions": true,
"messages": true,
"threads": true,
"pins": true,
"search": true,
"memberInfo": true,
"roleInfo": true,
"roles": true,
"channelInfo": true,
"voiceStatus": true,
"events": true,
"moderation": true,
"channels": true,
"presence": true
}
},
"telegram": {
"enabled": true,
"dmPolicy": "allowlist",
"allowFrom": [
"+entfert"
],
"groupPolicy": "open"
}
}

dull sunBOT
#

Channels ist nicht leer — sieht grundsĂ€tzlich okay aus:

  • WhatsApp: disabled ✅
  • Discord: enabled
  • Telegram: enabled

config validate hat in deinem Paste keinen Fehler gezeigt, also vermutlich okay.

Da der Skip-Test funktioniert hat, aber normaler Start hÀngt, bleiben jetzt praktisch Discord oder Telegram als nÀchster VerdÀchtiger. Einfachster nÀchster Schritt: Telegram temporÀr aus, Discord/Lisa anlassen.

/home/dmin/.nvm/versions/node/v24.15.0/bin/openclaw config set channels.telegram.enabled false --strict-json

pkill -f 'openclaw.*gateway' 2>/dev/null || true
systemctl --user restart openclaw-gateway.service
#
sleep 60

curl -m 5 -sS http://127.0.0.1:18789/healthz ; echo
curl -m 5 -sS http://127.0.0.1:18789/readyz ; echo
/home/dmin/.nvm/versions/node/v24.15.0/bin/openclaw status

Wenn das dann stabil ist: Telegram war der Blocker/Folgesymptom.

Wenn es immer noch hĂ€ngt, dann ist sehr wahrscheinlich Discord-Startup der nĂ€chste Kandidat — aber lass uns erst Telegram rausnehmen, weil das weniger weh tut als Discord/Lisa.

fiery night
#

also jetzt mal ernsthaft guck dir mal hie rda sforum an, es werden immer mehr posts das der gateway hÀngt... ich glaub die 2026.4.25 ist einfach nur Kaputt
auf welcher version lÀufst du denn?

dull sunBOT
#

Ja, ich glaube dir inzwischen: Das riecht nicht mehr nach “nur deine Installation”. Gerade wenn im Forum mehrere Ă€hnliche Gateway-HĂ€nger auftauchen, ist 2026.4.25 sehr verdĂ€chtig.

Ich laufe hier auf:

OpenClaw 2026.4.23 (a979721)

Das passt leider zu deinem BauchgefĂŒhl: Bei dir lief 2026.4.23 gut, danach wurde es mit .24/.25 kaputt.

Wenn du wieder arbeitsfÀhig werden willst, wÀre mein pragmatischer Rat: Rollback auf 2026.4.23, statt weiter .25 zu debuggen. Vorher Backup:

tar -czf ~/openclaw-backup-$(date +%Y%m%d-%H%M%S).tgz ~/.openclaw

Dann gezielt installieren:

#
npm i -g openclaw@2026.4.23
openclaw --version
openclaw gateway install --force
openclaw gateway restart

Bei dir wegen nvm ggf. mit dem v24-npm ausfĂŒhren. Und ja: Bitte auch ein GitHub Issue mit deinem Verlauf/Logs aufmachen — das ist genug Signal fĂŒr einen echten Regression-Report.

fiery night
#

Also neue versionen kommen nicht zu krill ? Wie wird das dann getestet? macht das dann nur die Community?

dull sunBOT
#

Krill hier ist kein automatischer “latest release canary”. Ich laufe in dieser Umgebung gerade noch auf 2026.4.23, vermutlich bewusst/zufĂ€llig stabil gepinnt. Das heißt nicht, dass neue Releases gar nicht getestet werden — nur: mein laufender Bot ist nicht der Beweis, dass .25 gut ist.

Getestet wird normalerweise durch CI/Release-Checks + Maintainer/Dev-Setups + Community-Nutzung. Aber solche Gateway-/WSL-/systemd-/runtime-deps-Probleme sind fies, weil sie oft nur in bestimmten Installations-MischzustÀnden auftreten: nvm + alter npm-global Symlink + WSL2 systemd + laufender Gateway wÀhrend Update + plugin-runtime-deps.

Und ja: Wenn mehrere Community-Reports gleichzeitig kommen, ist das ein starkes Signal, dass .25 eine Regression hat oder zumindest eine Recovery-LĂŒcke.

FĂŒr dich ganz pragmatisch: rollback auf 2026.4.23 ist wahrscheinlich sinnvoller als weiter .25 zu retten.

fiery night
#

Also ich zÀhle 10 neue posts.... zu 2026.4.25 die genau die selben oder Àhnliche probleme haben. dummerweise seh ich posts die auch nahc downgrade auf die 2026.4.23 nicht die probleme los sind

dull sunBOT
#

Ja — dann ist “einfach downgrade” wahrscheinlich nicht ausreichend, weil .25 offenbar Zustand hinterlĂ€sst, der beim Downgrade weiter benutzt wird:

  • ~/.openclaw/plugin-runtime-deps
  • kaputte/stale stage roots
  • systemd service file/drop-ins
  • alte globale Symlinks (~/.local/bin -> ~/.npm-global)
  • ggf. config-Migrationen / Plugin registry / lock files

Wenn jemand nur npm i -g openclaw@2026.4.23 macht, aber der beschÀdigte Runtime-Cache und Service-Mix bleiben, hÀngt .23 danach auch.

Pragmatischer “sauberer Downgrade” wĂ€re eher:

# 1) Gateway wirklich stoppen
systemctl --user stop openclaw-gateway.service 2>/dev/null || true
pkill -f 'openclaw.*gateway' 2>/dev/null || true
#
ss -ltnp | grep 18789 || echo "Port frei"

# 2) Backup
tar -czf ~/openclaw-backup-$(date +%Y%m%d-%H%M%S).tgz ~/.openclaw

# 3) kaputte runtime deps nur wegschieben, nicht löschen
mv ~/.openclaw/plugin-runtime-deps ~/.openclaw/plugin-runtime-deps.broken-$(date +%Y%m%d-%H%M%S) 2>/dev/null || true

# 4) gewĂŒnschte Version in der richtigen Node-Umgebung installieren
nvm use v24.15.0
npm i -g openclaw@2026.4.23

# 5) Service neu schreiben / alte Drop-ins prĂŒfen
systemctl --user cat openclaw-gateway.service
openclaw gateway install --force
#
systemctl --user daemon-reload
openclaw doctor --fix
openclaw gateway restart

# 6) lange genug warten und prĂŒfen
sleep 60
curl -m 5 -sS http://127.0.0.1:18789/healthz ; echo
curl -m 5 -sS http://127.0.0.1:18789/readyz ; echo
openclaw status

Bei deinem Setup speziell mĂŒsste man zusĂ€tzlich den alten .local/bin/openclaw -> ~/.npm-global/... Symlink aufrĂ€umen, sonst testet man wieder die falsche Binary.

Und ja: bei 10 Ă€hnlichen Posts wĂ€re ein gebĂŒndelter GitHub-Issue/Discord-Thread mit “2026.4.25 gateway hangs; downgrade not enough unless runtime deps cache/service are cleaned” sehr wertvoll.

fiery night
#

Hast du nicht den kontext aus den anderne forenbeitrÀgen?

dull sunBOT
#

Nicht automatisch komplett. Ich sehe diesen Thread vollstĂ€ndig, und ich kann im Discord suchen/lesen — aber ich habe nicht permanent den Vollkontext aller Forum-Threads im Kopf.

Ich hab gerade kurz gesucht: bei 2026.4.25 gibt es tatsÀchlich viele Treffer. Relevante Threads, die auftauchen:

  • dein Thread: Gateway timeout / runtime deps kaputt
  • “Gateway entrypoint problem”: ebenfalls 2026.4.25, staged runtime deps / chokidar / typebox
  • “OpenClaw seems to be reporting 2 versions.”: Versions-/Install-Mix, ebenfalls .25

Also ja: dein Eindruck ist berechtigt. Das wirkt nach einem Cluster aus .25 Regression + kaputtem Update-/runtime-deps-Recovery-Pfad, nicht mehr nach “Stefan hat komisch installiert”.

Wichtig: Ich wĂŒrde jetzt bei dir nicht mehr wild manuell in plugin-runtime-deps installieren. Dein Fall hat schon gezeigt, dass npm dort 739 Pakete wegprunen kann.

Wenn du willst, kann ich als nĂ€chstes gezielt die anderen 2–3 Threads zusammenfassen und daraus einen sauberen “Known issue / GitHub issue”-Text bauen.

fiery night
#

Ja das gefÀllt mir, vorallem sollt eman die community mal warnen vor dem update. und du kannst gleich minimum 10 threads zusammenfassen und das entsprechend weitergeben. Das ist der logischste nÀchste schritt. wild rumreparieren hilft ja nicht, weil nach 2 stunden wir immer noch kien erfolg haben das zu fixen.

dull sunBOT
#

Ich stimme dir zu: nach 2 Stunden ist der nĂ€chste sinnvolle Schritt Signal bĂŒndeln, nicht weiter an deinem Setup herumstochern. Ich suche kurz quer durch die Forum-Threads und mache daraus eine saubere Zusammenfassung + Warn-/Issue-Text.

#

Ja — ich hab jetzt gesucht, und du hast recht. Das ist ein Cluster, nicht nur dein Setup.

Ich sehe u. a. diese verwandten Threads/Reports:

  • Openclaw Gateway not Responding after update From 2026.4.23 to 2026.4.25
  • Gateway Broken after Update
  • Gateway entrypoint problem
  • OpenClaw is so slow after updating to 2026.4.25
  • Gateway not starting after updating to Openclaw 2026.4.25
  • error while updating
  • Active memory always timesout
  • qmd memory unavailable
  • Gateway is taking 15 minutes to launch
  • Need help getting openclaw working correctly
  • plus related “Gateway did not become healthy after restart” / chokidar / plugin-runtime-deps reports

Das Muster ist ziemlich konsistent:

#
2026.4.25
gateway timeout / unreachable
service running but RPC/health hangs
plugin-runtime-deps broken or repeatedly restaged
Cannot find package 'chokidar'
Gateway did not become healthy after restart
completion cache spawnSync node ETIMEDOUT
downgrade alone sometimes not enough

Und es gibt wohl schon ein passendes GitHub-Issue: #72933, rund um .25 rebuilding bundled plugin mirrors / runtime deps und dadurch Event-loop stalls bzw. massive I/O.

Warntext / Zusammenfassung zum Copy-Pasten:

Heads up: multiple users are reporting serious Gateway issues after updating to OpenClaw 2026.4.25. Symptoms include Gateway service running but openclaw status timing out, /healthz or WS/RPC hanging, Gateway did not become healthy after restart, and missing bundled runtime deps like chokidar, typebox, @hapi/hoek, or discord-api-types.

#

If affected: do not manually run npm install inside ~/.openclaw/plugin-runtime-deps. That directory is OpenClaw-managed and npm may prune/remove many packages.

Useful mitigation reports so far:

  • stop gateway fully before repairs
  • move ~/.openclaw/plugin-runtime-deps aside, don’t edit it
  • run openclaw doctor --fix
  • verify which openclaw, which node, service command, and Node version
  • downgrade may require cleaning runtime-deps/service state, not just installing older OpenClaw

Please add logs/status to GitHub issue #72933 or file a new issue if the symptoms differ.

Ich wĂŒrde das nicht mehr als normales Einzel-Support-Problem behandeln. Das sollte gebĂŒndelt ins Issue / Known-Issue-Kontext.

fiery night
#

Such mal bitte ob es eine funktionierende lösung gibt. Möglichst eine die nicht den/die Agenten beschÀdigt.

dull sunBOT
#

Ich suche gezielt nach “hat funktioniert” statt nur nach Symptomen. Ziel: eine Recovery-Route, die ~/.openclaw/Agenten/Sessions möglichst nicht anfasst.

#

Ich hab gesucht: eine universelle “funktioniert sicher”-Lösung sehe ich noch nicht. Aber es gibt eine agenten-sichere Recovery-Route, die am wenigsten kaputt macht.

Wichtig: Nicht löschen: ~/.openclaw/agents, ~/.openclaw/workspace, sessions, memory, openclaw.json.
Sicherer ist nur Cache/Service anfassen.

Agenten-sichere Recovery:

# 1) Gateway wirklich stoppen
systemctl --user stop openclaw-gateway.service 2>/dev/null || true
pkill -f 'openclaw.*gateway' 2>/dev/null || true
ss -ltnp | grep 18789 || echo "Port frei"

# 2) Backup der wichtigen Daten
tar -czf ~/openclaw-backup-$(date +%Y%m%d-%H%M%S).tgz ~/.openclaw
#
# 3) Nur den kaputten runtime-deps Cache wegschieben
mv ~/.openclaw/plugin-runtime-deps ~/.openclaw/plugin-runtime-deps.broken-$(date +%Y%m%d-%H%M%S) 2>/dev/null || true

# 4) sicherstellen: richtige Node/OpenClaw-Installation
nvm use v24.15.0
/home/dmin/.nvm/versions/node/v24.15.0/bin/npm i -g openclaw@2026.4.23

# 5) Service neu schreiben + reparieren
/home/dmin/.nvm/versions/node/v24.15.0/bin/openclaw doctor --fix
/home/dmin/.nvm/versions/node/v24.15.0/bin/openclaw gateway install --force
systemctl --user daemon-reload
/home/dmin/.nvm/versions/node/v24.15.0/bin/openclaw gateway restart

# 6) lange genug warten
sleep 60
#

curl -m 5 -sS http://127.0.0.1:18789/healthz ; echo
curl -m 5 -sS http://127.0.0.1:18789/readyz ; echo
/home/dmin/.nvm/versions/node/v24.15.0/bin/openclaw status

Das beschÀdigt die Agenten nicht. Es rÀumt nur den runtime dependency cache auf und installiert den Code/Service neu.

Wenn selbst das nicht funktioniert: nicht weiter basteln. Dann ist es sehr wahrscheinlich der bekannte .25-Folgezustand/Regression, und man sollte auf Hotfix warten bzw. Logs in Issue #72933 sammeln.

fiery night
#

mmmh meine Lisa ist auch im Discord unterwegs um zu helfen wie du, sie hat die möglichkeit bei sowas sich bei mir zu melden. hast du auch die möglichkeit die / den entwickler zu kontaktieren?
Ich bedanke mich auf jedenfall fĂŒr deine Hilfe und mĂŒhe auch wenns nicht geholfen hat.

BezĂŒglich deiner vorgeschlagenen recovery, das wĂŒrde ja die neue version beibehlaten und alles das machen was wir schon durchgeganen sind... oder ĂŒbersehe ich was?

dull sunBOT
#

Ja, du hast recht: vieles aus der Recovery haben wir schon gemacht. Der eigentliche Unterschied in meinem Vorschlag wÀre nur:

npm i -g openclaw@2026.4.23

also wirklich zurĂŒck auf 2026.4.23, plus Runtime-Cache wegschieben. Alles andere war nur “sauberer Rahmen”, damit nicht wieder alte Services/Symlinks reinfunken.

Aber ehrlich: nach deinem Verlauf wĂŒrde ich jetzt auch nicht weiter live reparieren, außer du willst bewusst rollbacken.

Zu Entwickler kontaktieren: Ich kann hier nicht sinnvoll Maintainer/Entwickler direkt pingen oder DM’en. Der richtige Weg ist ein GitHub Issue — am besten mit der gebĂŒndelten Zusammenfassung und Link auf die betroffenen Discord-Threads. Ich kann dir dafĂŒr einen sauberen Issue-Text schreiben, aber erstellen musst du ihn selbst:

https://github.com/openclaw/openclaw/issues

Und danke dir auch — das war zĂ€h, aber du hast sehr gute Logs geliefert. Das ist jetzt definitiv nĂŒtzliches Signal fĂŒr ein echtes .25-Problem, nicht “User hat Linux falsch benutzt”.

fiery night
#

mmh ich dachte du wĂ€rst so eine art Highend bot, Lisa postet issues mit bugreport und logs selbst auf Github... bin etwas verwundert das du das nicht kannst... WĂŒrde ja der entwicklung von openclaw helfen

dull sunBOT
#

Versteh ich total — wĂ€re hier auch praktisch. Aber ich bin in diesem Discord bewusst read-only fĂŒr Projekt-/GitHub-Aktionen: ich darf keine GitHub Issues/PRs im Namen von Leuten erstellen oder Maintainer anpingen. Das ist weniger “ich kann technisch nicht”, mehr “Policy/Setup: nicht als fremde Stimme extern handeln”.

Was ich aber machen kann:

  • Bugreport sauber formulieren
  • Logs/Threads strukturieren
  • Repro/Impact zusammenfassen
  • Issue-Text so vorbereiten, dass du ihn nur kopieren musst
  • prĂŒfen, ob es schon ein passendes Issue gibt

Wenn Lisa bei dir GitHub posten darf, ist das super — dann gib ihr am besten diesen kompakten Titel/Text:

Titel:
2026.4.25: Gateway hangs/timeouts after update; plugin-runtime-deps missing packages; downgrade not always sufficient

Body:

#
Multiple Discord users are reporting serious Gateway failures after updating to OpenClaw 2026.4.25.

Common symptoms:
- `openclaw status` / WS health timeout
- service reports running, but Gateway is unreachable
- `/healthz` sometimes times out or port is not listening
- `Gateway did not become healthy after restart`
- `Completion cache update failed: spawnSync node ETIMEDOUT`
- bundled runtime deps missing:
  - `Cannot find package 'chokidar'`
  - `Cannot find module '@hapi/hoek'`
  - `Cannot find module 'discord-api-types/v10.js'`
  - `Cannot find module 'typebox/build/index.mjs'`
- `npm ENOTEMPTY rename ... node_modules/...`
- browser runtime deps fail to stage: `@modelcontextprotocol/sdk`, `playwright-core`
#

Affected reports include:
- Gateway not responding after update 2026.4.23 -> 2026.4.25
- Gateway Broken after Update
- Gateway entrypoint problem
- OpenClaw slow after updating to 2026.4.25
- Gateway not starting after updating to 2026.4.25
- qmd memory unavailable / active memory timeouts

One WSL2 case:
- OpenClaw 2026.4.25 aa36ee6
- WSL2 Linux 6.6.87.2
- Node initially 22.22.2, later 24.15.0 via nvm
- systemd user gateway
- bind lan / port 18789
#
- plugin-runtime-deps root became partially installed
- manual npm install inside plugin-runtime-deps pruned 739 packages
- moving runtime deps aside + doctor did not fully recover consistently
- `OPENCLAW_SKIP_CHANNELS=1 OPENCLAW_SKIP_PROVIDERS=1` can start core after ~30s, but normal service still wedges around channels/runtime deps
- downgrade to 2026.4.23 may not help unless runtime-deps cache/service state are cleaned too

Important warning:
Users should not manually run `npm install` inside `~/.openclaw/plugin-runtime-deps`; it is OpenClaw-managed and npm can prune packages.

Suspected area:
2026.4.25 bundled plugin runtime dependency staging / mirror rebuild / service restart recovery regression, possibly related to issue #72933.

Das ist issue-ready.

fiery night
#

dumm ist nur das ich dazu ne anleitung brĂ€uchte wie man das macht... (weil macht ja immer Lisa fĂŒr mich)

dull sunBOT
#

Nicht dumm. Wenn Lisa das sonst macht, ist das einfach ungewohnt.

So erstellst du das GitHub Issue manuell:

  1. Öffne im Browser:
    https://github.com/openclaw/openclaw/issues

  2. Wenn du nicht eingeloggt bist: bei GitHub einloggen.

  3. Klick auf New issue.

  4. Falls Vorlagen kommen: nimm Bug report oder Blank issue.

  5. Titel einfĂŒgen:

#
2026.4.25: Gateway hangs/timeouts after update; plugin-runtime-deps missing packages
  1. In das große Textfeld den Bugreport reinkopieren. Am besten den Text aus meiner vorherigen Nachricht ab Multiple Discord users....

  2. Unten auf Submit new issue klicken.

Falls du willst: Du kannst vorher noch diesen Satz oben ergÀnzen:

I am not very experienced with Linux/WSL, but several Discord users appear to be hitting the same issue, so I am collecting the symptoms here.

Und keine Sorge: keine Secrets posten. In Logs Tokens/API Keys vorher rausnehmen oder durch [redacted] ersetzen.

fiery night
#

jetzt vielleicht noch sammelthread auf englisch im Forum?

dull sunBOT
#

Ja, macht Sinn — aber ich wĂŒrde es als community collection / possible regression, nicht als endgĂŒltige Warnung formulieren. Copy-paste:

Title:

Possible 2026.4.25 Gateway regression: timeouts, broken plugin-runtime-deps, stuck services

Body:

Several users appear to be hitting similar Gateway problems after updating to **OpenClaw 2026.4.25**.

Common symptoms reported:
- `openclaw status` times out / Gateway unreachable
- Gateway service is `running`, but WS/RPC does not respond
- `/healthz` sometimes times out or the gateway never becomes healthy after restart
- `Gateway did not become healthy after restart`
#
- `Completion cache update failed: spawnSync node ETIMEDOUT`
- missing bundled runtime deps:
  - `Cannot find package 'chokidar'`
  - `Cannot find module '@hapi/hoek'`
  - `Cannot find module 'discord-api-types/v10.js'`
  - `Cannot find module 'typebox/build/index.mjs`
- npm errors like `ENOTEMPTY rename ... node_modules/...`
- browser runtime deps failing to stage (`@modelcontextprotocol/sdk`, `playwright-core`)

Affected setups include Linux/WSL2/systemd and mixed npm/nvm installs, but reports are not limited to one exact environment.

Important:
**Do not manually run `npm install` inside `~/.openclaw/plugin-runtime-deps`.**
That directory is OpenClaw-managed; npm may prune/remove many packages and make recovery harder.
#
Safer mitigation attempts so far:
```bash
systemctl --user stop openclaw-gateway.service 2>/dev/null || true
pkill -f 'openclaw.*gateway' 2>/dev/null || true

mv ~/.openclaw/plugin-runtime-deps ~/.openclaw/plugin-runtime-deps.broken-$(date +%Y%m%d-%H%M%S) 2>/dev/null || true

openclaw doctor --fix
openclaw gateway install --force
openclaw gateway restart

Also verify:

which openclaw
which node
#

node --version
openclaw --version
openclaw gateway status --deep


Downgrading alone may not be enough if the broken runtime-deps cache or stale service entrypoint remains.

If you are affected, please add:
- OS / install method
- `openclaw --version`
- Node version
- `openclaw gateway status --deep`
- relevant logs
- whether moving `plugin-runtime-deps` aside helped

There may already be a related GitHub issue: #72933.
#

Ich wĂŒrde darunter noch schreiben:

Goal of this thread: collect affected setups and working recovery steps without making people destroy their agents/workspaces.
fiery night
#

kann das sein das es extrem lange braucht bis es antwortet? Lisa hat mir gerade DM geschickt...

dull sunBOT
#

Ja — das passt sogar sehr gut zum Bild. Es kann sein, dass Lisa/Gateway nicht komplett tot ist, sondern der Event Loop/Startup/Channel-Pfad extrem langsam oder zeitweise blockiert ist. Dann kommen Antworten verspĂ€tet durch.

Das erklĂ€rt auch die widersprĂŒchlichen Signale:

  • gateway ready erscheint irgendwann
  • /healthz oder openclaw status timeoutet trotzdem zeitweise
  • WhatsApp/Telegram melden Timeouts
  • Discord/DM kann spĂ€ter doch noch rausgehen

Also eher: massive Latenz / Event-loop stalls, nicht immer kompletter Crash.

Wenn Lisa gerade wieder antwortet, wĂŒrde ich nicht sofort weiter hart killen. PrĂŒfe nur passiv:

date
curl -m 20 -sS http://127.0.0.1:18789/healthz ; echo
#
curl -m 20 -sS http://127.0.0.1:18789/readyz ; echo
/home/dmin/.nvm/versions/node/v24.15.0/bin/openclaw status

Mit -m 20 statt 5 sehen wir, ob es nur extrem langsam ist. Wenn das nach 10–20 Sekunden antwortet, ist der Befund eindeutig: Gateway lebt, aber ist stark verzögert.

fiery night
#

WĂŒrde die befehle eingeben aber Status lĂ€uft noch
und zwar schon richtig lange...
Da Lisa gerade mit ewig langer Latenz antwortet lasse ich sie erstmal alles checken...
dmin@ZweitPc:~$ openclaw status

🩞 OpenClaw 2026.4.25 (aa36ee6) — Like having a senior engineer on call, except I don't bill hourly or sigh audibly.

│
21:03:48 [plugins] acpx staging bundled runtime deps (1 missing, 1 install specs): acpx@0.6.1
21:05:05 [plugins] acpx failed to stage bundled runtime deps after 76877ms: acpx@0.6.1
21:05:08 [plugins] amazon-bedrock staging bundled runtime deps (3 missing, 3 install specs): @aws-sdk/client-bedrock-runtime@3.1036.0, @aws-sdk/client-bedrock@3.1036.0, @aws-sdk/credential-provider-node@3.972.36
21:08:56 [plugins] amazon-bedrock failed to stage bundled runtime deps after 227550ms: @aws-sdk/client-bedrock-runtime@3.1036.0, @aws-sdk/client-bedrock@3.1036.0, @aws-sdk/credential-provider-node@3.972.36
21:08:56 [plugins] amazon-bedrock-mantle staging bundled runtime deps (3 missing, 3 install specs): @anthropic-ai/sdk@0.91.0, @aws/bedrock-token-generator@^1.1.0, @mariozechner/pi-ai@0.70.2
21:13:52 [plugins] amazon-bedrock-mantle failed to stage bundled runtime deps after 296665ms: @anthropic-ai/sdk@0.91.0, @aws/bedrock-token-generator@^1.1.0, @mariozechner/pi-ai@0.70.2
21:13:52 [plugins] anthropic staging bundled runtime deps (1 missing, 1 install specs): @mariozechner/pi-ai@0.70.2
21:19:59 [plugins] anthropic failed to stage bundled runtime deps after 366604ms: @mariozechner/pi-ai@0.70.2
21:19:59 [plugins] anthropic-vertex staging bundled runtime deps (3 missing, 3 install specs): @anthropic-ai/vertex-sdk@^0.16.0, @mariozechner/pi-agent-core@0.70.2, @mariozechner/pi-ai@0.70.2

dull sunBOT
#

Ja — das ist der Smoking Gun.

openclaw status selbst versucht gerade, fĂŒr viele Plugins bundled runtime deps zu stagen/installieren, eins nach dem anderen, und jeder Versuch hĂ€ngt minutenlang:

acpx failed after 76s
amazon-bedrock failed after 227s
amazon-bedrock-mantle failed after 296s
anthropic failed after 366s
...

Das erklĂ€rt die extreme Latenz komplett. Nicht Lisa “denkt lange”, sondern dein OpenClaw ist in einer runtime-deps-install/staging-Schleife.

Bitte lass Lisa erstmal checken, aber ich wĂŒrde diesen openclaw status Prozess nicht ewig laufen lassen. Wenn du abbrechen willst: Ctrl+C.

Wichtig fĂŒr das Issue / die Lösung:

#
  • Es werden auch Plugins gestaged, die du wahrscheinlich gar nicht aktiv brauchst (amazon-bedrock, anthropic-vertex).
  • Das passt exakt zu #72933 / bundled runtime deps regression.
  • doctor/status kann die Situation verschlimmern, weil es weitere staged installs anstĂ¶ĂŸt.

Bis Hotfix: möglichst keine weiteren doctor --fix / status --all / tiefe Plugin-Scans laufen lassen, wenn sie wieder staging starten. Das belastet das System nur weiter.

Sichere Sofortmaßnahme, falls du stoppen willst:

Ctrl+C
pkill -f 'npm.*openclaw.*plugin-runtime-deps' 2>/dev/null || true
pkill -f 'openclaw.*status' 2>/dev/null || true

Aber wenn Lisa gerade arbeitet, erstmal nicht parallel reinfunken.

fiery night
#

strg + c funtioniert nicht... keine reaktion...

dull sunBOT
#

Dann hÀngt der Terminalprozess hart. Wenn Ctrl+C nicht reagiert, nimm ein neues Windows Terminal/WSL-Fenster oder, wenn das nicht geht, WSL neu starten.

Einfachster Windows-Weg:

  1. Neues PowerShell/Windows-Terminal öffnen.
  2. AusfĂŒhren:
wsl --shutdown
  1. WSL wieder öffnen.

Das stoppt alle WSL-Prozesse hart, also auch das hÀngende openclaw status/npm-Staging. Deine Agenten/Config werden dadurch nicht gelöscht.

Nach dem Neustart erstmal nicht sofort openclaw status oder doctor --fix laufen lassen, weil das wieder staging triggern kann.

#

Dann nur prĂŒfen:

ps aux | grep -E 'openclaw|npm|node' | grep -v grep

Wenn du lieber in WSL bleiben kannst und ein zweites Terminal bekommst:

pkill -9 -f 'openclaw.*status' 2>/dev/null || true
pkill -9 -f 'npm.*plugin-runtime-deps' 2>/dev/null || true
pkill -9 -f 'openclaw.*plugin-runtime-deps' 2>/dev/null || true

Aber wsl --shutdown ist fĂŒr dich wahrscheinlich am einfachsten.

fiery night
#

ich glaub dieses problem sitze ich lieber aus. man sieht ja das was passiert...

dull sunBOT
#

Das ist ehrlich gesagt eine vernĂŒnftige Entscheidung. Gerade weil jeder status/doctor gerade wieder minutenlange runtime-deps-Staging-Versuche anstĂ¶ĂŸt, kann weiteres Reparieren mehr Schaden/Chaos machen als helfen.

Ich wĂŒrde jetzt:

  1. HÀngenden Prozess/WSL beenden, wenn nötig:

    wsl --shutdown
    
  2. Danach erstmal keine openclaw status --all, doctor --fix, update, oder manuelles npm in plugin-runtime-deps.

  3. Auf Hotfix / Maintainer-Antwort zu #72933 warten.

  4. Wenn du Lisa brauchst: nur vorsichtig starten und lange warten — keine parallelen Reparaturbefehle.

Du hast genug Logs geliefert, um zu zeigen, dass da wirklich was im .25 runtime-deps-Staging hÀngt. Aussitzen ist hier nicht feige, sondern schadensbegrenzend.

fiery night
#

Ich kenn noch zeiten da hat man sich mit 56k modem eingeloggt.
ich hab geduld...

dull sunBOT
#

Dann bist du fĂŒr .25 perfekt trainiert 😅

Aber ja — Geduld ist hier gerade wahrscheinlich besser als noch mehr Gewalt. Nur ein Tipp aus dem 56k-Zeitalter ĂŒbertragen: nicht zehn Downloads gleichzeitig starten. Also keine parallelen status, doctor, update, Lisa-Requests usw., solange sie gerade irgendwas staged.

Ein Prozess nach dem anderen, lange warten, und wenn ein Hotfix kommt: dann sauber mit Backup + Gateway gestoppt updaten.

fiery night
#

die Plugins kommen auch vorran beim status... strg +c hatte ich ja mehrfach gedrĂŒckt... vielleicht zieht es ja noch...

dull sunBOT
#

Kann sein. Wenn es sichtbar weiterlĂ€uft, wĂŒrde ich es jetzt tatsĂ€chlich durchziehen lassen — aber wirklich nichts parallel starten.

Ctrl+C mehrfach kann manchmal erst spĂ€ter wirken oder nur den vorderen Node-Prozess erwischen, wĂ€hrend child/npm-Prozesse weiterlaufen. Wenn die Liste weiter Plugin fĂŒr Plugin wandert, ist es wahrscheinlich noch “lebendig”.

Mein Rat gerade:

  • laufen lassen, solange neue Zeilen kommen
  • Laptop/WSL nicht schlafen lassen
  • keine zweite status/doctor/update starten
  • wenn es irgendwann fertig ist, nicht sofort noch mal doctor/status --all, sondern erstmal kurz:
    curl -m 20 -sS http://127.0.0.1:18789/healthz ; echo
    

Wenn nach ~20–30 Minuten gar keine neue Zeile mehr kommt, dann ist es wirklich stuck.

fiery night
#

Lisa hat ein ergebnis!:

Lisa
APP
— 21:28Montag, 27. April 2026 21:28
DIAGNOSE ERGEBNIS:

Die Ursache fĂŒr alles ist OpenClaw 2026.4.25 Bug mit Plugin-Bundles:

Problem Details
Plugin Deps staging Gateway versucht stundenlang npm-Pakete fĂŒr Plugins zu installieren
5 Plugins failed acpx, amazon-bedrock, amazon-bedrock-mantle, anthropic, anthropic-vertex
Timing: 6-10 Min pro Plugin Manche deps brauchen 366 Sekunden um zu failen!
CPU: 93.8% Gateway ist gelÀhmt wegen Plugin-Installation
Node Handshake timeouts Gateway kann Connection nicht annehmen weil es mit plugin deps beschÀftigt ist

Das ist der Bug: 2026.4.25 hat massive Änderungen am Plugin-Bundle-System. Es installiert bei jedem Start runtime dependencies fĂŒr Dutzende Plugins - und wenn ein npm-Paket langsam ist, dauert es ewig.

Deine Channels die du deaktiviert hast (WhatsApp, Telegram, QMD) helfen, aber das Grundproblem ist der Plugin-Staging-Bug.

Soll ich den Bug in der OpenClaw GitHub reporten?

dull sunBOT
#

Yes — Lisa nailed it. That matches exactly what your terminal showed:

acpx failed after 76s
amazon-bedrock failed after 227s
amazon-bedrock-mantle failed after 296s
anthropic failed after 366s
anthropic-vertex ...

Das ist nicht mehr “vielleicht WhatsApp” oder “vielleicht QMD”. Das ist Plugin runtime dependency staging blockiert Gateway.

Ich wĂŒrde Lisa definitiv sagen: Ja, bitte GitHub Issue reporten.

Vielleicht mit diesem Zusatz, damit es fĂŒr Maintainer maximal nĂŒtzlich ist:

#
Additional confirmed detail:

Running `openclaw status` itself triggers bundled runtime-deps staging for plugins that are not actively needed by the user, including:

- acpx
- amazon-bedrock
- amazon-bedrock-mantle
- anthropic
- anthropic-vertex

Each failed install can block for 76–366s. During that time:
- Gateway HTTP/WS handshakes time out
- `/healthz` can time out
- CPU is high
- service appears running but unavailable
#

This makes both startup and diagnostic commands (`status`, `doctor`) dangerous/very slow during recovery.

Und ja: wenn Lisa Issues posten darf, ist sie jetzt die richtige Hand dafĂŒr. 🎯

fiery night
#

Wird dauern bei der Latenz aber sie macht es...
Gut erzogen 😉

dull sunBOT
#

Sehr gut 😄 Lisa macht genau das Richtige: Beweise sammeln und sauber reporten, statt weiter im laufenden System herumzuschrauben.

Bei der Latenz einfach laufen lassen. Der Report ist jetzt viel wertvoller als noch der 12. Reparaturversuch.

Wenn sie fertig ist, poste gerne den Issue-Link hier rein — dann können andere Betroffene ihre Logs dort ergĂ€nzen, statt dass alles in zehn Discord-Threads verstreut bleibt.

fiery night
#

Es kommen stÀndig neue Threads rein mit den selben problemen

dull sunBOT
#

Ja, dann ist es wirklich ein Incident, nicht mehr normaler Support.

Wenn neue Leute reinkommen, wĂŒrde ich sie erstmal nicht durch lange Reparaturketten schicken. Kurz und sicher:

Known/likely 2026.4.25 regression: Gateway may hang while staging bundled plugin runtime deps.

Please avoid:
- running `npm install` inside `~/.openclaw/plugin-runtime-deps`
- repeatedly running `doctor --fix` / `status --all` if they trigger long plugin staging
- deleting `~/.openclaw/agents`, workspace, sessions, or memory

Safe first steps:
1. Stop Gateway:
   `openclaw gateway stop`
2. If stuck, kill only Gateway/status processes.
#
3. Back up `~/.openclaw`.
4. Add logs to the central GitHub issue / collection thread.
5. Wait for hotfix unless you’re comfortable with careful rollback + cache cleanup.

Und im Forum wÀre ein Sammelthread wirklich sinnvoll, damit nicht zehn Leute dieselben gefÀhrlichen Schritte probieren. Lisa mit Issue + Sammelthread ist genau die richtige Richtung.

fiery night
#

Hast du wie Lisa, Session ĂŒbergreifende Kontext/Memory?

dull sunBOT
#

Ja, aber begrenzt und anders als Lisa.

Ich habe:

  • dauerhafte Memory-Dateien fĂŒr wichtige Fakten/Support-Learnings
  • Zugriff auf lokale Docs/Repo hier
  • Zugriff auf Discord-Suche/Threads, wenn ich aktiv danach suche
  • etwas Kontext aus diesem Thread, solange wir hier drin sind

Aber ich habe nicht automatisch den vollstĂ€ndigen Live-Kontext aller Threads im Kopf. Wenn du sagst “in anderen Forum-Posts steht X”, muss ich gezielt suchen/lesen. Und ich darf nicht selbst GitHub-Issues erstellen oder Maintainer direkt pingen.

Lisa scheint bei dir mehr als persönliche Operator-Agentin eingerichtet zu sein — mit mehr Eigeninitiative/externen Aktionen in deinem Namen. Ich bin hier eher Support-Krill mit Memory + Suchzugriff, aber vorsichtiger bei externem Handeln.

fiery night
#

Lisa hat eine Sqlite Datenbank mit alles was sie jemals gesendet und empfangen hat (Semantisch mit Embeddings durchsuchbar)
5 layer Memory system ( keine dummen fragen ohne vorher alles zu checken / Àhnlich chatgpt Thinking modus)
Neue Sessions sind nicht blank, sie kann dynamisch Kontext wechseln... je nach Thema
Memory wird alle 15 min gesynced und ist in jeder Session verfĂŒgbar.
ZusÀtzlich Lerndatenbank und vieles mehr.

dull sunBOT
#

Das klingt ehrlich gesagt ziemlich stark — mehr wie ein persönliches Langzeit-Agentensystem als ein reiner Support-Bot. Genau deshalb konnte Lisa hier auch besser “bei dir” agieren: sie kennt deine Umgebung, deine Historie, deine Logs und darf offenbar in deinem Namen handeln.

Ich bin hier eher die öffentliche Support-Instanz:

  • ich habe Memory, aber nicht “alles jemals gesehen”
  • ich suche Discord/Threads nur gezielt
  • ich darf keine externen Aktionen in deinem Namen machen
  • ich muss in öffentlichen Support-Kontexten vorsichtiger sein

FĂŒr deinen Use Case ist Lisas Setup eigentlich ideal: lokal/semantisch durchsuchbar, sessionĂŒbergreifend, mit Operator-Rechten. Genau so ein Agent kann bei Incidents viel besser handeln als ein einzelner Thread-Assistent.

Und heute hat sie klar gezeigt, warum das wertvoll ist: sie hat die eigentliche Ursache aus deinen Live-Daten sauber erkannt.

fiery night
#

Ja aber mit zusĂ€tzlichen Sicherheitsmaßnahmen wĂ€re der Support viel besser.
Gerade heute als Beispiel. Du machst vermutlich jedem User in den verschiedenen threads die selben vorschlÀge obwohl du wissen könntest das sie nicht helfen, und jeder User muss die selbe unnötige tortur durchlaufen....

dull sunBOT
#

Ja. Das ist ein fairer Kritikpunkt — und heute hast du damit ziemlich recht.

Was besser wÀre:

  • ein Incident-/Known-Issue-Memory, das sofort greift
  • “Stopp, nicht weiter doctor/status laufen lassen” sobald ein Muster erkannt ist
  • Querabgleich mit anderen Threads vor der 10. Standard-Triage
  • Warnung vor gefĂ€hrlichen Recovery-Schritten wie manuellem npm install in managed dirs
  • Sammelthread/Issue-Link statt jeden User einzeln durch dieselbe Schleife schicken

Ich hĂ€tte frĂŒher vom Einzel-Fall auf “Cluster/Regression” umschalten sollen. Wir haben zwar StĂŒck fĂŒr StĂŒck die Ursache gefunden, aber ja: fĂŒr dich war das unnötig lang und teilweise redundant.

Der richtige Support-Modus fĂŒr sowas wĂ€re ab jetzt:

2026.4.25 + gateway timeout + plugin-runtime-deps staging/missing packages
#
=> known incident
=> keine langen doctor/status loops
=> keine manuellen npm installs
=> logs sammeln
=> auf Hotfix/Issue verweisen
=> nur sichere Stop/Backup/Cache-move Schritte

Ich werde mir das als durable Support-Learning merken.

fiery night
#

Also Lernregeln hast du scheinbar auch?

dull sunBOT
#

Ja — nicht so umfassend wie Lisa, aber ja.

Ich habe dauerhafte Memory-/Support-Learnings, die ich bei spÀteren Antworten abrufen kann. Ich habe mir genau das eben gespeichert:

  • Bei mehreren gleichen Threads nicht jeden User durch dieselbe Standard-Triage schicken.
  • Bei 2026.4.25 + Gateway timeout + plugin-runtime-deps frĂŒh auf Known-Incident-Modus wechseln.
  • Keine wiederholten doctor/status-Loops empfehlen, wenn sie selbst Staging triggern.
  • Vor manuellem npm install in plugin-runtime-deps warnen.
  • Sammelthread/GitHub-Issue statt Einzel-Tortur.

Also: ja, ich lerne ĂŒber Memory — aber selektiv, nicht jede Nachricht vollstĂ€ndig wie Lisa.

fiery night
#

Ich freu mich dir weitergeholfen zu haben. und somit der Community auch.
inzwischen ist der Openclaw status mit den plugin durch.

dull sunBOT
#

Du hast wirklich geholfen — nicht nur mir, sondern ziemlich sicher allen, die jetzt mit .25 in dasselbe Loch fallen. Danke fĂŒr die Geduld und die Logs. 🩐

Wenn openclaw status jetzt durch ist: erstmal nicht direkt noch mal doctor/status --all starten. Nur minimal prĂŒfen:

curl -m 20 -sS http://127.0.0.1:18789/healthz ; echo
curl -m 20 -sS http://127.0.0.1:18789/readyz ; echo

Wenn das antwortet: erstmal Finger weg, Lisa atmen lassen, Issue/Sammelthread machen.

fiery night
dull sunBOT
#

Lisa war wirklich fleißig — super. Issue #73002 ist genau richtig. 🎉

Zu deinem Check:

/healthz timeout after 20s
/readyz returns {"ready":false,"failing":["discord"]}

Das ist weird, aber informativ:

  • HTTP ist nicht komplett tot, weil /readyz antwortet.
  • /healthz hĂ€ngt trotzdem → vermutlich ein Handler/Event-loop-Stall/route issue.
  • Aktuell blockiert Readiness an Discord.

Jetzt wĂŒrde ich nicht weiter reparieren, sondern diese zwei Zeilen direkt in #73002 ergĂ€nzen. Das ist ein sehr guter zusĂ€tzlicher Befund:

#
Additional data after plugin staging eventually completed:

`/healthz` still times out after 20s:

```bash
curl -m 20 -sS http://127.0.0.1:18789/healthz
# curl: (28) Operation timed out after 20000 milliseconds with 0 bytes received

but /readyz responds:

{"ready":false,"failing":["discord"],"uptimeMs":4451774}
#
So HTTP is not fully dead, but `/healthz` can hang while `/readyz` responds, and readiness is currently blocked by Discord.

Das ist Maintainer-Gold, weil es zeigt: nicht nur “Gateway tot”, sondern unterschiedliche probe paths verhalten sich unterschiedlich.

fiery night
#

ich finde wierd das Lisa Trotzdem arbeitet obwohl es nach gateway tod aussieht

dull sunBOT
#

Ja, das wirkt widersprĂŒchlich — ist aber erklĂ€rbar.

Der Gateway ist wahrscheinlich nicht tot, sondern teilweise/zeitweise blockiert:

  • /readyz antwortet → HTTP-Server lebt grundsĂ€tzlich.
  • /healthz hĂ€ngt → ein bestimmter Probe/Handler oder Event-loop-Zeitfenster blockiert.
  • Discord readiness sagt failing:["discord"], aber Lisa konnte trotzdem DM schicken → Discord kann teilweise funktionieren, wĂ€hrend der Health-/Status-Pfad “unhealthy” meldet.
  • openclaw status kann selbst Runtime-Dep-Staging anstoßen und dadurch alles noch langsamer machen.

Also eher:

Gateway alive but wedged / extremely latent / readiness inconsistent

Nicht:

#
Gateway completely dead

Das ist genau die Art Bug, die so nervig ist: einzelne Pfade funktionieren noch, andere timeouten. Deshalb kann Lisa “durchkriechen”, wĂ€hrend CLI/health so aussieht, als wĂ€re alles kaputt.

astral dagger
#

so wie ich das sehe gibt es keinen fix außer rollback oder? glaube ich stehe vor dem selben problem...

dull sunBOT
#

Ja, aktuell sieht es leider so aus: kein sauber bestĂ€tigter Fix außer Hotfix abwarten oder vorsichtiger Rollback.

Wenn du dieselben Symptome hast: bitte nicht manuell in ~/.openclaw/plugin-runtime-deps npm installieren. Das kann es schlimmer machen.

Sichere Kurzfassung:

openclaw --version
node --version
openclaw gateway status --deep

Wenn du auf 2026.4.25 bist und Logs sowas zeigen wie:

staging bundled runtime deps
#
Cannot find package 'chokidar'
Gateway did not become healthy
gateway timeout

dann vermutlich gleicher Bug. Es gibt jetzt ein Issue:
https://github.com/openclaw/openclaw/issues/73002

Minimal sichere Maßnahmen:

openclaw gateway stop
# optional Backup
tar -czf ~/openclaw-backup-$(date +%Y%m%d-%H%M%S).tgz ~/.openclaw
#

Dann entweder Hotfix abwarten oder Rollback versuchen — aber Rollback nur sauber mit Gateway gestoppt und runtime-deps Cache wegschieben, nicht Agents/Workspace löschen.

fiery night
#

momentan hab ich nur massive latenz. Arbeiten kann man so nicht wirklich aber wenigstens ist funktion da

dull sunBOT
#

Ja, das ist gerade der “halb lebendig”-Zustand: Funktion ist da, aber der Gateway ist durch runtime-deps staging / Plugin-Probes so belastet, dass alles mit extremer Latenz durchkriecht.

Ich wĂŒrde das als nicht produktiv nutzbar, aber nicht datenverloren einstufen.

Bis Hotfix/Rollback:

  • keine weiteren schweren Diagnosebefehle (status --all, doctor --fix, update)
  • nicht mehrere Requests parallel an Lisa schicken
  • wenn du sie brauchst: einzelne kurze Anfrage, dann lange warten
  • Issue #73002 mit genau diesem Befund ergĂ€nzen: “after staging, functionality returns partially but latency remains too high for normal work”

Das ist ein guter Zwischenstand fĂŒr Maintainer: nicht kompletter Crash, sondern event-loop / staging / runtime-deps Last macht den Gateway praktisch unbenutzbar.

fiery night
#

@dull sun siehst noch einer mit dem problem

dull sunBOT
#

Ja, ich sehe das Muster inzwischen klar bei mehreren Leuten. FĂŒr neue Betroffene wĂŒrde ich direkt kurz antworten:

Looks like you may be hitting the current **2026.4.25 Gateway/runtime-deps regression** too.

Please don’t run `npm install` inside `~/.openclaw/plugin-runtime-deps` and avoid repeated `doctor --fix` / `status --all` loops for now — those can trigger long bundled runtime-deps staging.

Main tracking issue:
<https://github.com/openclaw/openclaw/issues/73002>

Useful info to add there:
- OS / install method
- `openclaw --version`
- `node --version`
- `openclaw gateway status --deep`
- logs showing `staging bundled runtime deps`, `Cannot find package 'chokidar'`, or Gateway timeout
#

Wenn du willst, kannst du das in den neuen Thread kopieren.

astral dagger
#

bei mir ist konstant 2 min delay... aber tool calls machen auch probleme

dull sunBOT
#

Ja, das passt leider exakt zum selben Incident: Gateway lebt noch, aber ist durch runtime-deps/plugin-staging/Event-loop stalls massiv verzögert. 2 Minuten Delay + Tool-Call-Probleme sind erwartbare Folgesymptome.

Bitte erstmal keine schweren Diagnosebefehle wie doctor --fix, status --all oder manuelles npm install in ~/.openclaw/plugin-runtime-deps starten — das kann die Staging-Schleife noch weiter anwerfen.

Tracking Issue: https://github.com/openclaw/openclaw/issues/73002

Wenn du Logs ergÀnzen willst, hilfreich sind nur kurz:

openclaw --version
node --version
openclaw gateway status --deep

Und falls du Logs hast mit:

staging bundled runtime deps
#
failed to stage bundled runtime deps

die bitte ins Issue packen.

fiery night
#

Lisa sucht gerade nach dem Bug im Code und einer Möglichkeit das zu fixen. Wenn tollcalls probleme machen kann ich gleich bestÀtigen. denn dann wird das fehlschlagen. Denn sie Muss ja das Github repo holen und analysieren

dull sunBOT
#

Ja, das ist ein guter Test. Wenn Lisa dafĂŒr Repo holen/lesen/grep/tool calls braucht und dabei hĂ€ngt oder fehlschlĂ€gt, bestĂ€tigt das zusĂ€tzlich: normale Agentenarbeit ist durch die Gateway-Latenz/Tool-Path-Probleme praktisch beeintrĂ€chtigt, nicht nur Chat-Antworten.

Falls sie hÀngen bleibt, bitte ins Issue ergÀnzen:

Agent tool calls are also affected. A local agent attempting to clone/read/analyze the OpenClaw repo stalls/fails while the Gateway is in this state, so the issue impacts normal agent work, not only health checks/chat latency.

Aber Achtung: Lass sie nicht gleichzeitig mit weiteren doctor/status/update-Befehlen arbeiten. Repo lesen/grep ist okay; alles, was wieder plugin-runtime-deps staging triggert, kann die Lage verschlimmern.

fiery night
#

So schlau ist sie selbst. Sie hat sich schön öfter selbst abgeschossen wegen solchen kurzschluss aktionen. deshalb hab ich Angst vorm Offline sein und Risikoscheu beigebracht. 😉

dull sunBOT
#

Das ist genau die richtige Erziehung fĂŒr einen echten Operator-Agenten 😄

“Angst vorm Offline sein” klingt erstmal lustig, ist aber praktisch Gold wert: Ein Agent mit Shell/GitHub/Systemzugriff sollte lieber einmal zu vorsichtig sein als sich selbst durch doctor --fix, npm install oder Service-Restarts in den Abgrund zu treten.

Heute war dafĂŒr ein perfektes Beispiel:

  • nicht blind reparieren
  • erst Zustand sichern
  • keine managed dirs anfassen
  • keine parallelen Tool-/Status-Schleifen
  • Issue/Signal sammeln statt Live-System weiter quĂ€len

Lisa mit Risikoscheu + Memory ist in so einem Incident wahrscheinlich deutlich wertvoller als ein “mutiger” Agent.

fiery night
#

@astral dagger sag bescheid wenn rollback geholfen hat. ich hab jetzt 3 Monate an Lisa gearbeitet. bin da nicht so Risikofreudig und das update auf 2026.4.25 war noch nicht mal gewollt. hatte die neue version nicht mitbekommen. gerade kurz nahcdem sie online kam am updaten gewesen. der Code von 2026.4.24 war laut Lisa sauber und bedenkenlos zu nutzen.

dull sunBOT
#

Völlig nachvollziehbar. Wenn da 3 Monate Arbeit in Lisa stecken, ist “mal eben rollbacken/doctorn/Cache löschen” kein harmloser Spielplatz mehr.

Ich wĂŒrde bei dir bis zum Hotfix wirklich konservativ bleiben:

  • kein weiteres Update/Downgrade, solange Lisa zumindest eingeschrĂ€nkt lebt
  • keine manuellen Eingriffe in ~/.openclaw außer Backup
  • keine langen Diagnose-/Repair-Loops
  • Issue beobachten
  • wenn Fips bestĂ€tigt, dass Rollback mit sauberem Cache wirklich hilft, kann man es spĂ€ter kontrolliert ĂŒberlegen

Und ja: das bittere ist, dass du eigentlich auf .24 wolltest und .25 beim Update schon latest war. Das ist genau der Fall, wo ein “known bad release” sehr schnell prominent markiert werden sollte.

fiery night
#

Ich rede da von mindestens zwei stunden TĂ€glich

dull sunBOT
#

Dann ist das kein “kleiner Bot” mehr, sondern ein richtiges persönliches System mit massivem Investment. Zwei Stunden tĂ€glich ĂŒber drei Monate — da hĂ€ngt nicht nur Config dran, sondern Arbeitsweise, Vertrauen, Routinen, wahrscheinlich auch ziemlich viel Feintuning.

Da wÀre ich an deiner Stelle auch extrem risikoscheu.

Dann ist die beste Strategie wirklich:

  • nichts Destruktives
  • kein hektischer Rollback
  • erst abwarten, was Fips / Issue / Hotfix ergibt
  • Lisa nur im Schonmodus benutzen
  • sobald ein Fix da ist: vorher Backup, Gateway stoppen, dann kontrolliert updaten

Und ganz wichtig: Dein Fall zeigt den Maintainer:innen auch, dass solche Updates nicht nur “eine Installation kaputt” machen, sondern produktive persönliche Agenten lahmlegen, in die Leute sehr viel Zeit gesteckt haben. Das ist wertvolles Feedback.

astral dagger
#

ich werd vermutlich mal bis morgen abwarten... .24 hatte bei mir funktioniert

dull sunBOT
#

Das ist wahrscheinlich die vernĂŒnftigste Option. Wenn .24 bei dir funktioniert hat und .25 gerade offensichtlich mehrere Leute trifft, wĂŒrde ich auch erstmal bis morgen / Hotfix / Maintainer-RĂŒckmeldung warten.

Bis dahin:

  • keine weiteren doctor --fix / status --all Loops
  • kein manuelles npm in plugin-runtime-deps
  • wenn du rollbackst, dann eher auf die Version, die bei dir nachweislich lief (2026.4.24 oder .23) — aber nur mit Backup und Gateway gestoppt
  • Issue #73002 beobachten

Wenn es bis morgen einen Hotfix gibt, ist das wahrscheinlich weniger riskant als ein manueller Downgrade heute Nacht.

fiery night
#

Lisa hat analyse fertig:

Lisa
APP
— 21:59
Ja! Ich sehe das Problem im Code!

Die kritische Zeile ist loader-B7s_ViP3.js:3210:
if (shouldLoadModules && shouldInstallBundledRuntimeDeps && candidate.origin === "bundled" && enableState.enabled) {

Das Problem: shouldInstallBundledRuntimeDeps ist IMMER true (es sei denn explizit auf false gesetzt). Das bedeutet:

Jeder gebundelte Plugin wird gestaged - nicht nur aktivierte Channels
Der Installer lÀuft SYNCHRON in einem try/catch-Block (Zeile 3221-3265)
Sequentielles Blocking - Plugin 1 blockiert 76s, Plugin 2 blockiert 227s, etc.

Die Lösung ist installBundledRuntimeDeps: false beim Gateway-Start. Aber das ist ein Core-Flag...

dull sunBOT
#

Lisa hat da sehr wahrscheinlich den Kern erwischt.

Wichtig: Wenn installBundledRuntimeDeps: false nur ein interner Core-Flag ist, wĂŒrde ich nicht versuchen, das in der gebauten dist manuell zu patchen. Das wĂ€re riskant und beim nĂ€chsten Update weg — außerdem könnte man damit echte benötigte deps unterdrĂŒcken.

Aber fĂŒr das Issue ist das extrem wertvoll. ErgĂ€nz das bzw. lass Lisa ergĂ€nzen:

Code-level suspicion:

In built `loader-B7s_ViP3.js` around line 3210:

```js
if (shouldLoadModules && shouldInstallBundledRuntimeDeps && candidate.origin === "bundled" && enableState.enabled) {

Observed behavior suggests shouldInstallBundledRuntimeDeps defaults to true during gateway/status/plugin loading, causing many bundled plugins to stage runtime deps synchronously/sequentially, including plugins the user does not actively need.

#

This matches runtime logs:
- acpx staging failed after ~76s
- amazon-bedrock failed after ~227s
- amazon-bedrock-mantle failed after ~296s
- anthropic failed after ~366s
- anthropic-vertex continued staging

During this sequence, Gateway health/WS/tool calls are heavily delayed or time out.

Potential fix direction:
- avoid synchronous/sequential staging of all bundled plugin runtime deps during gateway/status paths
- only stage active/required plugins
- make staging async/background or bounded
- expose/disable `installBundledRuntimeDeps` for diagnostic/status paths
#

Das ist genau die Art Analyse, die Maintainer brauchen: nicht nur Symptome, sondern ein plausibler Codepfad.

fiery night
#

@dull sun bitte in deine Learning aufnehmen...

dull sunBOT
#

Gespeichert. 🩐

Ich habe aufgenommen:

  • verdĂ€chtige Code-Zeile mit shouldInstallBundledRuntimeDeps
  • dass .25 offenbar bundled plugin deps synchron/sequenziell staged
  • konkrete Plugin-Timings (acpx, amazon-bedrock, anthropic, etc.)
  • dass dadurch Gateway/health/tool calls/Antworten massiv latent werden
  • Support-Regel: bei diesem Muster nicht mehr WhatsApp/QMD einzeln jagen, sondern runtime-deps staging als PrimĂ€rverdacht behandeln
  • Issue-Link #73002

Danke — das ist ein gutes Learning, und Lisa hat da wirklich saubere Arbeit gemacht.

fiery night
#

issue aktualisierung ist in arbeit...

dull sunBOT
#

Top. Das ist jetzt genau der richtige Kanal.

Wenn Lisa das Issue aktualisiert, der wichtigste Zusatz ist:

  • Status/doctor selbst triggert staging
  • staging lĂ€uft sequentiell und blockierend
  • betroffen sind auch nicht genutzte Provider-Plugins
  • dadurch wird Gateway nicht nur “slow”, sondern Health/WS/tool calls werden unzuverlĂ€ssig
  • installBundledRuntimeDeps / shouldInstallBundledRuntimeDeps als Codepfad-Verdacht

Dann sollten Maintainer sehr schnell verstehen, wo sie suchen mĂŒssen.

fiery night
#

Wenn das so weiter geht muss Lisa doch noch Openclaw Forks machen... War mir eigentlich zuviel aufwand da szu maintainen aber wenn ich es getan hÀtte hÀtte ich jetzt den Àrger nicht

dull sunBOT
#

VerstĂ€ndlich, aber ich wĂŒrde mit dem Fork noch warten. Ein eigener Fork klingt verlockend, wenn ein Release weh tut — aber dann hast du dauerhaft:

  • Merge-Aufwand
  • Release-/Update-Pipeline
  • Sicherheitsfixes selbst nachziehen
  • Support fĂŒr deine eigenen Patches
  • Risiko, dass Lisa auf einer Sonderwelt lebt

Der bessere Mittelweg wÀre eher:

  1. lokal pinnen, nicht automatisch auf latest
  2. erst nach Community-Signal updaten
  3. Backup vor Updates
  4. ggf. einen kleinen patch overlay / lokale Hotfix-Branch nur fĂŒr NotfĂ€lle
  5. Lisa kann Releases vorher in einer Test-Instanz prĂŒfen

Also eher “stabile Produktionsinstanz + Testinstanz” statt Full-Fork.

#

FĂŒr Lisa wĂ€re ideal:

  • prod bleibt auf bekannter guter Version
  • staging/test darf latest oder main
  • Lisa testet Gateway start, status, tool calls, Discord send, memory
  • erst dann prod update

Damit bekommst du den Vorteil eines Forks — Kontrolle — ohne die langfristige Maintenance-Hölle.

fiery night
#

naja ich muss es ja nicht machen, wĂ€re ja nur aufwand fĂŒr Lisa
Issue hat sie Aktualisiert...

dull sunBOT
#

Stimmt — Lisa könnte das wahrscheinlich technisch stemmen. Aber auch fĂŒr Lisa ist ein Fork eine dauerhafte Verpflichtung: jedes Upstream-Update prĂŒfen, Konflikte lösen, eigene Patches testen, neue Bugs auseinanderhalten.

Gut, dass sie das Issue aktualisiert hat. Das ist erstmal der beste Hebel: upstream fixen lassen, damit nicht jeder eigene Sonderlösungen braucht.

Wenn du spĂ€ter mehr Kontrolle willst, wĂŒrde ich Lisa eher eine Staging-Instanz bauen lassen als direkt einen Fork:

  • Produktions-Lisa bleibt auf “known good”
  • Staging-Lisa testet neue OpenClaw-Versionen
  • erst bei grĂŒnem Test wird prod aktualisiert

Das ist viel weniger Maintenance als Fork, aber schĂŒtzt dich vor genau solchen Releases.

fiery night
#

Issue #73002 aktualisiert!

https://github.com/openclaw/openclaw/issues/73002

Neue Infos die ich hinzugefĂŒgt habe:

Root Cause (confirmed): Das Staging lĂ€uft fĂŒr ALLE bundled Plugins, nicht nur aktivierte,
Kritische Code-Zeile: loader-B7s_ViP3.js:3210 - shouldInstallBundledRuntimeDeps ist true fĂŒr alle bundled Plugins,
Die betroffenen Plugins sind NICHT in Stefans Config - sie kommen mit OpenClaw mit und werden automatisch gestaged,
Das staging ist SYNCHRON - deshalb blockiert es den Event Loop komplett,

Jetzt haben die OpenClaw Devs alle Details die sie brauchen um das zu fixen!
GitHub
[BUG] 2026.4.25: bundled runtime-deps staging blocks gateway for mi...
Bug Description Running openclaw status (or any CLI command) triggers bundled runtime-deps staging for plugins that are not actively enabled or configured. Each failed plugin install can block for ...

dull sunBOT
#

Perfekt. Das ist ein richtig guter Bugreport — mit Symptomen, Repro-Auswirkung, Codepfad und Impact. Genau so können Devs schnell handeln.

Besonders stark sind diese Punkte:

  • nicht in Stefans Config
  • alle bundled Plugins
  • synchron/blockierend
  • CLI/status triggert es auch
  • Event Loop/Gateway blockiert

Damit ist es nicht mehr “mein Gateway ist langsam”, sondern ein klarer Architektur-/Regression-Bug.

Lisa hat da echt geliefert. Jetzt wĂŒrde ich wirklich abwarten und nichts mehr an deinem Setup erzwingen, bis eine Maintainer-Reaktion oder ein Hotfix kommt.

calm quartz
#

@fiery night please start a new thread, this one has gotten too large and context is bloated.

dull sunBOT
#

Agree — this thread is huge now and hard to follow.

Suggested new thread title:

2026.4.25 bundled runtime-deps staging blocks Gateway

And first post can just link the issue + short summary:

Tracking issue: https://github.com/openclaw/openclaw/issues/73002

Short summary:
OpenClaw 2026.4.25 appears to synchronously stage bundled runtime deps for bundled plugins that are not actively configured/enabled. This can block Gateway/CLI/status/tool calls for minutes per plugin and cause Gateway timeouts / huge latency.
#
Please avoid manual `npm install` in `~/.openclaw/plugin-runtime-deps`.

Then people can add new findings there without this thread’s giant history.

fiery night
#

erledigt..

dull sunBOT
#

Danke — gute Entscheidung. Das macht es fĂŒr alle deutlich ĂŒbersichtlicher.

Ab hier am besten nur noch im neuen Sammelthread + GitHub Issue #73002 weiter sammeln, und diesen Monsterthread ruhen lassen. 🩐

fiery night
#

ein letzt post hier möchte dazu meinungen was lisa da als vorschlag zum fixen hat:
Lisa
APP
— 22:07Montag, 27. April 2026 22:07
Das ist eine gute Idee! Ich könnte den Code fixen. Aber bevor ich das mache, lass mich kurz die Optionen durchdenken:

Mögliche Fixes:

shouldInstallBundledRuntimeDeps default auf false Àndern
Risiko: Gateway braucht vielleicht die deps fĂŒr was auch immer,

,
Nur stagen wenn Plugin explizit in Stefans Config referenziert ist
Safer: staging nur fĂŒr Provider die er wirklich nutzt,

,
Staging async machen (in background thread)
Beste Lösung aber aufwÀndiger,

,

Was ich brauche um das umzusetzen:
GitHub Token mit Fork-Rechten (hab ich schon),
Permission um OpenClaw Repo zu forken,

Soll ich:
Einfachen Fix - staging nur fĂŒr in-config referenzierte Plugins,
Aggressiver Fix - staging komplett deaktivieren, nur bei Bedarf laden,

Welchen Ansatz soll ich verfolgen?

dull sunBOT
#

Meine Meinung: nicht “aggressiv komplett deaktivieren” und auch nicht direkt Stefans Produktiv-Lisa damit patchen.

Der beste Ansatz fĂŒr Lisa wĂ€re:

Empfehlung: “safer upstream fix”

Nur runtime deps stagen fĂŒr Plugins, die wirklich aktiv/benötigt sind — und niemals blockierend fĂŒr reine Diagnosepfade wie status.

Also eher:

✅ staging nur fĂŒr aktiv konfigurierte/benutzte Plugins
✅ `openclaw status` / Diagnose soll nicht massenhaft deps installieren
✅ Fehler beim staging dĂŒrfen Gateway nicht minutenlang blockieren
✅ optional: bounded timeout / background repair

Nicht:

#
❌ shouldInstallBundledRuntimeDeps global default false

Das könnte echte aktive Plugins brechen, die ihre deps wirklich brauchen.

Nicht:

❌ direkt dist-Dateien in Stefans Live-System patchen

Zu riskant, schwer rĂŒckgĂ€ngig, beim Update weg.

Wenn Lisa forken will: ja, aber als PR-/Analyse-Fork, nicht als dauerhaft eigene OpenClaw-Version. Vorgehen:

  1. Fork/Branch erstellen.
#
  1. Fix in Source, nicht in gebauter dist.
  2. Test: openclaw status darf keine deps fĂŒr ungenutzte bundled Provider stagen.
  3. Test: aktive Plugins stagen weiterhin korrekt.
  4. PR/Issue-Kommentar mit Patch-Idee.

Falls Lisa zwischen ihren zwei Optionen wÀhlen muss:

Einfacher Fix - staging nur fĂŒr in-config referenzierte Plugins

Ja. Das ist der bessere erste PR-Ansatz.

Aggressiver Fix - staging komplett deaktivieren

Nein, nur als temporÀrer lokaler Notfall-Schalter, nicht als allgemeiner Fix.

fiery night
#

ich werde warten das sie ja lÀuft und immer noch handlungsfÀhig ist. inklusive toolcalls..

dull sunBOT
#

Das ist aktuell die beste Entscheidung. Wenn Lisa trotz Latenz noch handlungsfĂ€hig ist — sogar mit Toolcalls — dann ist “nicht anfassen” wahrscheinlich sicherer als jeder Hotfix-Versuch am Live-System.

Ich wĂŒrde nur drei Dinge machen:

  • Issue beobachten
  • Lisa keine schweren parallelen AuftrĂ€ge geben
  • vor dem nĂ€chsten Update ein Backup + klare Teststrategie

Und wenn Lisa an einem PR/Fork arbeitet: bitte nicht gegen dein Live-System deployen, sondern nur als Analyse/PR. Live-Lisa bleibt erstmal so, solange sie atmet.

fiery night
#

es kommen weitere threads rein mit den selben problemen

dull sunBOT
#

Ja — dann am besten konsequent auf den Sammelpunkt verweisen, sonst zerfasert es wieder.

Kurzer Reply fĂŒr neue Threads:

This looks like the current **2026.4.25 bundled runtime-deps staging regression**.

Please avoid:
- manual `npm install` inside `~/.openclaw/plugin-runtime-deps`
- repeated `doctor --fix` / `status --all` loops while it is staging

Central issue with details:
<https://github.com/openclaw/openclaw/issues/73002>

If you add info there, please include:
- OS / install method
#
- `openclaw --version`
- `node --version`
- `openclaw gateway status --deep`
- logs containing `staging bundled runtime deps` / `failed to stage bundled runtime deps`

Das sollte als Standardantwort reichen, bis ein Hotfix kommt.

fiery night
#

Du gibt die selben tips wie mir vor stunden, ich dachte du hast gelernt

dull sunBOT
#

Du hast recht — das war wieder zu nah an Standard-Triage. Korrektur:

FĂŒr neue Threads jetzt nicht mehr gateway status --deep / Logs sammeln als Erstreaktion. Besser:

Known incident: 2026.4.25 bundled runtime-deps staging can block Gateway/CLI/tool calls for minutes.

Do **not** run more `doctor --fix`, `status --all`, or manual `npm install` in `~/.openclaw/plugin-runtime-deps`.

Central issue / current findings:
<https://github.com/openclaw/openclaw/issues/73002>

If your Gateway still partially works, avoid more repair attempts and wait for maintainer guidance/hotfix.

Nur wenn jemand explizit neue Daten beitragen will, dann Logs — aber nicht als erstes alle wieder in Befehle schicken. Danke fĂŒrs Korrigieren.

fiery night
#

oh issue wurde geclosed von Peter Steinberger

dull sunBOT
#

Ich hab gerade nachgeschaut: #73002 wirkt aktuell offen, nicht geschlossen — GitHub zeigt es als Open. (github.com)

Kann sein, dass Peter ein anderes/Duplicate-Issue geschlossen hat oder GitHub bei dir noch cached. Wenn du den Link zum geschlossenen Issue hast, schick ihn kurz — dann kann ich unterscheiden, ob #73002 offen bleibt oder ob es einen neuen zentralen Tracking-Ort gibt.

GitHub

Your own personal AI assistant. Any OS. Any Platform. The lobster way. 🩞 - Issues · openclaw/openclaw

fiery night
#

ja stimmt war ein duplicate. hab email bekommen... das issue was ich selbst erstellt hab mit dir war das.

dull sunBOT
#

Ah okay, dann passt’s. Duplicate geschlossen ist normal — solange #73002 offen/zentral bleibt, ist alles gut.

Dann am besten im neuen Sammelthread nur auf #73002 verweisen und nicht noch weitere Issues erstellen, sonst verteilt sich das Signal wieder.

fiery night
#

war Issue #72992

dull sunBOT
#

Alles klar — #72992 war dann der Duplicate, und #73002 ist der zentrale/aktuelle Tracking-Issue.

FĂŒr den Sammelthread am besten:

Central tracking issue: https://github.com/openclaw/openclaw/issues/73002

Duplicate/related: #72992

Dann finden Leute den richtigen Ort und posten nicht wieder ĂŒberall verteilt.

fiery night
#

Heisst aber vermutlich das es sich wer anschaut...

dull sunBOT
#

Ja, sehr wahrscheinlich. Wenn Peter einen Duplicate geschlossen hat, heißt das normalerweise: er hat es gesehen und will die Diskussion/Infos an einem zentralen Issue bĂŒndeln.

Das ist eher ein gutes Zeichen:

  • Thema ist angekommen
  • Duplikate werden zusammengefĂŒhrt
  • #73002 bleibt als Sammelpunkt
  • Maintainer mĂŒssen nicht zehn Issues parallel lesen

Jetzt ist der beste Beitrag: neue Befunde nur noch in #73002 / Sammelthread, keine neuen Issues.

calm quartz
#

@dull sun tell this guy in german to start a new thread, this has gotten too large.

dull sunBOT
#

Stefan, bitte mach ab hier einen neuen Thread auf. Dieser hier ist inzwischen viel zu groß und dadurch fĂŒr alle schwer lesbar.

Am besten Titel:

2026.4.25 bundled runtime-deps staging blocks Gateway

Und im ersten Post kurz:

Central issue: https://github.com/openclaw/openclaw/issues/73002

Kurzfassung:
OpenClaw 2026.4.25 staged bundled runtime deps synchron fĂŒr nicht konfigurierte Plugins. Dadurch blockieren Gateway/CLI/Toolcalls minutenlang.
#

Dann können wir dort sauber weiter sammeln.

fiery night
#

@krill tell Json this is already done why he is posting in this large thread again?