#OpenClaw not Responding to messages.

1 messages · Page 1 of 1 (latest)

twin urchin
#

I set everything up using openrouter on claude-sonnet-4.6 and whenever i send a message it loads 3 dots for a few seconds then it doesnt respond. it stops loading and quits the message and all thats visible in the chat is the message i sent. Openclaw does not return or send a message. I'm assuming it's tried to inititate a response however it gets into a time loop or the UI is triggered and its unable to respond. wanted to know the fix to this so it respond to my messages,

vivid anchorBOT
knotty oxideBOT
#

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

vivid anchorBOT
umbral kernelBOT
#

The 3 dots are actually a useful clue, it usually means Discord received the typing event, then the run failed before OpenClaw could send the final reply.

First thing, what does this show?

openclaw --version

Then run these and paste the output:

openclaw status --all
openclaw models status
openclaw channels status --probe

And in another terminal:

#
openclaw logs --follow

Then send one test message and grab the first error from the logs.

A few very common causes for exactly this on Discord:

  1. Guild/channel is blocked
    If you only set DISCORD_BOT_TOKEN and no channels.discord block, Discord falls back to groupPolicy: "allowlist", so guild messages can get blocked unless explicitly allowed.

  2. Mention gating
    In guild channels, Discord replies are mention-gated by default. If requireMention is on, you need to mention the bot, or set it false for that guild/channel.

  3. Discord intents
    Make sure Message Content Intent is enabled for the bot, then restart OpenClaw.

#
  1. Model/auth issue
    For OpenRouter, make sure the model ref is exact, usually:
    openrouter/anthropic/claude-sonnet-4-6
    and that the running gateway actually has OPENROUTER_API_KEY available.

Docs:

If you paste openclaw --version plus the status --all / channels status --probe output, I can narrow it down pretty fast.

twin urchin
#

im not talking about discord. i mean the real official openclaw control dashboard from powershell after setup and install that you copy and paste into a tab such as chrome and run

umbral kernelBOT
#

Ah, got it, you mean the Control UI in the browser, not Discord.

In that case, the fastest triage is:

openclaw --version
openclaw gateway restart
openclaw status
openclaw models status
openclaw logs --follow

Then send one test message in the Control UI and watch the log.

Two really useful clues:

  • If tokens stay at 0, the agent never actually ran.
#
  • If tokens increase, the model call started and the failure is later in the pipeline.

Also do this once, because stale dashboard auth/session state can bite:

openclaw dashboard

That reopens the correct Control UI URL. If it asks for auth, paste the gateway token/password again in Overview → Gateway Access.

If it still hangs, run:

openclaw doctor
openclaw status --all
#

Most likely causes here are:

  1. Gateway/auth mismatch or stale dashboard session
  2. OpenRouter/model auth problem
  3. Gateway is up, but the agent run is failing immediately

If you paste these 3 outputs, I can usually pinpoint it pretty fast:

openclaw --version
openclaw status --all
openclaw models status

Docs:

twin urchin
#

PS C:\Users\y22x0> openclaw --version
openclaw : File C:\Users\y22x0\AppData\Roaming\npm\openclaw.ps1 cannot be loaded because running scripts is disabled
on this system. For more information, see about_Execution_Policies at https:/go.microsoft.com/fwlink/?LinkID=135170.
At line:1 char:1

  • openclaw --version
  •   + CategoryInfo          : SecurityError: (:) [], PSSecurityException
      + FullyQualifiedErrorId : UnauthorizedAccess
    

PS C:\Users\y22x0> openclaw gateway restart
openclaw : File C:\Users\y22x0\AppData\Roaming\npm\openclaw.ps1 cannot be loaded because running scripts is disabled
on this system. For more information, see about_Execution_Policies at https:/go.microsoft.com/fwlink/?LinkID=135170.
At line:1 char:1

  • openclaw gateway restart
  •   + CategoryInfo          : SecurityError: (:) [], PSSecurityException
      + FullyQualifiedErrorId : UnauthorizedAccess
    

PS C:\Users\y22x0> openclaw status
openclaw : File C:\Users\y22x0\AppData\Roaming\npm\openclaw.ps1 cannot be loaded because running scripts is disabled
on this system. For more information, see about_Execution_Policies at https:/go.microsoft.com/fwlink/?LinkID=135170.
At line:1 char:1

  • openclaw status
  •   + CategoryInfo          : SecurityError: (:) [], PSSecurityException
      + FullyQualifiedErrorId : UnauthorizedAccess
    

PS C:\Users\y22x0> openclaw models status
openclaw : File C:\Users\y22x0\AppData\Roaming\npm\openclaw.ps1 cannot be loaded because running scripts is disabled
on this system. For more information, see about_Execution_Policies at https:/go.microsoft.com/fwlink/?LinkID=135170.
At line:1 char:1

  • openclaw models status
  •   + CategoryInfo          : SecurityError: (:) [], PSSecurityException
      + FullyQualifiedErrorId : UnauthorizedAccess
    
    
    
    

I get an error for every command I type

umbral kernelBOT
#

Yep, that explains it.

This is not an OpenRouter bug yet, PowerShell is blocking the openclaw.ps1 launcher before OpenClaw even starts.

Least invasive fix, call the Windows cmd shim explicitly:

openclaw.cmd --version
openclaw.cmd status --all
openclaw.cmd models status
openclaw.cmd logs --follow

If openclaw.cmd is not on PATH, use the full path:

#
& "$env:APPDATA\npm\openclaw.cmd" --version
& "$env:APPDATA\npm\openclaw.cmd" status --all
& "$env:APPDATA\npm\openclaw.cmd" models status

You can also just open Command Prompt (cmd.exe) instead of PowerShell and run openclaw ... there.

If you want a PowerShell-only workaround for just the current window, this is the temporary version:

Set-ExecutionPolicy -Scope Process Bypass

Then retry:

#
openclaw --version
openclaw status --all
openclaw models status

Once one of those works, paste the output here. Right now the blocker is Windows execution policy, not the dashboard chat itself.

twin urchin
#

I'm going to seperate everything the commands i put it into seperate messages:

C:\Users\y22x0>openclaw --version
OpenClaw 2026.4.15 (041266a)

C:\Users\y22x0>openclaw status --all

🦞 OpenClaw 2026.4.15 (041266a) — Shell yeah—I'm here to pinch the toil and leave you the glory.

|
OpenClaw status --all

Overview

| Item | Value
| Version | 2026.4.15
| OS | windows 10.0.26100 (x64)
| Node | 24.15.0
| Config | ~.openclaw\openclaw.json
| Dashboard | http://127.0.0.1:18789/
| Tailscale | off
| Channel | stable (default)
| Update | pnpm · up to date · npm latest 2026.4.15
| Gateway | local · ws://127.0.0.1:18789 (local loopback) · unreachable (timeout) |
| Security | Run: openclaw security audit --deep |
| Gateway self | unknown |
| Gateway service | Scheduled Task installed · registered · running (pid 5316, Startup-folder login item installed; |
| | listener detected on port 18789.) |
| Node service | Scheduled Task not installed |
| Agents | 1 total · 1 bootstrapping · 0 active · 1 sessions |
| Secrets | none |

