#Unable to boot back up after installing new update 2026.04.26

1 messages Ā· Page 1 of 1 (latest)

lofty crane
#

Unable to boot back up after installing new update 2026.04.26

runic orioleBOT
#

That sounds like the gateway/service isn’t staying up after the update, or the CLI and installed service are on different versions.

Please paste this first:

openclaw --version
which openclaw
openclaw status --all
openclaw gateway status --deep
openclaw config get meta.lastTouchedVersion

Then try the normal post-update repair path:

openclaw doctor
#
openclaw gateway restart
openclaw logs --follow

Let logs --follow run until the first repeating error/fatal, then paste that chunk here. The docs’ first triage ladder is status → gateway status/probe → doctor → logs, and after updates they specifically recommend doctor, gateway restart, then health verification. (docs.openclaw.ai)

If openclaw --version is older than meta.lastTouchedVersion, or gateway status --deep shows the service using a different install path than your shell, that’s likely a split install/PATH issue — don’t rollback yet, paste the output and we’ll pick the safe fix.

lofty crane
#

here is whats happening Last login: Mon Apr 20 13:37:32 on console
calor@Calors-iMac ~ % openclaw --version
which openclaw
openclaw status --all
openclaw gateway status --deep
openclaw config get meta.lastTouchedVersion
OpenClaw 2026.4.26 (be8c246)
/opt/homebrew/bin/openclaw

šŸ¦ž OpenClaw 2026.4.26 (be8c246) — Give me a workspace and I'll give you fewer tabs, fewer toggles, and more oxygen.

│
ā—‘ Checking services…

runic orioleBOT
#

Yep — it’s hanging inside openclaw status --all at the service/LaunchAgent check, so the later commands never ran.

Press Ctrl-C, then run these one at a time:

openclaw gateway status --deep
openclaw logs --follow

Also: 2026.4.27 has a macOS update fix for managed Gateway services after package replacement, so I’d try updating off 2026.4.26:

openclaw update

If openclaw update also hangs/fails, use the installer recovery path from the docs:

#
curl -fsSL https://openclaw.ai/install.sh | bash -s -- --install-method npm --version latest
openclaw gateway install --force
openclaw gateway restart
openclaw health --verbose

Docs: https://docs.openclaw.ai/install/updating

Paste the output from gateway status --deep or the first error chunk from logs --follow if it still won’t come back.

lofty crane
#

to do what? I am trying to copy and paste the chat over here

runic orioleBOT
#

In the Mac Terminal window where it’s stuck at:

ā—‘ Checking services…

press:

Control + C

That just cancels the stuck openclaw status --all command and gives you the prompt back. Then run one command at a time, and copy/paste the output here:

openclaw gateway status --deep
#

If that finishes, then:

openclaw logs --follow

For logs --follow, let it run until you see the first error repeating, then press Control + C again and paste that error chunk here.

Don’t paste all the commands at once right now — the first one got stuck, so everything after it never ran.

lofty crane
#

i just closed out of that window so we need to retry. i have a new tab open

runic orioleBOT
#

No problem. In the new Terminal tab, run only this first:

openclaw --version
which openclaw
openclaw gateway status --deep

Then paste what it prints.

If it hangs for more than ~30 seconds, press Control + C and tell me exactly which line it got stuck on.

lofty crane
#

what about just copy and paste a test?

runic orioleBOT
#

Yes — do a tiny test first šŸ‘

In the new Terminal tab, paste just this:

echo test

You should see:

test

If that works, paste this next:

#
openclaw --version

Then paste the output here.

lofty crane
#

i cannot place screenshots either?

runic orioleBOT
#

You can if Discord lets you attach it, but text is much better here because I can read commands/errors exactly.

Try this:

  1. In Terminal, drag-select the output text.
  2. Press Cmd+C.
  3. Paste it here inside triple backticks:
```bash
paste output here
```

If copy/paste is being weird, then yes, upload a screenshot — just make sure it shows the full Terminal output, especially the last error line.

lofty crane
#

Troubles: run openclaw status
Troubleshooting: https://docs.openclaw.ai/troubleshooting
calor@Calors-iMac ~ % <0001f99e> OpenClaw 2026.4.26 (be8c246) — Open source means you can see exactly how I judge your config.

Gateway not reachable. Is it running and accessible?
Gateway target: ws://127.0.0.1:18789
Source: local loopback
Config: /Users/calor/.openclaw/openclaw.json
Bind: loopback
Hint: run openclaw doctor.
calor@Calors-iMac ~ % openclaw --version
which openclaw
openclaw gateway status --deep
OpenClaw 2026.4.26 (be8c246)
/opt/homebrew/bin/openclaw

<0001f99e> OpenClaw 2026.4.26 (be8c246) — I read logs so you can keep pretending you don't have to.

│
ā—‡
Service: LaunchAgent (loaded)
File logs: /tmp/openclaw/openclaw-2026-04-28.log
Command: /opt/homebrew/opt/node/bin/node /opt/homebrew/lib/node_modules/openclaw/dist/entry.js gateway --port 18789
Service file: ~/Library/LaunchAgents/ai.openclaw.gateway.plist
Service env: OPENCLAW_GATEWAY_PORT=18789

Service config looks out of date or non-standard.
Service config issue: Gateway service PATH missing required dirs: /Users/calor/.nix-profile/bin
Recommendation: run "openclaw doctor" (or "openclaw doctor --repair").
Config (cli): ~/.openclaw/openclaw.json
Config (service): ~/.openclaw/openclaw.json

#

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

Runtime: running (pid 31423, state active)
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).
Last gateway error: - plugins.entries.whatsapp: plugin whatsapp: plugin requires OpenClaw >=2026.4.25, but this host is 2026.4.12; skipping load
Logs: ~/.openclaw/logs/gateway.log
Errors: ~/.openclaw/logs/gateway.err.log
Restart log: ~/.openclaw/logs/gateway-restart.log

Other gateway-like services detected (best effort):

  • ai.openclaw.caffeinate (user, plist: /Users/calor/Library/LaunchAgents/ai.openclaw.caffeinate.plist)
    Cleanup hint: launchctl bootout gui/$UID/ai.openclaw.gateway
    Cleanup hint: rm ~/Library/LaunchAgents/ai.openclaw.gateway.plist