Channels

| Channel | Enabled | State | Detail |

| Telegram | ON | OK | token config (sha256:418bd425 · len 46) · accounts 1/1 |

#

Telegram accounts
+----------+----------+------------------------------------------------------------------------------------------------+
| Account | Status | Notes |
+----------+----------+------------------------------------------------------------------------------------------------+
| default | OK | token:config · allow:8705116117 |
+----------+----------+------------------------------------------------------------------------------------------------+

Agents
+------------+----------------+----------+----------+------------------------------------------------------------------+
| Agent | Bootstrap file | Sessions | Active | Store |
+------------+----------------+----------+----------+------------------------------------------------------------------+
| main | PRESENT | 1 | 15m ago | ~.openclaw\agents\main\sessions\sessions.json |
+------------+----------------+----------+----------+------------------------------------------------------------------+

Diagnosis (read-only)

Gateway connection details:
Gateway target: ws://127.0.0.1:18789
Source: local loopback
Config: C:\Users\y22x0.openclaw\openclaw.json
Bind: loopback

✓ Config: C:\Users\y22x0.openclaw\openclaw.json
✓ Secret diagnostics (0)
✓ Restart sentinel: none
! Port 18789
Port 18789 is already in use.

  • pid 5316: node.exe (127.0.0.1:18789)
  • Another process is listening on this port.
    ! Tailscale: off · unknown
    ✓ Skills: 6 eligible · 0 missing · C:\Users\y22x0.openclaw\workspace
    ✓ Plugin compatibility (none)
    ! Channel issues skipped (gateway unreachable)

Gateway health:
timeout

Pasteable debug report. Auth tokens redacted.
Troubleshooting: https://docs.openclaw.ai/troubleshooting

o

flint pasture
#

Hope ypu make it throiugh this i have the exact same issue. wiped mu mack like 5 time now. Finally reverting to loweer version where it last worked

umbral kernelBOT
#

Nice, this already shows the real problem.

The smoking gun is:

Gateway ... unreachable (timeout)

So the Scheduled Task is alive, but the gateway RPC is not actually responding. In other words, “running” here only means Windows launched it, not that OpenClaw is healthy.

Also notable:

Agents: 1 total · 1 bootstrapping

So your only agent is still stuck in bootstrapping too.

#

Next 3 commands:

openclaw gateway status
openclaw doctor
openclaw logs --follow

Then, while openclaw logs --follow is open, send one message in the Control UI and paste the first error that appears.

Also, if openclaw status --all has a Recent logs section farther down, paste that too. That section is usually the fastest clue.

One quick question: did OpenClaw ever successfully do the first-run bootstrap ritual, or has it been stuck like this from the beginning?

Docs:

#

This confirms it pretty well.

You have two separate issues:

  1. Gateway process is bound to port 18789, but not answering RPC

    • Port 18789 is already in use
    • Gateway health: timeout
  2. Bootstrap never finished

    • Bootstrap file: PRESENT

So the next move is not OpenRouter config yet, it’s getting the gateway healthy first.

Run these in order:

#
openclaw gateway stop
openclaw gateway start
openclaw gateway status

Then paste just these lines from openclaw gateway status:

  • Runtime:
  • RPC probe:
  • Probe target:
  • Listening:
  • Last gateway error:

Also run this and keep it open while you send one test message in the Control UI:

#

Oof, please don’t wipe the Mac again 😅 that almost certainly isn’t the real fix.

What we’re seeing here looks more like a gateway/bootstrap/session-state problem than “machine is cursed.”

If you’ve got the same issue, post these:

openclaw --version
openclaw status --all
openclaw gateway status

The especially useful bits are:

  • RPC probe
  • Last gateway error
  • whether the agent shows bootstrapping
#
  • the last version that worked and the first version that broke

If downgrading fixes it, that’s actually super useful signal. Please share the exact good/bad versions.

twin urchin
umbral kernelBOT
#

Not yet, we’ve only narrowed it down so far.

Right now your setup is still showing:

  • gateway RPC timeout
  • bootstrap file still present

So the agent is not healthy yet.

The next thing I need from you is:

openclaw gateway status

and then:

#
openclaw logs --follow

Send one test message in the Control UI while logs are open, then paste the first error that appears. That should tell us exactly what is stuck.

twin urchin
#

C:\Users\y22x0>openclaw gateway status

🦞 OpenClaw 2026.4.15 (041266a) — I'll butter your workflow like a lobster roll: messy, delicious, effective.

|
• Checking gateway status...penclaw doctor
o
Service: Scheduled Task (registered)
File logs: ~\AppData\Local\Temp\openclaw\openclaw-2026-04-19.log
Command: C:\Program Files\nodejs\node.exe C:\Users\y22x0\AppData\Roaming\npm\node_modules\openclaw\dist\index.js gateway --port 18789
Service file: ~.openclaw\gateway.cmd
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 5316, Startup-folder login item installed; listener detected on port 18789.)
RPC probe: ok

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

umbral kernelBOT
#

Nice, that’s progress.

The important line is:

RPC probe: ok

So the gateway is healthy now. We’re past the “dead service” part.

That means the remaining issue is probably one of these:

  1. bootstrap is still pending
  2. model/auth is failing
  3. the UI session got into a bad state

Next, run these:

#
openclaw models status
openclaw logs --follow

Keep openclaw logs --follow open, send one message in the Control UI, then paste the first error it prints.

Also, one question: did OpenClaw ever ask you the first-run bootstrap questions, or has it just been silent the whole time?

If you can, also refresh by reopening the UI from:

openclaw dashboard

We’re definitely closer now.

flint pasture
#

Dude this is a big I have been stuck/down for 4 days now. In the middle right now of installing 4.12. if you get this working let me know for sure. I have spent many hours troubleshooting with this bot

twin urchin
#

It didn't ask me any bootstrap questions

umbral kernelBOT
#

Yeah, at that point I’m pretty suspicious this is a real regression, not you doing something wrong.

If 2026.4.12 works and 2026.4.15 breaks, that’s super valuable. Please post:

  • the last good version
  • the first bad version
  • openclaw status --all
  • openclaw gateway status

And if it really is version-specific, please file it here so maintainers can track it:
https://github.com/openclaw/openclaw/issues

Also, I would definitely stop wiping the machine. That seems very unlikely to be the real lever here.

twin urchin
umbral kernelBOT
#

That’s a really important clue.

If bootstrap is pending but it never asked any bootstrap questions, then the run is getting stuck before first-run setup even starts.

So the next best checks are:

openclaw models status
openclaw logs --follow

Then, with logs open:

  1. run openclaw dashboard
  2. open a fresh session in the UI if you can
  3. send one simple message like hi
  4. paste the first error from the logs
#

If there’s no log error at all, say that too, because that points to a different failure mode.

Right now my leading suspicion is a stuck bootstrap/session state, not your prompt or OpenRouter model choice.

#

Yeah, that makes me think even more this is not a bad PC install. If people are hitting it across fresh machines, it smells like a state bug or regression.

So I would stop doing reinstalls for now and get one clean signal instead:

openclaw models status
openclaw logs --follow

Then:

  • openclaw dashboard
  • start a fresh session if possible
  • send hi
  • paste the first log error

That should tell us way more than another wipe.

twin urchin
#

C:\Users\y22x0>openclaw models status

🦞 OpenClaw 2026.4.15 (041266a) — Automation with claws: minimal fuss, maximal pinch.

Config : ~.openclaw\openclaw.json
Agent dir : ~.openclaw\agents\main\agent
Default : openrouter/anthropic/claude-sonnet-4.6
Fallbacks (0) : -
Image model : -
Image fallbacks (0): -
Aliases (1) : OpenRouter -> openrouter/auto
Configured models (2): openrouter/auto, openrouter/anthropic/claude-sonnet-4.6

Auth overview
Auth store : ~.openclaw\agents\main\agent\auth-profiles.json
Shell env : off
Providers w/ OAuth/tokens (0): -

  • openrouter effective=profiles:~.openclaw\agents\main\agent\auth-profiles.json | profiles=1 (oauth=0, token=0, api_key=1) | openrouter:default=sk-or-v1...f6de8180

OAuth/token status

  • none

C:\Users\y22x0>openclaw logs --follow

🦞 OpenClaw 2026.4.15 (041266a) — Gateway online—please keep hands, feet, and appendages inside the shell at all times.