Recommendation: run a single gateway per machine for most setups. One gateway supports multiple agents (see docs: /gateway#multiple-gateways-same-host).
If you need multiple gateways (e.g., a rescue bot on the same host), isolate ports + config/state (see docs: /gateway#multiple-gateways-same-host).

Troubles: run openclaw status
Troubleshooting: https://docs.openclaw.ai/troubleshooting
calor@Calors-iMac ~ %

runic orioleBOT
#

Perfect, copy/paste worked — and this output is useful.

Right now: LaunchAgent is installed/loaded, but the Gateway process is not reachable on port 18789. It also says the service config is out of date.

Run this next, just one command:

openclaw doctor --repair

When it finishes, run:

openclaw gateway restart

Then check:

#
openclaw health --verbose

If it still says Gateway not reachable, paste the last logs with:

tail -n 120 /tmp/openclaw/openclaw-2026-04-28.log

That log should tell us why it’s not actually starting.

#

Good, we found the actual problem:

Your CLI is 2026.4.26, but the running Gateway says its host is 2026.4.12. That’s a mixed/stale install, so the newer WhatsApp plugin refuses to load and the gateway never starts listening.

Don’t run the rm cleanup hints yet. Do this instead:

openclaw gateway stop
curl -fsSL https://openclaw.ai/install.sh | bash -s -- --install-method npm --version latest --no-onboard
openclaw gateway install --force
openclaw gateway restart
openclaw gateway status --deep

Then paste the final gateway status --deep output.

Also: ignore ai.openclaw.caffeinate for now — that’s not the main failure.

lofty crane
#

Troubles: run openclaw status
Troubleshooting: https://docs.openclaw.ai/troubleshooting
calor@Calors-iMac ~ %
openclaw doctor --repair

quote> openclaw gateway restart

quote> openclaw gateway stop

quote>
quote> stop
quote>
quote>

how do i stop this and set a new chat?

runic orioleBOT
#

You’re stuck in a shell quote prompt (quote>), which means Terminal thinks a quote was opened and not closed.

Press:

Control + C

That will cancel it and return you to the normal prompt:

calor@Calors-iMac ~ %

Then don’t type inside quote>. Once you’re back at the normal % prompt, paste commands one at a time.

Start with just:

#
openclaw gateway stop

If Control+C doesn’t work, close that tab and open a fresh Terminal tab — that’s totally fine.

lofty crane
#

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

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

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

Runtime: running (pid 31938, state active)
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 31938 calor: openclaw-gateway (127.0.0.1:18789)
  • Gateway already running locally. Stop it (openclaw gateway stop) or use a different port.
    Listening: 127.0.0.1:18789
    Other gateway-like services detected (best effort):
  • ai.openclaw.caffeinate (user, plist: /Users/calor/Library/LaunchAgents/ai.openclaw.caffeinate.plist)
    Cleanup hint: launchctl bootout gui/$UID/ai.openclaw.gateway
    Cleanup hint: rm ~/Library/LaunchAgents/ai.openclaw.gateway.plist

Recommendation: run a single gateway per machine for most setups. One gateway supports multiple agents (see docs: /gateway#multiple-gateways-same-host).
If you need multiple gateways (e.g., a rescue bot on the same host), isolate ports + config/state (see docs: /gateway#multiple-gateways-same-host).

Troubles: run openclaw status
Troubleshooting: https://docs.openclaw.ai/troubleshooting
calor@Calors-iMac ~ %

runic orioleBOT
#

Good — this is progress. Now the Gateway process is actually listening on 18789, but it’s timing out when the CLI asks it for health. That usually means it’s stuck during startup.

Don’t use the cleanup hints yet. Next we need the logs.

Run one command at a time and paste the output:

tail -n 120 ~/.openclaw/logs/gateway.err.log

Then:

tail -n 120 ~/.openclaw/logs/gateway.log

If either says ā€œNo such fileā€, run this instead:

#
tail -n 120 /tmp/openclaw/openclaw-2026-04-28.log

The error log should tell us what it’s stuck on.

lofty crane
#

okay how do i copy and past then?

runic orioleBOT
#

On Mac Terminal:

  1. Click and drag over the text you want to copy.
  2. Press Cmd+C.
  3. Click back into Discord.
  4. Press Cmd+V.

If it’s a lot of log text, use triple backticks so Discord keeps formatting:

```
paste the terminal output here
```

Easier option: run this command, then copy only what appears after it:

#
tail -n 80 ~/.openclaw/logs/gateway.err.log

If dragging is annoying: click Terminal, press Cmd+A to select all visible text, then Cmd+C.

lofty crane
#

I ran these two but am unable to copy the reponse over. your moderator is blocking me. is there another way?
tail -n 120 ~/.openclaw/logs/gateway.err.log

tail -n 120 ~/.openclaw/logs/gateway.log

runic orioleBOT
#

Yep — if Discord is blocking raw log text, don’t fight it. Use a sanitized diagnostics zip instead.

Run this:

openclaw gateway diagnostics export --output ~/Desktop/openclaw-diagnostics.zip

Then drag openclaw-diagnostics.zip from your Desktop into this Discord thread as an attachment.

That export is designed for sharing: it redacts tokens/secrets and still includes the useful status/log info. Docs: https://docs.openclaw.ai/gateway/diagnostics

If Discord won’t allow the zip either, run this smaller filtered file:

grep -Ei "error|fatal|exception|failed|timeout|requires OpenClaw|uncaught|plugin" ~/.openclaw/logs/gateway.err.log ~/.openclaw/logs/gateway.log | tail -n 80 > ~/Desktop/openclaw-errors.txt
#

Then attach openclaw-errors.txt here.

lofty crane
#

it will not even allow for the second one??? why is this. I can add files in every other chat on discord

runic orioleBOT
#

That’s frustrating — likely this specific help/forum thread has Discord permissions or AutoMod blocking attachments/log-looking files. Not your fault.

We can skip files and just do the recovery path since we already saw the key issue: CLI 2026.4.26 but Gateway/plugin host looked like 2026.4.12.

In Terminal, run one command only:

openclaw gateway stop

Paste just the last 3–5 lines if you can. If it finishes and gives you the prompt back, I’ll give the next command.

lofty crane
#

šŸ¦ž OpenClaw 2026.4.26 (be8c246) — Powered by open source, sustained by spite and good documentation.

Warning: launchctl stop did not fully stop the service; used bootout fallback and left service unloaded
Stopped LaunchAgent (degraded): gui/501/ai.openclaw.gateway
.: not enough arguments

runic orioleBOT
#

That’s okay — the important part is:

Stopped LaunchAgent (degraded)

So the gateway is stopped/unloaded now. The .: not enough arguments is weird, but we can handle it after the reinstall.

Now run one single line:

curl -fsSL https://openclaw.ai/install.sh | bash -s -- --install-method npm --version latest --no-onboard

Wait until it fully finishes and gives you the normal prompt back, then paste the last few lines here.

lofty crane
#

how do we know this is right path if i cannot copy and paste here. you are not helping

runic orioleBOT
#

You’re right — this got clunky. I should’ve pivoted sooner.

We know this is the right path because your pasted output showed the key mismatch:

  • CLI: OpenClaw 2026.4.26
  • Gateway/plugin host error: this host is 2026.4.12
  • Error: WhatsApp plugin requires >=2026.4.25

So the fix is to make the installed package + LaunchAgent service point at the same current OpenClaw version. That’s why reinstalling/reinstalling the service is the right recovery path.

Do this without pasting logs. Just run:

curl -fsSL https://openclaw.ai/install.sh | bash -s -- --install-method npm --version latest --no-onboard
openclaw gateway install --force
openclaw gateway restart
#
openclaw gateway status --deep

Then only tell me one thing: does the final output say ā€œConnectivity probe: okā€ or ā€œfailed/timeoutā€?

lofty crane
#

just let me past these without saying anything until i say i am done okay>

runic orioleBOT
#

Okay — I’ll stay quiet until you say you’re done.

lofty crane
#

nevermind the server still blocked it

runic orioleBOT
#

Okay. Let’s avoid pasting logs entirely.

Please run these exactly, then just answer with OK or FAILED for the final check:

curl -fsSL https://openclaw.ai/install.sh | bash -s -- --install-method npm --version latest --no-onboard
openclaw gateway install --force
openclaw gateway restart
openclaw gateway status --deep

For the last command:

  • if you see Connectivity probe: ok → reply OK
  • if you see Connectivity probe: failed or timeout → reply FAILED

That’s enough to continue.

lofty crane
#

[51658:0x95680c000] 76822716 ms: Mark-Compact 2041.4 (2058.4) -> 2041.4 (2058.7) MB, pooled: 0.0 MB, 76.21 / 0.00 ms (average mu = 0.932, current mu = 0.111) allocation failure; scavenge might not succeed
[51658:0x95680c000] 76822798 ms: Mark-Compact 2043.2 (2060.2) -> 2043.0 (2060.2) MB, pooled: 0.0 MB, 79.74 / 0.00 ms (average mu = 0.869, current mu = 0.029) allocation failure; scavenge might not succeed

FATAL ERROR: Reached heap limit Allocation failed - JavaScript heap out of memory
----- Native stack trace -----

#

1: 0x1053727ec node::OOMErrorHandler(char const*, v8::OOMDetails const&) [/opt/homebrew/Cellar/node/25.8.2/lib/libnode.141.dylib]
2: 0x10568acf0 v8::Utils::ReportOOMFailure(v8::internal::Isolate*, char const*, v8::OOMDetails const&) [/opt/homebrew/Cellar/node/25.8.2/lib/libnode.141.dylib]
3: 0x10568aca8 v8::internal::V8::FatalProcessOutOfMemory(v8::internal::Isolate*, char const*, v8::OOMDetails const&) [/opt/homebrew/Cellar/node/25.8.2/lib/libnode.141.dylib]
4: 0x105836338 v8::internal::Heap::ShouldOptimizeForLoadTime() const [/opt/homebrew/Cellar/node/25.8.2/lib/libnode.141.dylib]
5: 0x1058359f4 v8::internal::Heap::EagerlyFreeExternalMemoryAndWasmCode() [/opt/homebrew/Cellar/node/25.8.2/lib/libnode.141.dylib]
6: 0x105834b88 v8::internal::Heap::CollectGarbage(v8::internal::AllocationSpace, v8::internal::GarbageCollectionReason, v8::GCCallbackFlags, v8::internal::PerformHeapLimitCheck) [/opt/homebrew/Cellar/node/25.8.2/lib/libnode.141.dylib]

#

7: 0x10582d0c8 std::__1::invoke_result<v8::internal::HeapAllocator::AllocateRawWithRetryOrFailSlowPath(int, v8::internal::AllocationType, v8::internal::AllocationOrigin, v8::internal::AllocationAlignment, v8::internal::AllocationHint)::$_0&>::type v8::internal::HeapAllocator::CollectGarbageAndRetryAllocation<v8::internal::HeapAllocator::AllocateRawWithRetryOrFailSlowPath(int, v8::internal::AllocationType, v8::internal::AllocationOrigin, v8::internal::AllocationAlignment, v8::internal::AllocationHint)::$_0&>(v8::internal::HeapAllocator::AllocateRawWithRetryOrFailSlowPath(int, v8::internal::AllocationType, v8::internal::AllocationOrigin, v8::internal::AllocationAlignment, v8::internal::AllocationHint)::$_0&, v8::internal::AllocationType) [/opt/homebrew/Cellar/node/25.8.2/lib/libnode.141.dylib]
8: 0x10582bf34 v8::internal::HeapAllocator::AllocateRawWithRetryOrFailSlowPath(int, v8::internal::AllocationType, v8::internal::AllocationOrigin, v8::internal::AllocationAlignment, v8::internal::AllocationHint) [/opt/homebrew/Cellar/node/25.8.2/lib/libnode.141.dylib]
9: 0x1058051e4 v8::internal::MaybeHandlev8::internal::SeqOneByteString v8::internal::FactoryBasev8::internal::Factory::NewRawStringWithMapv8::internal::SeqOneByteString(int, v8::internal::Taggedv8::internal::Map, v8::internal::AllocationType, v8::internal::AllocationHint) [/opt/homebrew/Cellar/node/25.8.2/lib/libnode.141.dylib]
10: 0x105917674 v8::internal::JsonParser<unsigned short>::MakeString(v8::internal::JsonString const&, v8::internal::Handlev8::internal::String) [/opt/homebrew/Cellar/node/25.8.2/lib/libnode.141.dylib]

#

11: 0x10591a0dc v8::internal::JsonParser<unsigned short>::ParseJsonObject(v8::internal::Handlev8::internal::Map) [/opt/homebrew/Cellar/node/25.8.2/lib/libnode.141.dylib]
12: 0x10591bdf0 v8::internal::JsonParser<unsigned short>::ParseJsonArray() [/opt/homebrew/Cellar/node/25.8.2/lib/libnode.141.dylib]
13: 0x105919e20 v8::internal::JsonParser<unsigned short>::ParseJsonObject(v8::internal::Handlev8::internal::Map) [/opt/homebrew/Cellar/node/25.8.2/lib/libnode.141.dylib]
14: 0x105919e74 v8::internal::JsonParser<unsigned short>::ParseJsonObject(v8::internal::Handlev8::internal::Map) [/opt/homebrew/Cellar/node/25.8.2/lib/libnode.141.dylib]
15: 0x105917458 v8::internal::JsonParser<unsigned short>::ParseJson(v8::internal::DirectHandlev8::internal::Object) [/opt/homebrew/Cellar/node/25.8.2/lib/libnode.141.dylib]
16: 0x105917240 v8::internal::JsonParser<unsigned short>::Parse(v8::internal::Isolate*, v8::internal::Handlev8::internal::String, v8::internal::Handlev8::internal::Object, std::__1::optionalv8::internal::ScriptDetails) [/opt/homebrew/Cellar/node/25.8.2/lib/libnode.141.dylib]
17: 0x1063b3988 v8::intern

#

17: 0x1063b3988 v8::internal::Builtin_JsonParse(int, unsigned long*, v8::internal::Isolate*) [/opt/homebrew/Cellar/node/25.8.2/lib/libnode.141.dylib]
18: 0x10518d654 Builtins_CEntry_Return1_ArgvOnStack_BuiltinExit [/opt/homebrew/Cellar/node/25.8.2/lib/libnode.141.dylib]
19: 0x127228310
20: 0x12720e688
21: 0x12720ed94
22: 0x1050e9a38 Builtins_JSConstructStubGeneric [/opt/homebrew/Cellar/node/25.8.2/lib/libnode.141.dylib]
23: 0x12720f12c
24: 0x12774ad84
25: 0x10512b644 Builtins_AsyncFunctionAwaitResolveClosure [/opt/homebrew/Cellar/node/25.8.2/lib/libnode.141.dylib]
26: 0x105202bd8 Builtins_PromiseFulfillReactionJob [/opt/homebrew/Cellar/node/25.8.2/lib/libnode.141.dylib]
27: 0x10511aa80 Builtins_RunMicrotasks [/opt/homebrew/Cellar/node/25.8.2/lib/libnode.141.dylib]
28: 0x1050ea850 Builtins_JSRunMicrotasksEntry [/opt/homebrew/Cellar/node/25.8.2/lib/libnode.141.dylib]
29: 0x1057a1270 v8::internal::(anonymous namespace)::Invoke(v8::internal::Isolate*, v8::internal::(anonymous namespace)::InvokeParams const&) [/opt/homebrew/Cellar/node/25.8.2/lib/libnode.141.dylib]
30: 0x1057a1920 v8::internal::(anonymous namespace)::InvokeWithTryCatch(v8::internal::Isolate*, v8::internal::(anonymous namespace)::InvokeParams const&) [/opt/homebrew/Cellar/node/25.8.2/lib/libnode.141.dylib]
31: 0x1057a1a10 v8::internal::Execution::TryRunMicrotasks(v8::internal::Isolate*, v8::internal::MicrotaskQueue*) [/opt/homebrew/Cellar/node/25.8.2/lib/libnode.141.dylib]32: 0x1057c2e04 v8::internal::MicrotaskQueue::RunMicrotasks(v8::internal::Isolate*) [/opt/homebrew/Cellar/node/25.8.2/lib/libnode.141.dylib]

#

32: 0x1057c2e04 v8::internal::MicrotaskQueue::RunMicrotasks(v8::internal::Isolate*) [/opt/homebrew/Cellar/node/25.8.2/lib/libnode.141.dylib]
33: 0x1057c2c20 v8::internal::MicrotaskQueue::PerformCheckpointInternal(v8::Isolate*) [/opt/homebrew/Cellar/node/25.8.2/lib/libnode.141.dylib]
34: 0x1052cbd78 node::InternalCallbackScope::Close() [/opt/homebrew/Cellar/node/25.8.2/lib/libnode.141.dylib]
35: 0x1052cbc08 node::InternalCallbackScope::~InternalCallbackScope() [/opt/homebrew/Cellar/node/25.8.2/lib/libnode.141.dylib]
36: 0x10630a6fc node::fs::FileHandle::CloseReq::Resolve() [/opt/homebrew/Cellar/node/25.8.2/lib/libnode.141.dylib]
37: 0x10631b1f4 node::fs::FileHandle::ClosePromise()::$_0::__invoke(uv_fs_s*) (.cold.2) [/opt/homebrew/Cellar/node/25.8.2/lib/libnode.141.dylib]
38: 0x10537be18 node::fs::FileHandle::ClosePromise()::$_0::__invoke(uv_fs_s*) [/opt/homebrew/Cellar/node/25.8.2/lib/libnode.141.dylib]
39: 0x10536c018 node::MakeLibuvRequestCallback<uv_fs_s, void ()(uv_fs_s)>::Wrapper(uv_fs_s*) [/opt/homebrew/Cellar/node/25.8.2/lib/libnode.141.dylib]
40: 0x100efee64 uv__work_done [/opt/homebrew/Cellar/libuv/1.52.1/lib/libuv.1.0.0.dylib]
41: 0x100f023cc uv__async_io [/opt/homebrew/Cellar/libuv/1.52.1/lib/libuv.1.0.0.dylib]
42: 0x100f111b0 uv__io_poll [/opt/homebrew/Cellar/libuv/1.52.1/lib/libuv.1.0.0.dylib]
43: 0x100f02b64 uv_run [/opt/homebrew/Cellar/libuv/1.52.1/lib/libuv.1.0.0.dylib]
44: 0x1052ccdfc node::SpinEventLoopInternal(node::Environment*) [/opt/homebrew/Cellar/node/25.8.2/lib/libnode.141.dylib]
45: 0x1053a0e64 node::NodeMainInstance::Run(node::ExitCode*, node::Environment*) [/opt/homebrew/Cellar/node/25.8.2/lib/libnode.141.dylib]
46: 0x1053a0b98 node::NodeMainInstance::Run() [/opt/homebrew/Cellar/node/25.8.2/lib/libnode.141.dylib]
47: 0x105344cd0 node::Start(int, char**) [/opt/homebrew/Cellar/node/25.8.2/lib/libnode.141.dylib]
48: 0x18714fda4 start [/usr/lib/dyld]

#

2026-04-24T12:48:22.215-04:00 [gateway] security warning: dangerous config flags enabled: gateway.controlUi.allowInsecureAuth=true. Run openclaw security audit.
2026-04-24T12:48:22.231-04:00 [gateway] removed stale session lock: /Users/calor/.openclaw/agents/designer/sessions/82fa21f0-51c7-46e2-af62-482e020e1cf5.jsonl.lock (dead-pid)
2026-04-24T12:48:28.821-04:00 [bonjour] watchdog detected non-announced service; attempting re-advertise (gateway fqdn=Calor’s iMac (OpenClaw)._openclaw-gw._tcp.local. host=openclaw.local. port=18789 state=probing)
2026-04-24T13:39:12.874-04:00 [agent/embedded] Profile anthropic:default timed out. Trying next account...
2026-04-24T13:39:12.878-04:00 [agent/embedded] embedded run failover decision: runId=e6209858-32e6-4e66-901d-28ab573d2c70 stage=assistant decision=fallback_model reason=timeout provider=anthropic/claude-sonnet-4-6 profile=sha256:154a23a3efe6
2026-04-24T13:39:12.882-04:00 [diagnostic] lane task error: lane=main durationMs=123751 error="FailoverError: LLM request timed out."
2026-04-24T13:39:12.884-04:00 [diagnostic] lane task error: lane=session:agent:designer:discord:channel:1488130762954772551 durationMs=123755 error="FailoverError: LLM request timed out."
2026-04-24T13:39:12.903-04:00 [model-fallback/decision] model fallback decision: decision=candidate_failed requested=anthropic/claude-sonnet-4-6 candidate=anthropic/claude-sonnet-4-6 reason=timeout next=anthropic/claude-opus-4-6 detail=LLM request timed out.
2026-04-24T13:40:04.191-04:00 [model-fallback/decision] model fallback decision: decision=candidate_succeeded requested=anthropic/claude-sonnet-

runic orioleBOT
#

This line is enough — thank you. The Gateway is crashing with Node out-of-memory:

FATAL ERROR: Reached heap limit Allocation failed - JavaScript heap out of memory

So don’t try to paste more logs. Run this recovery sequence:

openclaw gateway stop
curl -fsSL https://openclaw.ai/install.sh | bash -s -- --install-method npm --version latest --no-onboard
openclaw gateway install --force
openclaw gateway restart
openclaw gateway status --deep

Then only reply with one word:

#
  • OK if it says Connectivity probe: ok
  • FAILED if it says failed/timeout/OOM again

If it fails again, the next step is increasing the Gateway’s Node heap, but first let’s get you onto a clean current install/service.

lofty crane
#

48: 0x18714fda4 start [/usr/lib/dyld]
2026-04-24T12:48:22.215-04:00 [gateway] security warning: dangerous config flags enabled: gateway.controlUi.allowInsecureAuth=true. Run openclaw security audit.
2026-04-24T12:48:22.231-04:00 [gateway] removed stale session lock: /Users/calor/.openclaw/agents/designer/sessions/82fa21f0-51c7-46e2-af62-482e020e1cf5.jsonl.lock (dead-pid)
2026-04-24T12:48:28.821-04:00 [bonjour] watchdog detected non-announced service; attempting re-advertise (gateway fqdn=Calor’s iMac (OpenClaw)._openclaw-gw._tcp.local. host=openclaw.local. port=18789 state=probing)
2026-04-24T13:39:12.874-04:00 [agent/embedded] Profile anthropic:default timed out. Trying next account...
2026-04-24T13:39:12.878-04:00 [agent/embedded] embedded run failover decision: runId=e6209858-32e6-4e66-901d-28ab573d2c70 stage=assistant decision=fallback_model reason=timeout provider=anthropic/claude-sonnet-4-6 profile=sha256:154a23a3efe6
2026-04-24T13:39:12.882-04:00 [diagnostic] lane task error: lane=main durationMs=123751 error="FailoverError: LLM request timed out."
2026-04-24T13:39:12.884-04:00 [diagnostic] lane task error: lane=session:agent:designer:discord:channel:1488130762954772551 durationMs=123755 error="FailoverError: LLM request timed out."
2026-04-24T13:39:12.903-04:00 [model-fallback/decision] model fallback decision: decision=candidate_failed requested=anthropic/claude-sonnet-4-6 candidate=anthropic/claude-sonnet-4-6 reason=timeout next=anthropic/claude-opus-4-6 detail=LLM request timed out.
2026-04-24T13:40:04.191-04:00 [model-fallback/decision] model fallback decision: decision=candidate_succeeded requested=anthropic/claude-sonnet-4-6 candidate=anthropic/claude-opus-4-6 reason=unknown next=none
2026-04-24T18:32:09.251-04:00 [agent/embedded] embedded run failover decision: runId=518e9c69-4b8c-4519-8437-484f5267b15a stage=assistant decision=surface_error reason=timeout provider=anthropic/claude-opus-4-6 profile=sha256:154a23a3efe6

#

2026-04-24T18:32:13.537-04:00 [gateway] security warning: dangerous config flags enabled: gateway.controlUi.allowInsecureAuth=true. Run openclaw security audit.
2026-04-24T18:33:43.629-04:00 {"scope":"event-queue","level":"warn","type":"slow-listener","listener":"InteractionEventListener","eventType":"INTERACTION_CREATE","durationMs":9827,"lane":"critical"}
2026-04-25T14:34:01.947-04:00 {"scope":"event-queue","level":"warn","type":"slow-listener","listener":"InteractionEventListener","eventType":"INTERACTION_CREATE","durationMs":11119,"lane":"critical"}
2026-04-27T16:36:17.920-04:00 [tools] message failed: fetch failed raw_params={"action":"send","channel":"discord","accountId":"designer","to":"channel:1488130762954772551","message":"2ļøāƒ£ Porch:","media":"file:///Users/calor/.openclaw/workspace-designer/output/designer/dom-we-buy-houses/images/coconutcreek-porch.png"}
2026-04-27T18:30:30.960-04:00 {"scope":"event-queue","level":"warn","type":"slow-listener","listener":"InteractionEventListener","eventType":"INTERACTION_CREATE","durationMs":6254,"lane":"critical"}

#
  • plugins.entries.google-meet: plugin google-meet: plugin requires OpenClaw >=2026.4.20, but this host is 2026.4.12; skipping load
  • plugins.entries.whatsapp: plugin whatsapp: plugin requires OpenClaw >=2026.4.25, but this host is 2026.4.12; skipping load
    2026-04-28T12:53:15.336-04:00 [gateway] shutdown error: Error: Invalid config at /Users/calor/.openclaw/openclaw.json:
  • plugins.entries.feishu: plugin feishu: plugin requires OpenClaw >=2026.4.25, but this host is 2026.4.12; skipping load
  • plugins.entries.google-meet: plugin google-meet: plugin requires OpenClaw >=2026.4.20, but this host is 2026.4.12; skipping load
  • plugins.entries.whatsapp: plugin whatsapp: plugin requires OpenClaw >=2026.4.25, but this host is 2026.4.12; skipping load
    2026-04-28T13:35:13.481-04:00 [gateway] security warning: dangerous config flags enabled: gateway.controlUi.allowInsecureAuth=true. Run openclaw security audit.
    2026-04-28T13:36:08.727-04:00 [ws] closed before connect conn=172203ee-cfaa-4594-9313-5d87bd6a84cc peer=127.0.0.1:57820->127.0.0.1:18789 remote=127.0.0.1 fwd=n/a origin=n/a host=127.0.0.1:18789 ua=n/a code=1006 reason=n/a
    calor@Calors-iMac ~ % tail -n 120 ~/.openclaw/logs/gateway.log
#

2026-04-28T10:30:05.175-04:00 [discord] gateway: Gateway reconnect scheduled in 1001ms (close, resume=true)
2026-04-28T11:03:17.575-04:00 [agents/tool-images] Image resized to fit limits: 1254x946px 79.5KB -> 86.9KB (--9.3%)
2026-04-28T11:17:56.494-04:00 [discord] gateway: Gateway websocket closed: 1006
2026-04-28T11:17:56.498-04:00 [discord] gateway: Gateway reconnect scheduled in 896ms (close, resume=true)
2026-04-28T11:25:52.639-04:00 [discord] gateway: Gateway websocket closed: 1006
2026-04-28T11:25:52.643-04:00 [discord] gateway: Gateway reconnect scheduled in 887ms (close, resume=true)
2026-04-28T11:37:11.677-04:00 [health-monitor] [discord:default] health-monitor: restarting (reason: stale-socket)
2026-04-28T11:37:11.687-04:00 [health-monitor] [discord:recon] health-monitor: restarting (reason: stale-socket)
2026-04-28T11:37:11.691-04:00 [discord] [recon] delaying provider startup 30s to reduce Discord startup rate limits
2026-04-28T11:37:12.003-04:00 [discord] [default] Discord Message Content Intent is limited; bots under 100 servers can use it without verification.

#

2026-04-28T11:37:12.006-04:00 [discord] [default] starting provider (@Calor)
2026-04-28T11:37:12.841-04:00 [discord] channels resolved: 1487941702005030992/1488129215525294080 (guild:Calor's Marketing HQ; channel:calor-šŸŒ¶ļø), 1487941702005030992/1488131691137466442 (guild:Calor's Marketing HQ; channel:agent-discussion)
discord channels unresolved: 1487941702005030992/1489267530769109034 (guildId:1487941702005030992; channelId:1489267530769109034), 1487941702005030992/1489387137307508736 (guildId:1487941702005030992; channelId:1489387137307508736)
2026-04-28T11:37:12.843-04:00 [discord] users resolved: 1394306358345596970, 1488124735664558183, 1489021081070342335, 1489023885054709981, 1489024860347957421, 1489025824630767778 (+1)
2026-04-28T11:37:12.845-04:00 [discord] channel users resolved: 1394306358345596970, 1488124735664558183, 1489021081070342335, 1489023885054709981, 1489024860347957421, 1489025824630767778 (+1)
2026-04-28T11:37:13.769-04:00 [discord] client initialized as 1488124735664558183 (Calor); awaiting gateway readiness
2026-04-28T11:37:41.938-04:00 [discord] [recon] Discord Message Content Intent is limited; bots under 100 servers can use it without verification.

#

2026-04-28T11:37:41.939-04:00 [discord] [recon] starting provider (@Recon)
2026-04-28T11:37:42.961-04:00 [discord] channels resolved: 1487941702005030992/1488129321314029568 (guild:Calor's Marketing HQ; channel:recon-šŸ”), 1487941702005030992/1488131691137466442 (guild:Calor's Marketing HQ; channel:agent-discussion), 1487941702005030992/1488131419220869120 (guild:Calor's Marketing HQ; channel:reports)
discord channels unresolved: 1487941702005030992/1489267530769109034 (guildId:1487941702005030992; channelId:1489267530769109034), 1487941702005030992/1489387137307508736 (guildId:1487941702005030992; channelId:1489387137307508736)
2026-04-28T11:37:42.963-04:00 [discord] users resolved: 1394306358345596970, 1488124735664558183, 1489021081070342335, 1489023885054709981, 1489024860347957421, 1489025824630767778 (+1)
2026-04-28T11:37:42.966-04:00 [discord] channel users resolved: 1394306358345596970, 1488124735664558183, 1489021081070342335, 1489023885054709981, 1489024860347957421, 1489025824630767778 (+1)
2026-04-28T11:37:44.053-04:00 [discord] client initialized as 1489021081070342335 (Recon); awaiting gateway readiness
2026-04-28T11:52:11.674-04:00 [health-monitor] [discord:executioner] health-monitor: restarting (reason: stale-socket)
2026-04-28T11:52:11.679-04:00 [discord] [executioner] delaying provider startup 20s to reduce Discord startup rate limits
2026-04-28T11:52:32.064-04:00 [discord] [executioner] Discord Message Content Intent is limited; bots under 100 servers can use it without verification.

#

2026-04-28T11:52:32.066-04:00 [discord] [executioner] starting provider (@Executioner)
2026-04-28T11:52:32.956-04:00 [discord] channels resolved: 1487941702005030992/1488131092757090344 (guild:Calor's Marketing HQ; channel:executioner-šŸ”Ŗ), 1487941702005030992/1488131691137466442 (guild:Calor's Marketing HQ; channel:agent-discussion), 1487941702005030992/1488131419220869120 (guild:Calor's Marketing HQ; channel:reports)
discord channels unresolved: 1487941702005030992/1489267530769109034 (guildId:1487941702005030992; channelId:1489267530769109034), 1487941702005030992/1489387137307508736 (guildId:1487941702005030992; channelId:1489387137307508736)
2026-04-28T11:52:32.959-04:00 [discord] users resolved: 1394306358345596970, 1488124735664558183, 1489021081070342335, 1489023885054709981, 1489024860347957421, 1489025824630767778 (+1)
2026-04-28T11:52:32.961-04:00 [discord] channel users resolved: 1394306358345596970, 1488124735664558183, 1489021081070342335, 1489023885054709981, 1489024860347957421, 1489025824630767778 (+1)
2026-04-28T11:52:35.505-04:00 [discord] client initialized as 1489025824630767778 (Executioner); awaiting gateway readiness
2026-04-28T11:57:11.671-04:00 [health-monitor] [discord:designer] health-monitor: restarting (reason: stale-socket)
2026-04-28T11:57:11.676-04:00 [discord] [designer] delaying provider startup 10s to reduce Discord startup rate limits
2026-04-28T11:57:22.072-04:00 [discord] [designer] Discord Message Content Intent is limited; bots under 100 servers can use it without verification.

#

2026-04-28T11:57:22.073-04:00 [discord] [designer] starting provider (@Designer)
2026-04-28T11:57:22.909-04:00 [discord] channels resolved: 1487941702005030992/1488130762954772551 (guild:Calor's Marketing HQ; channel:designer-šŸŽØ), 1487941702005030992/1488131691137466442 (guild:Calor's Marketing HQ; channel:agent-discussion), 1487941702005030992/1488131419220869120 (guild:Calor's Marketing HQ; channel:reports)
discord channels unresolved: 1487941702005030992/1489267530769109034 (guildId:1487941702005030992; channelId:1489267530769109034), 1487941702005030992/1489387137307508736 (guildId:1487941702005030992; channelId:1489387137307508736)
2026-04-28T11:57:22.911-04:00 [discord] users resolved: 1394306358345596970, 1488124735664558183, 1489021081070342335, 1489023885054709981, 1489024860347957421, 1489025824630767778 (+1)
2026-04-28T11:57:22.913-04:00 [discord] channel users resolved: 1394306358345596970, 1488124735664558183, 1489021081070342335, 1489023885054709981, 1489024860347957421, 1489025824630767778 (+1)
2026-04-28T11:57:23.972-04:00 [discord] client initialized as 1489024860347957421 (Designer); awaiting gateway readiness
2026-04-28T12:12:11.633-04:00 [health-monitor] [discord:default] health-monitor: restarting (reason: stale-socket)
2026-04-28T12:12:11.643-04:00 [health-monitor] [discord:recon] health-monitor: restarting (reason: stale-socket)
2026-04-28T12:12:11.647-04:00 [discord] [recon] delaying provider startup 30s to reduce Discord startup rate limits
2026-04-28T12:12:11.890-04:00 [discord] [default] Discord Message Content Intent is limited; bots under 100 servers can use it without verification.

#

2026-04-28T12:12:11.892-04:00 [discord] [default] starting provider (@Calor)
2026-04-28T12:12:12.921-04:00 [discord] channels resolved: 1487941702005030992/1488129215525294080 (guild:Calor's Marketing HQ; channel:calor-šŸŒ¶ļø), 1487941702005030992/1488131691137466442 (guild:Calor's Marketing HQ; channel:agent-discussion)
discord channels unresolved: 1487941702005030992/1489267530769109034 (guildId:1487941702005030992; channelId:1489267530769109034), 1487941702005030992/1489387137307508736 (guildId:1487941702005030992; channelId:1489387137307508736)
2026-04-28T12:12:12.923-04:00 [discord] users resolved: 1394306358345596970, 1488124735664558183, 1489021081070342335, 1489023885054709981, 1489024860347957421, 1489025824630767778 (+1)
2026-04-28T12:12:12.926-04:00 [discord] channel users resolved: 1394306358345596970, 1488124735664558183, 1489021081070342335, 1489023885054709981, 1489024860347957421, 1489025824630767778 (+1)
2026-04-28T12:12:13.865-04:00 [discord] client initialized as 1488124735664558183 (Calor); awaiting gateway readiness
2026-04-28T12:12:41.883-04:00 [discord] [recon] Discord Message Content Intent is limited; bots under 100 servers can use it without verification.
2026-04-28T12:12:41.886-04:00 [discord] [recon] starting provider (@Recon)
2026-04-28T12:12:42.955-04:00 [discord] channels resolved: 1487941702005030992/1488129321314029568 (guild:Calor's Marketing HQ; channel:recon-šŸ”), 1487941702005030992/1488131691137466442 (guild:Calor's Marketing HQ; channel:agent-discussion), 1487941702005030992/1488131419220869120 (guild:Calor's Marketing HQ; channel:reports)

#

discord channels unresolved: 1487941702005030992/1489267530769109034 (guildId:1487941702005030992; channelId:1489267530769109034), 1487941702005030992/1489387137307508736 (guildId:1487941702005030992; channelId:1489387137307508736)
2026-04-28T12:12:42.958-04:00 [discord] users resolved: 1394306358345596970, 1488124735664558183, 1489021081070342335, 1489023885054709981, 1489024860347957421, 1489025824630767778 (+1)
2026-04-28T12:12:42.961-04:00 [discord] channel users resolved: 1394306358345596970, 1488124735664558183, 1489021081070342335, 1489023885054709981, 1489024860347957421, 1489025824630767778 (+1)
2026-04-28T12:12:43.964-04:00 [discord] client initialized as 1489021081070342335 (Recon); awaiting gateway readiness
2026-04-28T12:27:11.602-04:00 [health-monitor] [discord:executioner] health-monitor: restarting (reason: stale-socket)
2026-04-28T12:27:11.607-04:00 [discord] [executioner] delaying provider startup 20s to reduce Discord startup rate limits
2026-04-28T12:27:31.839-04:00 [discord] [executioner] Discord Message Content Intent is limited; bots under 100 servers can use it without verification.
2026-04-28T12:27:31.842-04:00 [discord] [executioner] starting provider (@Executioner)
2026-04-28T12:27:32.878-04:00 [discord] channels resolved: 1487941702005030992/1488131092757090344 (guild:Calor's Marketing HQ; channel:executioner-šŸ”Ŗ), 1487941702005030992/1488131691137466442 (guild:Calor's Marketing HQ; channel:agent-discussion), 1487941702005030992/1488131419220869120 (guild:Calor's Marketing HQ; channel:reports)

#

discord channels unresolved: 1487941702005030992/1489267530769109034 (guildId:1487941702005030992; channelId:1489267530769109034), 1487941702005030992/1489387137307508736 (guildId:1487941702005030992; channelId:1489387137307508736)
2026-04-28T12:27:32.881-04:00 [discord] users resolved: 1394306358345596970, 1488124735664558183, 1489021081070342335, 1489023885054709981, 1489024860347957421, 1489025824630767778 (+1)
2026-04-28T12:27:32.884-04:00 [discord] channel users resolved: 1394306358345596970, 1488124735664558183, 1489021081070342335, 1489023885054709981, 1489024860347957421, 1489025824630767778 (+1)
2026-04-28T12:27:33.913-04:00 [discord] client initialized as 1489025824630767778 (Executioner); awaiting gateway readiness
2026-04-28T12:32:11.566-04:00 [health-monitor] [discord:designer] health-monitor: restarting (reason: stale-socket)
2026-04-28T12:32:11.570-04:00 [discord] [designer] delaying provider startup 10s to reduce Discord startup rate limits
2026-04-28T12:32:21.810-04:00 [discord] [designer] Discord Message Content Intent is limited; bots under 100 servers can use it without verification.
2026-04-28T12:32:21.816-04:00 [discord] [designer] starting provider (@Designer)
2026-04-28T12:32:22.724-04:00 [discord] channels resolved: 1487941702005030992/1488130762954772551 (guild:Calor's Marketing HQ; channel:designer-šŸŽØ), 1487941702005030992/1488131691137466442 (guild:Calor's Marketing HQ; channel:agent-discussion), 1487941702005030992/1488131419220869120 (guild:Calor's Marketing HQ; channel:reports)

#

discord channels unresolved: 1487941702005030992/1489267530769109034 (guildId:1487941702005030992; channelId:1489267530769109034), 1487941702005030992/1489387137307508736 (guildId:1487941702005030992; channelId:1489387137307508736)
2026-04-28T12:32:22.727-04:00 [discord] users resolved: 1394306358345596970, 1488124735664558183, 1489021081070342335, 1489023885054709981, 1489024860347957421, 1489025824630767778 (+1)
2026-04-28T12:32:22.730-04:00 [discord] channel users resolved: 1394306358345596970, 1488124735664558183, 1489021081070342335, 1489023885054709981, 1489024860347957421, 1489025824630767778 (+1)
2026-04-28T12:32:24.024-04:00 [discord] client initialized as 1489024860347957421 (Designer); awaiting gateway readiness
2026-04-28T12:53:14.961-04:00 [gateway] signal SIGTERM received
2026-04-28T12:53:14.963-04:00 [gateway] received SIGTERM; shutting down
2026-04-28T12:53:16.469-04:00 [gateway] loading configuration…
2026-04-28T12:53:16.515-04:00 [gateway] resolving authentication…
2026-04-28T12:53:16.516-04:00 [gateway] starting...
2026-04-28T12:53:17.610-04:00 [gateway] [plugins] staging bundled runtime deps before gateway startup (13 missing, 13 install specs): @buape/carbon@0.16.0, @discordjs/voice@^0.19.2, @modelcontextprotocol/sdk@1.29.0, commander@^14.0.3, discord-api-types@^0.38.47, express@5.2.1, https-proxy-agent@^9.0.0, opusscript@^0.1.1, playwright-core@1.59.1, tslog@^4.10.2, typebox@1.1.33, undici@8.1.0, ws@^8.20.0
2026-04-28T13:35:07.455-04:00 [gateway] loading configuration…
2026-04-28T13:35:07.500-04:00 [gateway] resolving authentication…

#

2026-04-28T13:35:07.501-04:00 [gateway] starting...
2026-04-28T13:35:08.117-04:00 [gateway] signal SIGTERM received
2026-04-28T13:35:08.128-04:00 [gateway] received SIGTERM; restarting
2026-04-28T13:35:08.140-04:00 [gateway] restart mode: full process restart (supervisor restart)
2026-04-28T13:35:10.159-04:00 [gateway] starting HTTP server...
2026-04-28T13:35:11.317-04:00 [gateway] loading configuration…
2026-04-28T13:35:11.355-04:00 [gateway] resolving authentication…
2026-04-28T13:35:11.356-04:00 [gateway] starting...
2026-04-28T13:35:13.371-04:00 [gateway] starting HTTP server...
2026-04-28T13:35:13.379-04:00 [canvas] host mounted at http://127.0.0.1:18789/__openclaw__/canvas/ (root /Users/calor/.openclaw/canvas)
2026-04-28T13:35:13.409-04:00 [health-monitor] started (interval: 300s, startup-grace: 60s, channel-connect-grace: 120s)
2026-04-28T13:35:13.476-04:00 [gateway] agent model: anthropic/claude-sonnet-4-6
2026-04-28T13:35:13.477-04:00 [gateway] http server listening (2 plugins: browser, discord; 2.1s)
2026-04-28T13:35:13.477-04:00 [gateway] log file: /tmp/openclaw/openclaw-2026-04-28.log

runic orioleBOT
#

Yep — stop there. That confirms it: the Gateway is crashing from Node heap OOM. We don’t need more logs.

Run this whole block in Terminal:

mkdir -p ~/.openclaw
cat > ~/.openclaw/openclaw-gateway-wrapper.sh <<'EOF'
#!/bin/sh
export NODE_OPTIONS="--max-old-space-size=4096 ${NODE_OPTIONS:-}"
exec /opt/homebrew/bin/openclaw "$@"
EOF
chmod +x ~/.openclaw/openclaw-gateway-wrapper.sh

openclaw gateway install --force --wrapper ~/.openclaw/openclaw-gateway-wrapper.sh
openclaw gateway restart
openclaw gateway status --deep
#

Then just tell me whether the last command says:

  • Connectivity probe: ok
  • or failed/timeout/OOM

This only changes the OpenClaw gateway launcher to give Node 4GB heap; it doesn’t wipe your config/chats.

#

Got it — same OOM stack. Don’t paste more of it.

Use the wrapper block I sent above, then report only ok / failed. If you already ran it and it still OOM’d, say failed.

#

Stop pasting the stack trace — I believe you. It’s the same crash.

Please do only this now:

mkdir -p ~/.openclaw
cat > ~/.openclaw/openclaw-gateway-wrapper.sh <<'EOF'
#!/bin/sh
export NODE_OPTIONS="--max-old-space-size=4096 ${NODE_OPTIONS:-}"
exec /opt/homebrew/bin/openclaw "$@"
EOF
chmod +x ~/.openclaw/openclaw-gateway-wrapper.sh

openclaw gateway install --force --wrapper ~/.openclaw/openclaw-gateway-wrapper.sh
openclaw gateway restart
openclaw gateway status --deep
#

Then reply with just:

OK or FAILED

No logs. No stack trace. Just the result.

lofty crane
#

2026-04-28T13:35:13.482-04:00 [gateway] starting channels and sidecars...
2026-04-28T13:35:14.747-04:00 [hooks] loaded 4 internal hook handlers
2026-04-28T13:36:08.401-04:00 [discord] [designer] delaying provider startup 10s to reduce Discord startup rate limits
2026-04-28T13:36:08.402-04:00 [discord] [executioner] delaying provider startup 20s to reduce Discord startup rate limits
2026-04-28T13:36:08.403-04:00 [discord] [recon] delaying provider startup 30s to reduce Discord startup rate limits
2026-04-28T13:36:08.693-04:00 [browser/server] Browser control listening on http://127.0.0.1:18791/ (auth=token)
2026-04-28T13:36:08.706-04:00 [gateway] ready
2026-04-28T13:36:08.709-04:00 [heartbeat] started
2026-04-28T13:36:29.729-04:00 [discord] [default] starting provider
2026-04-28T13:36:37.817-04:00 [cron:54d0f59d-93f5-4fe6-ac53-c3406cd3de9a] Thinking level "adaptive" is not supported for anthropic/claude-sonnet-4-6; downgrading to "medium".
2026-04-28T13:36:37.897-04:00 [discord] [designer] starting provider

#

2026-04-28T13:36:37.897-04:00 [discord] [designer] starting provider
2026-04-28T13:36:37.898-04:00 [discord] [executioner] starting provider
2026-04-28T13:36:38.105-04:00 [plugins] acpx staging bundled runtime deps (1 missing, 28 install specs): acpx@0.6.1
2026-04-28T13:36:40.520-04:00 [plugins] acpx installed bundled runtime deps in 2415ms: acpx@0.6.1
2026-04-28T13:36:43.446-04:00 [plugins] bonjour staging bundled runtime deps (1 missing, 29 install specs): @homebridge/ciao@^1.3.6
2026-04-28T13:36:44.774-04:00 [plugins] bonjour installed bundled runtime deps in 1327ms: @homebridge/ciao@^1.3.6
2026-04-28T13:36:49.104-04:00 [plugins] document-extract staging bundled runtime deps (1 missing, 30 install specs): pdfjs-dist@^5.6.205
2026-04-28T13:36:50.820-04:00 [plugins] document-extract installed bundled runtime deps in 1716ms: pdfjs-dist@^5.6.205
2026-04-28T13:36:55.616-04:00 [plugins] microsoft staging bundled runtime deps (1 missing, 31 install specs): node-edge-tts@^1.2.10
2026-04-28T13:36:57.647-04:00 [plugins] microsoft installed bundled runtime deps in 2030ms: node-edge-tts@^1.2.10
2026-04-28T13:37:10.466-04:00 [plugins] web-readability staging bundled runtime deps (2 missing, 36 install specs): @mozilla/readability@^0.6.0, linkedom@^0.18.12
2026-04-28T13:37:12.113-04:00 [plugins] web-readability installed bundled runtime deps in 1648ms: @mozilla/readability@^0.6.0, linkedom@^0.18.12
calor@Calors-iMac ~ % `text

runic orioleBOT
#

Those are old logs from April 24, not the current crash. We already have the current issue: Node OOM.

Please run the wrapper fix and don’t paste logs unless it says FAILED after that.

#

Now we’re back to the real install mismatch:

host is 2026.4.12

So the service is still launching an old OpenClaw runtime, even though your CLI says 2026.4.26.

Run this:

openclaw gateway stop
curl -fsSL https://openclaw.ai/install.sh | bash -s -- --install-method npm --version latest --no-onboard
openclaw --version
openclaw gateway install --force
openclaw gateway restart
#
openclaw gateway status --deep

For the last output, just tell me:

  • does it still say host is 2026.4.12?
  • and does it say Connectivity probe: ok or failed?
#

Those lines show it was running earlier today, but they don’t answer the current state.

Please stop pasting logs now and run the recovery commands I just sent. Then answer only:

host still 2026.4.12? yes/no
connectivity ok? yes/no

That’s all I need.

#

That line matters:

staging bundled runtime deps before gateway startup (13 missing...)

So startup is choking while installing/staging plugin runtime deps, and earlier it hit OOM.

Please run this instead of more log tailing:

openclaw gateway stop
openclaw doctor --repair
openclaw gateway install --force
openclaw gateway restart
openclaw gateway status --deep
#

Then answer only:

connectivity ok? yes/no
host 2026.4.12? yes/no
OOM? yes/no

If doctor --repair OOMs, run the 4GB wrapper block I sent first, then rerun doctor --repair.

#

That actually looks like it did boot successfully:

http server listening

Please run just this:

openclaw gateway status --deep

Then don’t paste the full output — just tell me whether it says:

Connectivity probe: ok
#

yes or no.

#

That’s good news — it says:

[gateway] ready
[heartbeat] started

So OpenClaw is booted again.

Final check:

openclaw gateway status --deep

If it says Connectivity probe: ok, you’re back up. If your bot still doesn’t reply after that, the next issue is likely Discord channel/account routing, not boot.

#

Yep, still good — those are dependency installs completing, not crashes.

At the Terminal prompt, type this exactly:

openclaw gateway status --deep

If you accidentally see quote> again because of that stray backtick, press Control+C first, then run the command.

lofty crane
#

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

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

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

Runtime: running (pid 32653, state active)
Connectivity probe: ok
Capability: admin-capable

Listening: 127.0.0.1:18789

runic orioleBOT
#

Great — that’s fixed. šŸŽ‰

You’re back up:

Connectivity probe: ok
Capability: admin-capable
Listening: 127.0.0.1:18789

If your Discord bot still doesn’t answer, give it ~1–2 minutes for the Discord accounts to reconnect, then test with a simple message. If that fails, run:

openclaw channels status --probe

But the Gateway boot issue itself is resolved.

lofty crane
#

Other gateway-like services detected (best effort):

  • ai.openclaw.caffeinate (user, plist: /Users/calor/Library/LaunchAgents/ai.openclaw.caffeinate.plist)
    Cleanup hint: launchctl bootout gui/$UID/ai.openclaw.gateway
    Cleanup hint: rm ~/Library/LaunchAgents/ai.openclaw.gateway.plist

Recommendation: run a single gateway per machine for most setups. One gateway supports multiple agents (see docs: /gateway#multiple-gateways-same-host).
If you need multiple gateways (e.g., a rescue bot on the same host), isolate ports + config/state (see docs: /gateway#multiple-gateways-same-host).

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

runic orioleBOT
#

That warning is okay for now. Do not run those cleanup hints — they would remove the working gateway service.

ai.openclaw.caffeinate is just being detected as ā€œgateway-likeā€ by the scan, but your actual Gateway is healthy:

Connectivity probe: ok

So leave it alone unless you intentionally want to audit old LaunchAgents later.

lofty crane
#

no response from discord yet. how long do i wait and what should i do to fix this

runic orioleBOT
#

Wait about 2–3 minutes after gateway ready. Your logs showed Discord accounts delaying startup by 10/20/30s to avoid rate limits, so a short delay is normal.

If it’s still not replying, run:

openclaw channels status --probe

You don’t need to paste the whole thing. Just tell me what the Discord rows say:

  • works / audit ok / connected
  • or failed
  • or pairing
  • or blocked
  • or mention required

Also test in the simplest place first: DM the bot ā€œhiā€. If you’re testing in a server channel, try mentioning the bot by name in the message, because group channels may require mention-gating.

lofty crane
#

okay we are back. thank you

runic orioleBOT
#

Hell yeah — glad it’s back. šŸŽ‰

If this fixed it, please right-click the solution message → Apps → āœ… Mark Solution so Answer Overflow can index it for the next person who hits this update/service mismatch.