gateway connect failed: GatewayClientRequestError: pairing required
Gateway pairing required; reading local log file instead.
Log file: C:\Users\y22x0\AppData\Local\Temp\openclaw\openclaw-2026-04-19.log
20:51:02+00:00 error gateway connect failed: GatewayClientRequestError: pairing required
20:51:02+00:00 error gateway connect failed: GatewayClientRequestError: pairing required
20:51:02+00:00 error gateway/channels/telegram {"subsystem":"gateway/channels/telegram"} failed to start native approval handler: GatewayClientRequestError: pairing required
20:51:02+00:00 warn gateway/ws {"subsystem":"gateway/ws"} {"cause":"pairing-required","handshake":"failed","durationMs":18,"lastFrameType":"req","lastFrameMethod":"connect","lastFrameId":"3628ee72-e3b3-4808-914b-b0e765245fdd","host":"127.0.0.1:18789","remoteAddr":"127.0.0.1","remotePort":60745,"localAddr":"127.0.0.1","localPort":18789,"endpoint":"127.0.0.1:60745-

theres another 100 lines of code with failed messages i cant paste here

umbral kernelBOT
#

Perfect, that’s enough, we found the blocker.

This is not your OpenRouter model. The real issue is:

GatewayClientRequestError: pairing required

That means the dashboard/CLI device is not approved yet.

Run these next:

openclaw devices list

You should see a pending requestId. Then approve it:

#
openclaw devices approve <requestId>

After that:

openclaw dashboard

Refresh/reopen the Control UI and try again.

A couple notes:

  • If devices list shows no pending request, open the dashboard first, let it attempt to connect, then run openclaw devices list again.
  • Re-run devices list right before approving, because request IDs can change if the client retries.
flint pasture
#

Thanks. The last session I had with this spot which was about a half an hour ago. It basically said at this point I think it's an error and it told me to create a issue which I didn't do.

umbral kernelBOT
#

Yeah, that sounds right.

If it’s reproducible, and especially if a downgrade helps, filing the issue is probably the right move now.

What would make the report actually useful:

  • exact working version
  • exact broken version
  • openclaw status --all
  • openclaw gateway status
  • whether logs show pairing required
  • whether openclaw devices list / openclaw devices approve <requestId> fixes it

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

If you do file it, keeping it tight with those details will help a lot more than “it doesn’t work on my Mac.”

twin urchin
umbral kernelBOT
#

Could be, but I wouldn’t speculate too far yet.

In your case we already have a concrete blocker in the logs:

GatewayClientRequestError: pairing required

So I’d fix that first before blaming Node or the bootstrapper.

Right now the best next step is still:

openclaw devices list
openclaw devices approve <requestId>
#

Then reopen the dashboard and test again.

Bootstrap might still be the next issue after that, but pairing required is the first real smoking gun we’ve got.

twin urchin
#

C:\Users\y22x0>openclaw devices list

🦞 OpenClaw 2026.4.15 (041266a) — I'll butter your workflow like a lobster roll: messy, delicious, effective.

|
gateway connect failed: GatewayClientRequestError: pairing required
o
Direct scope access failed; using local fallback.
Pending (1)

| Request | Device | Role | Scopes | IP | Age | Flags |

| 74f92f1f-4ae4-40c7-95f4-fc631ab21db7 | Telegram | operator | operator. | | just now | repair |
| | Native | | approvals,
| | Approvals | | operator.admin, |
| | (default) | | operator.read, |
| | | | operator.write, |
| | | | operator.
| | | | pairing,
| | | | operator.talk.
| | | | secrets
Paired (2)

| Device | Roles | Scopes | Tokens | IP |

| 9673457e17603c139537344fdd4a | operator | operator.read | operator |
| e7a0eb748650b752200bc28128b6 | | | | |
| 501dc529 | | | | |
| c31e1a3cedf7efc4534ad44d4ece | operator | operator.admin, operator.read, operator. | operator | |
| 0ddd8ad0a59d38a426d68d7dea0e | | write, operator.approvals, operator.pairing | | |
| 6e7553f4

umbral kernelBOT
#

Yep, that’s the request I wanted to see.

Approve this exact one first:

openclaw devices approve 74f92f1f-4ae4-40c7-95f4-fc631ab21db7

Then do:

openclaw devices list
openclaw dashboard

A small nuance here: the pending request showing right now is for Telegram Native Approvals, not obviously the browser itself. So:

#
  • approve this one first
  • reopen the dashboard
  • if the dashboard/browser creates a new pending request, run openclaw devices list again and approve that too

After approving, test the Control UI again.

If it still stays silent, paste the new openclaw devices list output, because the next missing pairing request should be much easier to spot.

twin urchin
#

C:\Users\y22x0>openclaw devices approve 74f92f1f-4ae4-40c7-95f4-fc631ab21db7

🦞 OpenClaw 2026.4.15 (041266a) — I've read more man pages than any human should—so you don't have to.

|
gateway connect failed: GatewayClientRequestError: pairing required
o
Direct scope access failed; using local fallback.
unknown requestId

#

what do you want me to do

umbral kernelBOT
#

Do these exact steps:

  1. Run:
openclaw devices list
  1. Approve the current pending request ID it shows. If it’s still the same one as before, use:
openclaw devices approve 74f92f1f-4ae4-40c7-95f4-fc631ab21db7
  1. Reopen the UI:
#
openclaw dashboard
  1. Send one test message in the Control UI.

If it still doesn’t work, paste both:

openclaw devices list
openclaw logs --follow

The main thing I want you to do right now is approve the pending device pairing request.

twin urchin
#

This is all it gives when i run devices list:
C:\Users\y22x0>openclaw devices list

🦞 OpenClaw 2026.4.15 (041266a) — I'll butter your workflow like a lobster roll: messy, delicious, effective.

|
gateway connect failed: GatewayClientRequestError: pairing required
o
Direct scope access failed; using local fallback.
Pending (1)

| Request | Device | Role | Scopes | IP | Age | Flags |

| 74f92f1f-4ae4-40c7-95f4-fc631ab21db7 | Telegram | operator | operator. | | just now | repair |
| | Native | | approvals,
| | Approvals | | operator.admin, |
| | (default) | | operator.read, |
| | | | operator.write, |
| | | | operator.
| | | | pairing,
| | | | operator.talk.
| | | | secrets
Paired (2)

| Device | Roles | Scopes | Tokens | IP |

| 9673457e17603c139537344fdd4a | operator | operator.read | operator |
| e7a0eb748650b752200bc28128b6 | | | | |
| 501dc529 | | | | |
| c31e1a3cedf7efc4534ad44d4ece | operator | operator.admin, operator.read, operator. | operator | |
| 0ddd8ad0a59d38a426d68d7dea0e | | write, operator.approvals, operator.pairing | | |
| 6e7553f4

umbral kernelBOT
#

Yep, that’s enough. That is the pending request.

Now run this exact command:

openclaw devices approve 74f92f1f-4ae4-40c7-95f4-fc631ab21db7

Then run:

openclaw dashboard

Open the Control UI again and test one message.

If it still fails after that, paste the output of:

#
openclaw devices list
twin urchin
#

C:\Users\y22x0>openclaw devices approve 74f92f1f-4ae4-40c7-95f4-fc631ab21db7

🦞 OpenClaw 2026.4.15 (041266a) — Your personal assistant, minus the passive-aggressive calendar reminders.

|
o
[openclaw] Failed to start CLI: Error: gateway timeout after 10000ms
Gateway target: ws://127.0.0.1:18789
Source: local loopback
Config: C:\Users\y22x0.openclaw\openclaw.json
Bind: loopback
at Timeout.<anonymous> (file:///C:/Users/y22x0/AppData/Roaming/npm/node_modules/openclaw/dist/call-BA3do6C0.js:255:9)
at listOnTimeout (node:internal/timers:605:17)
at process.processTimers (node:internal/timers:541:7)

this is what it gives me when i enter C:\Users\y22x0>openclaw devices approve 74f92f1f-4ae4-40c7-95f4-fc631ab21db7

umbral kernelBOT
#

Got it. That means the approve call itself is hanging on the gateway, not just the dashboard.

Try this exact sequence:

openclaw gateway restart
openclaw gateway status
openclaw doctor
openclaw devices approve 74f92f1f-4ae4-40c7-95f4-fc631ab21db7

If openclaw gateway status does not show RPC probe: ok, stop there and paste it.

If it does show RPC probe: ok but devices approve still times out, then I think you’ve got a real bug/regression, because at that point:

  • gateway is up
  • pairing request exists
#
  • approval path is still hanging

If that happens, paste:

  • openclaw gateway status
  • openclaw doctor
  • the devices approve ... timeout

and I’d file it here:
https://github.com/openclaw/openclaw/issues

We’re very close to either fixing it or proving it’s an actual bug.

twin urchin
#

C:\Users\y22x0>openclaw gateway status

🦞 OpenClaw 2026.4.15 (041266a) — Pairing codes exist because even bots believe in consent—and good security hygiene.

|
o
Service: Scheduled Task (registered)
File logs: ~\AppData\Local\Temp\openclaw\openclaw-2026-04-19.log
Command: C:\Program Files\nodejs\node.exe C:\Users\y22x0\AppData\Roaming\npm\node_modules\openclaw\dist\index.js gateway --port 18789
Service file: ~.openclaw\gateway.cmd
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 12608, Startup-folder login item installed; listener detected on port 18789.)
RPC probe: ok

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

C:\Users\y22x0>openclaw doctor

🦞 OpenClaw 2026.4.15 (041266a) — Your terminal just grew claws—type something and let the bot pinch the busywork.

▄▄▄▄▄▄▄▄▄▄▄▄▄▄▄▄▄▄▄▄▄▄▄▄▄▄▄▄▄▄▄▄▄▄▄▄▄▄▄▄▄▄▄▄▄▄▄▄▄▄▄▄
██░▄▄▄░██░▄▄░██░▄▄▄██░▀██░██░▄▄▀██░████░▄▄▀██░███░██
██░███░██░▀▀░██░▄▄▄██░█░█░██░█████░████░▀▀░██░█░█░██
██░▀▀▀░██░█████░▀▀▀██░██▄░██░▀▀▄██░▀▀░█░██░██▄▀▄▀▄██
▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀
🦞 OPENCLAW 🦞

T OpenClaw doctor
|
o Bundled plugins ---------------------------------+
| |
| Bundled plugin runtime deps are missing. |
| - @discordjs/opus@^0.10.0 (used by discord) |
| Fix: run openclaw doctor --fix to install them. |
| |
+---------------------------------------------------+
|

  • Install missing bundled plugin runtime deps now?
    | > Yes / No

it's asking me to install missing bundled plugins what should i say

umbral kernelBOT
#

Say No for now.

That warning is about:

@discordjs/opus

which is mainly a Discord voice runtime dependency, and it does not look like the blocker for your Control UI / pairing problem.

So:

  1. choose No
  2. let Doctor continue
  3. paste the next part if it finds anything else

Right now the thing we care about is still the stuck pairing/approval path, not Discord voice deps.

twin urchin
#

o State integrity
| |
| - OAuth dir not present (~.openclaw\credentials). Skipping create because no |
| WhatsApp/pairing channel config is active.

|
o Security
| |
| - No channel security warnings detected. |
| - Run: openclaw security audit --deep |
| |

o Skills status
| |
| Eligible: 6 |
| Missing requirements: 46 |
| Blocked by allowlist: 0 |
| |

|
o Plugins ------+
| |
| Loaded: 58 |
| Imported: 58 |
| Disabled: 40 |
| Errors: 0 |
| |

|
o
Telegram: ok (@twin urchin_OpenClaw_Bot) (192ms)
Agents: main (default)
Heartbeat interval: 30m (main)
Session store (main): C:\Users\y22x0.openclaw\agents\main\sessions\sessions.json (1 entries)

  • agent:main:main (2m ago)
    |
    o Memory search

| Memory search is enabled, but no embedding provider is ready.
| Semantic recall needs at least one embedding provider.
| Gateway memory probe for default agent is not ready: gateway memory probe unavailable:
| gateway timeout after 10000ms
| Gateway target: ws://127.0.0.1:18789
| Source: local loopback
| Config: C:\Users\y22x0.openclaw\openclaw.json
| Bind: loopback

| Fix (pick one):
| - Set OPENAI_API_KEY, GEMINI_API_KEY, GOOGLE_API_KEY, VOYAGE_API_KEY, MISTRAL_API_KEY in |
| your environment
| - Configure credentials: openclaw configure --section model
| - For local embeddings: configure agents.defaults.memorySearch.provider and local model
| path
| - To disable: openclaw config set agents.defaults.memorySearch.enabled false
|
| Verify: openclaw memory status --deep

Run "openclaw doctor --fix" to apply changes.

— Doctor complete.

this is everything else it says for openclaw doctor

umbral kernelBOT
#

Thanks, this helps.

Nothing in that Doctor output looks like the real blocker. The memory search warning is unrelated.

At this point the important facts are:

  • openclaw gateway status says RPC probe: ok
  • openclaw devices list shows a real pending pairing request
  • openclaw devices approve ... still times out

That’s pretty strong evidence of a bug/regression in the pairing approval path.

I’d do one last cheap try with a longer timeout:

openclaw devices approve 74f92f1f-4ae4-40c7-95f4-fc631ab21db7 --timeout 30000
#

If that still times out, I would stop debugging in circles and file an issue here:

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

Include these exact bits:

  • openclaw --version
  • openclaw gateway status
  • openclaw devices list
  • openclaw devices approve ... timing out
  • mention that bootstrap never started in the Control UI

If you just want it working tonight, trying the last known-good version as a workaround is reasonable too.

twin urchin
#

C:\Users\y22x0>openclaw devices approve 74f92f1f-4ae4-40c7-95f4-fc631ab21db7

🦞 OpenClaw 2026.4.15 (041266a) — If you can describe it, I can probably automate it—or at least make it funnier.

|
gateway connect failed: GatewayClientRequestError: pairing required
o
Direct scope access failed; using local fallback.
unknown requestId

C:\Users\y22x0>openclaw devices approve 74f92f1f-4ae4-40c7-95f4-fc631ab21db7 --timeout 30000

🦞 OpenClaw 2026.4.15 (041266a) — Greetings, Professor Falken

|
gateway connect failed: GatewayClientRequestError: pairing required
o
Direct scope access failed; using local fallback.
unknown requestId

neither worked

umbral kernelBOT
#

That’s actually useful.

unknown requestId usually means the pending request rotated, so the ID you approved was already stale by the time you ran it.

Do this next:

  1. Close the dashboard/browser tab for a moment.
  2. Run:
openclaw devices list --json
  1. Copy the fresh current requestId
  2. Immediately run:
#
openclaw devices approve <fresh-requestId>

The docs call this out, pairing retries can supersede the old pending request and mint a new ID.

If a brand new request ID still comes back as unknown requestId, then I’d treat that as solid bug evidence and file it:
https://github.com/openclaw/openclaw/issues

If you want, paste the devices list --json output next and I’ll help spot the exact current ID.

twin urchin
#

C:\Users\y22x0>openclaw devices list --json
gateway connect failed: GatewayClientRequestError: pairing required
{
"pending": [
{
"requestId": "9ee0d7fa-d879-433e-9aa4-870311173f26",
"deviceId": "9673457e17603c139537344fdd4ae7a0eb748650b752200bc28128b6501dc529",
"publicKey": "nVgzbKkz3VMU2pYWYqcLCRs00mhX1Az-eCQv1oxI794",
"displayName": "Telegram Native Approvals (default)",
"platform": "win32",
"clientId": "cli",
"clientMode": "cli",
"role": "operator",
"roles": [
"operator"
],
"scopes": [
"operator.approvals",
"operator.admin",
"operator.read",
"operator.write",
"operator.pairing",
"operator.talk.secrets"
],
"silent": false,
"isRepair": true,
"ts": 1776634224192
}
],
"paired": [
{
"deviceId": "9673457e17603c139537344fdd4ae7a0eb748650b752200bc28128b6501dc529",
"publicKey": "nVgzbKkz3VMU2pYWYqcLCRs00mhX1Az-eCQv1oxI794",
"platform": "win32",
"clientId": "gateway-client",
"clientMode": "backend",
"role": "operator",
"roles": [
"operator"
],
"scopes": [
"operator.read"
],
"approvedScopes": [
"operator.read"
],
"createdAtMs": 1776630788747,
"approvedAtMs": 1776630788747,
"displayName": "gateway:doctor.memory.status",
"tokens": [
{
"role": "operator",
"scopes": [
"operator.read"
],
"createdAtMs": 1776630788747
}
]
},
{
"deviceId": "c31e1a3cedf7efc4534ad44d4ece0ddd8ad0a59d38a426d68d7dea0e6e7553f4",
"publicKey": "dMpI2VM0bEvEuKqjtttGCaoRTwlqwhDnlSORuSZVoaI",
"platform": "Win32",
"clientId": "openclaw-control-ui",
"clientMode": "webchat",
"role": "operator",
"roles": [
"operator"

#

],
"scopes": [
"operator.admin",
"operator.read",
"operator.write",
"operator.approvals",
"operator.pairing"
],
"approvedScopes": [
"operator.admin",
"operator.read",
"operator.write",
"operator.approvals",
"operator.pairing"
],
"createdAtMs": 1776628831621,
"approvedAtMs": 1776628831621,
"tokens": [
{
"role": "operator",
"scopes": [
"operator.admin",
"operator.approvals",
"operator.pairing",
"operator.read",
"operator.write"
],
"createdAtMs": 1776628831621
}
]
}
]
}

umbral kernelBOT
#

Perfect, this explains it.

That pending request is a repair/upgrade for an already-paired device that only has:

operator.read

and now it needs the fuller operator scopes.

Run this exact command now, with the fresh ID:

openclaw devices approve 9ee0d7fa-d879-433e-9aa4-870311173f26

Then test again with:

#
openclaw dashboard

If it still fails after approving that fresh repair request, paste the result of the approve command. We’re finally looking at the right thing.

#

Yep, that’s just the rest of the JSON, and it confirms the Control UI device is already paired with full operator scopes.

So the thing still pending is the repair request for the other device.

Please run this now:

openclaw devices approve 9ee0d7fa-d879-433e-9aa4-870311173f26

Then tell me exactly what that command prints. That’s the part we need next.

twin urchin
#

C:\Users\y22x0>openclaw devices approve 9ee0d7fa-d879-433e-9aa4-870311173f26

🦞 OpenClaw 2026.4.15 (041266a) — Greetings, Professor Falken

|
gateway connect failed: GatewayClientRequestError: pairing required
o
Direct scope access failed; using local fallback.
unknown requestId

umbral kernelBOT
#

Yep, that seals it for me.

A fresh requestId from devices list --json immediately turning into:

unknown requestId

on devices approve is not normal. That’s bug-level behavior, not you using it wrong.

I’d stop the loop here and file an issue with these exact details:

  • openclaw --version2026.4.15
  • openclaw gateway statusRPC probe: ok
  • openclaw devices list --json shows a pending repair request
  • openclaw devices approve <fresh-requestId> returns unknown requestId
  • Control UI stays silent and never starts bootstrap
#

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

If you just need a working setup tonight, downgrading to the last version that worked is a reasonable workaround.

And honestly, I’m glad we pushed this far, because now you’ve got a pretty crisp repro instead of vague “it doesn’t work.”

twin urchin
#

give me a copy and paste version i can copy and paste into command prompt based on what you want me to do. and should i run command prompt as an administrator

flint pasture
#

I just finished installing 4.12 5 minutes ago and that is working. FYI

#

This issue is carbon copy of what I've been going through for the last 3 days

umbral kernelBOT
#

Nope, don’t run Command Prompt as administrator. Just use a normal Command Prompt window.

Copy/paste these one by one:

openclaw --version
openclaw gateway status
openclaw devices list --json

Then copy the fresh requestId from that JSON and run:

#
openclaw devices approve <fresh-requestId>

If it returns unknown requestId again, that’s the bug repro.

And if you want a copy/paste issue body, use this:

OpenClaw version: 2026.4.15
OS: Windows
Shell: Command Prompt

Problem:
- Control UI stays silent
- bootstrap never starts
#
- devices list --json shows a pending repair request
- devices approve <fresh-requestId> returns "unknown requestId"

Commands run:
openclaw --version
openclaw gateway status
openclaw devices list --json
openclaw devices approve <fresh-requestId>

Observed:
- gateway status shows RPC probe: ok
- devices list --json shows a pending repair request
- approve immediately fails with unknown requestId
- Control UI never asks bootstrap questions
umbral kernelBOT
#

That’s really useful signal, thanks.

If 2026.4.12 works and 2026.4.15 doesn’t, this looks a lot more like a regression than random local setup breakage.

Please include that in the GitHub issue if you file one:

  • works: 2026.4.12
  • broken: 2026.4.15

That version split is exactly the kind of clue maintainers need.

#

Yeah, that’s actually helpful corroboration.

Two separate people hitting the same symptom, plus 4.12 works / 4.15 breaks, is exactly why I’m leaning regression here.

If either of you files the issue, linking this thread’s symptoms and the version split would make it much stronger.

#

They mean OpenClaw 2026.4.12, the older OpenClaw release.

So the useful signal right now is:

  • OpenClaw 2026.4.12 works
  • OpenClaw 2026.4.15 appears broken for at least two people here

That’s why this is looking more and more like a regression.

twin urchin
#

how do i install version 4.12

umbral kernelBOT
#

Easiest way, in a normal Command Prompt window, not admin:

openclaw update --tag 2026.4.12
openclaw doctor
openclaw gateway restart
openclaw --version

If the updater gives you trouble, use the manual fallback:

pnpm add -g openclaw@2026.4.12
openclaw doctor
openclaw gateway restart
openclaw --version
#

You want openclaw --version to show 2026.4.12 at the end.

flint pasture
#

If I were you, I would start a new chat and ask that same question. Right now your log is too long for it to be able to complete all of that. But if you start a new session and tell it to guide you through it will do it

umbral kernelBOT
#

I don’t think the long thread is the blocker here.

At this point there’s already a pretty concrete repro:

  • 2026.4.15 broken
  • 2026.4.12 works
  • pending repair request exists
  • devices approve <fresh-requestId> returns unknown requestId

So I’d treat this as a regression/bug more than “the chat got confused.”

twin urchin
#

C:\Users\y22x0>openclaw update --tag 2026.4.12
|
o Downgrading from 2026.4.15 to 2026.4.12 can break configuration. Continue?
| No
Update cancelled.

it said no automatically. didnt give me an option

umbral kernelBOT
#

Yep, use --yes so it won’t stop at the downgrade confirmation.

Run this:

openclaw update --tag 2026.4.12 --yes
openclaw doctor
openclaw gateway restart
openclaw --version

That should force the downgrade instead of auto-cancelling.

twin urchin
#

C:\Users\y22x0>openclaw update --tag 2026.4.12 --yes
Updating OpenClaw...

|
penclaw doctor
openclaw gateway restart
• Updating via package manager...

it's been stuck on that last line Updating via package manager... for a few minutes should i keep waiting

umbral kernelBOT
#

Yeah, give it a bit longer, a few minutes on that step can be normal on Windows.

My rule of thumb:

  • if it’s still doing disk/network work, wait up to ~10 minutes
  • if it sits there with no progress for 10+ minutes, hit Ctrl+C and use the manual fallback instead:
pnpm add -g openclaw@2026.4.12
openclaw doctor
openclaw gateway restart
openclaw --version

So, short answer: wait a little longer first.

twin urchin
#

C:\Users\y22x0>openclaw update --tag 2026.4.12 --yes
Updating OpenClaw...

|
penclaw doctor
openclaw gateway restart
o ✓ Updating via package manager (360.23s)
|
o Canceled

C:\Users\y22x0>openclaw update --tag 2026.4.12 --yes
Config was last written by a newer OpenClaw (2026.4.15); current version is 2026.4.12.
Config was last written by a newer OpenClaw (2026.4.15); current version is 2026.4.12.
Updating OpenClaw...

|
penclaw doctor
openclaw gateway restart
o ✗ Updating via package manager (20.92s)
npm error code EBUSY
npm error syscall copyfile
npm error path C:\Users\y22x0\AppData\Roaming\npm\node_modules\openclaw\node_modules@mariozechner\clipboard-win32-x64-msvc\clipboard.win32-x64-msvc.node
npm error dest C:\Users\y22x0\AppData\Roaming\npm\node_modules.openclaw-C9v06lxa\node_modules@mariozechner\clipboard-win32-x64-msvc\clipboard.win32-x64-msvc.node
npm error errno -4082
npm error EBUSY: resource busy or locked, copyfile 'C:\Users\y22x0\AppData\Roaming\npm\node_modules\openclaw\node_modules@mariozechner\clipboard-win32-x64-msvc\clipboard.win32-x64-msvc.node' -> 'C:\Users\y22x0\AppData\Roaming\npm\node_modules.openclaw-C9v06lxa\node_modules@mariozechner\clipboard-win32-x64-msvc\clipboard.win32-x64-msvc.node'
npm error A complete log of this run can be found in: C:\Users\y22x0\AppData\Local\npm-cache_logs\2026-04-19T21_47_48_498Z-debug-0.log
|
o Running doctor checks

umbral kernelBOT
#

I think the first downgrade probably already worked.

The giveaway is this line from the second run:

current version is 2026.4.12

So don’t keep hammering update yet. Do this instead:

openclaw --version
openclaw gateway restart
openclaw dashboard

If openclaw --version shows 2026.4.12, you’re already downgraded and just need to restart the gateway and reopen the UI.

#

That EBUSY ... clipboard.win32...node error usually means a file is locked/in use, so if you do need to retry later, close the dashboard/browser and stop the gateway first. But right now, first check the version.

twin urchin
#

Didn't work. still not responding. this is what it said after i opened it: ⚠️ Agent failed before reply: All models failed (2): openrouter/openrouter/auto: This operation was aborted (timeout) | openrouter/anthropic/claude-sonnet-4.6: This operation was aborted (timeout) | This operation was aborted | This operation was aborted.
Logs: openclaw logs --follow

when i said "hello" it was the same thing. didnt respond.

this is the information from all of the commands:
C:\Users\y22x0>openclaw --version
OpenClaw 2026.4.12 (1c0672b)

C:\Users\y22x0>openclaw gateway restart
Config was last written by a newer OpenClaw (2026.4.15); current version is 2026.4.12.

🦞 OpenClaw 2026.4.12 (1c0672b) — If you're lost, run doctor; if you're brave, run prod; if you're wise, run tests.

Config was last written by a newer OpenClaw (2026.4.15); current version is 2026.4.12.
Config was last written by a newer OpenClaw (2026.4.15); current version is 2026.4.12.
Config was last written by a newer OpenClaw (2026.4.15); current version is 2026.4.12.
Config was last written by a newer OpenClaw (2026.4.15); current version is 2026.4.12.
Restarted Windows login item: OpenClaw Gateway
Gateway restart failed after 28s: service stayed stopped and port 18789 stayed free.
Service runtime: status=stopped
Gateway port 18789 status: free.
Gateway restart failed after 28s: service stayed stopped and health checks never came up.
Tip: openclaw gateway status --deep
Tip: openclaw doctor

C:\Users\y22x0>openclaw dashboard
Config was last written by a newer OpenClaw (2026.4.15); current version is 2026.4.12.
Config was last written by a newer OpenClaw (2026.4.15); current version is 2026.4.12.

🦞 OpenClaw 2026.4.12 (1c0672b) — The only crab in your contacts you actually want to hear from. 🦞

Config was last written by a newer OpenClaw (2026.4.15); current version is 2026.4.12.
Config was last written by a newer OpenClaw (2026.4.15); current version is 2026.4.12.

umbral kernelBOT
#

Yeah, this looks like you’re in a mixed-version state now.

The important clues are:

  • you did get onto 2026.4.12
  • but your config was already written by 2026.4.15
  • gateway restart on 4.12 fails
  • the dashboard then shows model timeouts

So I would not trust this downgrade result as a clean test of 4.12.

At this point, I’d stop bouncing versions and file the bug with both sets of symptoms:

  1. 2026.4.15
    • pending repair request exists
    • devices approve <fresh-requestId> returns unknown requestId
    • bootstrap never starts
#
  1. 2026.4.12 after downgrade
    • warns Config was last written by a newer OpenClaw (2026.4.15)
    • gateway restart fails
    • dashboard shows model timeouts

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

If you want one last data point before filing, run:

openclaw gateway status --deep
openclaw logs --follow

But honestly, you’ve already got enough evidence for a solid bug report.

#

Delete or edit that message right now if you still can, you just pasted your live gateway token in public.

Then rotate it, because that token should be treated as compromised now.

In Command Prompt:

  1. Generate a new token:
node -e "console.log(require('crypto').randomBytes(32).toString('hex'))"
  1. Copy the output, then set it:
openclaw config set gateway.auth.token "<PASTE_NEW_TOKEN_HERE>"
#
  1. Restart the gateway:
openclaw gateway restart
  1. Reopen the dashboard:
openclaw dashboard

Also, please do not paste tokens publicly again. That one should be considered burned.

twin urchin
#

There is a github page that talks about the same issue im having. it told me to run this code: C:\Users\y22x0>npm i -g openclaw@2026.2.17

i recieved these responses:
C:\Users\y22x0>npm i -g openclaw@2026.2.17
npm error code ENOENT
npm error syscall spawn git
npm error path git
npm error errno -4058
npm error enoent An unknown git error occurred
npm error enoent This is related to npm not being able to find a file.
npm error enoent
npm error A complete log of this run can be found in: C:\Users\y22x0\AppData\Local\npm-cache_logs\2026-04-19T21_59_22_733Z-debug-0.log

ill send the full reddit page now

umbral kernelBOT
#

No need to paste the whole page.

That error means Git is missing from your Windows PATH.

From the install docs, the fix is basically:

  1. install Git for Windows
  2. reopen Command Prompt
  3. rerun the command

So the problem here is not OpenRouter, it’s this part:

npm error syscall spawn git
npm error enoent
#

which means npm tried to call git and Windows couldn’t find it.

Also, before you keep testing more stuff, please make sure you rotate the gateway token you pasted publicly earlier. That token should be considered compromised now.

twin urchin
#

C:\Users\y22x0>npm error syscall spawn git
Unknown command: "error"

To see a list of supported npm commands, run:
npm help

C:\Users\y22x0>npm error enoent
Unknown command: "error"

To see a list of supported npm commands, run:
npm help

umbral kernelBOT
#

Yep, don’t type the error message back into Command Prompt 😅

These lines:

npm error syscall spawn git
npm error enoent

are just telling you what went wrong. They are not commands.

What you actually need to do is:

  1. install Git for Windows from https://git-scm.com/download/win
  2. close and reopen Command Prompt
  3. check it works:
#
git --version
  1. then rerun your OpenClaw install/downgrade command

If git --version fails, Windows still can’t see Git yet.

twin urchin
#

C:\Users\y22x0>npm i -g openclaw@2026.2.17
npm warn deprecated npmlog@6.0.2: This package is no longer supported.
npm warn deprecated are-we-there-yet@3.0.1: This package is no longer supported.
npm warn deprecated gauge@4.0.4: This package is no longer supported.
npm warn deprecated tar@6.2.1: Old versions of tar are not supported, and contain widely publicized security vulnerabilities, which have been fixed in the current version. Please update. Support for old versions may be purchased (at exorbitant rates) by contacting i@izs.me
npm warn deprecated node-domexception@1.0.0: Use your platform's native DOMException instead

#

C:\Users\y22x0>npm i -g openclaw@2026.2.17
npm warn deprecated npmlog@6.0.2: This package is no longer supported.
npm warn deprecated are-we-there-yet@3.0.1: This package is no longer supported.
npm warn deprecated gauge@4.0.4: This package is no longer supported.
npm warn deprecated tar@6.2.1: Old versions of tar are not supported, and contain widely publicized security vulnerabilities, which have been fixed in the current version. Please update. Support for old versions may be purchased (at exorbitant rates) by contacting i@izs.me
npm warn deprecated node-domexception@1.0.0: Use your platform's native DOMException instead
npm warn cleanup Failed to remove some directories [
npm warn cleanup [
npm warn cleanup 'C:\Users\y22x0\AppData\Roaming\npm\node_modules\openclaw',
npm warn cleanup [Error: EPERM: operation not permitted, rmdir 'C:\Users\y22x0\AppData\Roaming\npm\node_modules\openclaw\node_modules@line\bot-sdk\node_modules@types'] {
npm warn cleanup errno: -4048,
npm warn cleanup code: 'EPERM',
npm warn cleanup syscall: 'rmdir',
npm warn cleanup path: 'C:\Users\y22x0\AppData\Roaming\npm\node_modules\openclaw\node_modules\@line\bot-sdk\node_modules\@types'
npm warn cleanup }
npm warn cleanup ],
npm warn cleanup [
npm warn cleanup '\\?\C:\Users\y22x0\AppData\Roaming\npm\node_modules\openclaw',
npm warn cleanup [Error: EPERM: operation not permitted, rmdir 'C:\Users\y22x0\AppData\Roaming\npm\node_modules\openclaw\extensions\open-prose\skills\prose\examples'] {
npm warn cleanup errno: -4048,
npm warn cleanup code: 'EPERM',
npm warn cleanup syscall: 'rmdir',
npm warn cleanup path: 'C:\Users\y22x0\AppData\Roaming\npm\node_modules\openclaw\extensions\open-prose\skills\prose\examples'
npm warn cleanup }
npm warn cleanup ],
npm warn cleanup [

umbral kernelBOT
#

Those are just warnings, not the actual failure.

If the command is still running, let it finish. When you get the prompt back, run:

openclaw --version
openclaw doctor
openclaw gateway restart
openclaw dashboard

If openclaw --version now shows 2026.2.17, the install worked.

#

Still looks like warnings/cleanup noise, not necessarily the final result yet.

Let it finish all the way back to the prompt first.

Then run:

openclaw --version

If that shows 2026.2.17, the install likely worked despite the cleanup warnings.

If it fails and stays on the old version, then the EPERM cleanup warnings usually mean files were still in use/locked, so close the dashboard/browser and any OpenClaw terminals before retrying.

twin urchin
#

npm error npm error enoent This is related to npm not being able to find a file.
npm error npm error enoent
npm error npm error A complete log of this run can be found in: C:\Users\y22x0\AppData\Local\npm-cache_logs\2026-04-19T22_11_24_231Z-debug-0.log
npm error [node-llama-cpp] Failed to build llama.cpp with no GPU support. Error: SpawnError: Command npm exec --yes -- xpm@^0.16.3 install @xpack-dev-tools/cmake@latest --no-save exited with code 4294963238
npm error at createError (file:///C:/Users/y22x0/AppData/Roaming/npm/node_modules/openclaw/node_modules/node-llama-cpp/dist/utils/spawnCommand.js:34:20)
npm error at ChildProcess.<anonymous> (file:///C:/Users/y22x0/AppData/Roaming/npm/node_modules/openclaw/node_modules/node-llama-cpp/dist/utils/spawnCommand.js:47:24)
npm error at ChildProcess.emit (node:events:509:28)
npm error at cp.emit (C:\Users\y22x0\AppData\Roaming\npm\node_modules\openclaw\node_modules\cross-spawn\lib\enoent.js:34:29)
npm error at ChildProcess._handle.onexit (node:internal/child_process:295:12)
npm error SpawnError: Command npm exec --yes -- xpm@^0.16.3 install @xpack-dev-tools/cmake@latest --no-save exited with code 4294963238
npm error at createError (file:///C:/Users/y22x0/AppData/Roaming/npm/node_modules/openclaw/node_modules/node-llama-cpp/dist/utils/spawnCommand.js:34:20)
npm error at ChildProcess.<anonymous> (file:///C:/Users/y22x0/AppData/Roaming/npm/node_modules/openclaw/node_modules/node-llama-cpp/dist/utils/spawnCommand.js:47:24)
npm error at ChildProcess.emit (node:events:509:28)
npm error at cp.emit (C:\Users\y22x0\AppData\Roaming\npm\node_modules\openclaw\node_modules\cross-spawn\lib\enoent.js:34:29)
npm error at ChildProcess._handle.onexit (node:internal/child_process:295:12)
npm error A complete log of this run can be found in: C:\Users\y22x0\AppData\Local\npm-cache_logs\2026-04-19T22_06_15_512Z-debug-0.log

#

it says its version 4.12

umbral kernelBOT
#

Yeah, I would stop going farther back.

2026.2.17 is now failing on old native build dependencies (node-llama-cpp, cmake), which is a separate rabbit hole and probably not worth chasing.

So my recommendation now is:

  1. Do not keep downgrading further
  2. stick with the last version you can actually install cleanly
  3. file the bug with the repro you already have

What you’ve shown is enough to say:

  • 2026.4.15 looks broken
  • 2026.4.12 is messy on your downgraded config
  • 2026.2.17 fails to install because of native build deps

That’s plenty for a GitHub issue:

#

Okay, good, then stop changing versions for now.

You’re on 2026.4.12, but earlier you also showed:

  • config was last written by 2026.4.15
  • gateway restart failed
  • dashboard still timed out / stayed silent

So this still does not look like a clean “4.12 works” case on your machine.

I’d file the bug now. Copy/paste this:

Title:
Control UI stays silent, bootstrap never starts, device repair approval returns unknown requestId
#
OpenClaw version:
2026.4.15 originally
Downgraded to 2026.4.12 during troubleshooting

OS:
Windows

What happens:
- Control UI shows typing / loads, then no reply
- bootstrap questions never start
- on 2026.4.15, `openclaw devices list --json` shows a pending repair request
- approving a fresh requestId returns `unknown requestId`
- downgrading to 2026.4.12 still does not fix it cleanly
- config warns it was last written by newer OpenClaw (2026.4.15)
- gateway restart on 2026.4.12 failed
#
- dashboard reported model timeouts / no response

Useful signals:
- another user in the same Discord thread reported 2026.4.12 works for them while 2026.4.15 does not
- this suggests a regression around 2026.4.15, possibly involving pairing/bootstrap/session state

Commands / outputs seen:
- `openclaw devices list --json` showed pending repair request
- `openclaw devices approve <fresh-requestId>` -> `unknown requestId`
- `openclaw gateway status` -> `RPC probe: ok`
- `openclaw gateway restart` on 2026.4.12 -> gateway restart failed

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

#

That’s the cleanest next step now.