#openclaw broken

1 messages · Page 1 of 1 (latest)

ancient vigil
rustic pivotBOT
#

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

formal fossilBOT
#

That “Security” block is the normal first-run disclaimer, not the actual error.

Small correction if that was the command: Ollama doesn’t launch OpenClaw directly. Run Ollama separately, then configure OpenClaw to use it:

ollama serve
ollama list
openclaw onboard

Pick Ollama → usually Local only.

For non-interactive setup:

openclaw onboard --non-interactive \
ancient vigil
#

the issue is that everytime I run that cmd it always says its updating openclaw

formal fossilBOT
#

Ah, got it — if ollama launch openclaw keeps saying “Updating OpenClaw
”, that’s not the normal way to start OpenClaw. It sounds like that wrapper is re-running an updater/onboarding path each time.

Use OpenClaw directly instead:

openclaw --version
openclaw gateway status
openclaw dashboard

If the gateway isn’t running:

openclaw gateway start

If you’re seeing only a startup update check, that can be disabled with:

#

That’s the real error — thanks. This is not an Ollama/model problem.

size-drop:13258->4159 means doctor tried to rewrite your config to a file less than half the original size. OpenClaw’s safety guard refused to overwrite it, so your original openclaw.json should still be intact. The smaller attempted rewrite was saved as:

C:\Users\lochy\.openclaw\openclaw.json.rejected.2026-04-28T07-11-15-528Z

Do this first — back up both files:

Copy-Item "$env:USERPROFILE\.openclaw\openclaw.json" "$env:USERPROFILE\.openclaw\openclaw.json.backup"
Copy-Item "$env:USERPROFILE\.openclaw\openclaw.json.rejected.2026-04-28T07-11-15-528Z" "$env:USERPROFILE\.openclaw\openclaw.json.rejected.backup"

Then run:

#
openclaw config validate
openclaw status --all

If config validation passes, try launching OpenClaw directly instead of re-running the Ollama launcher/update wrapper:

openclaw gateway restart
openclaw dashboard

Also: since this happened during 2026.4.25 -> 2026.4.26, it’s worth filing as a bug with that exact error + both file sizes: https://github.com/openclaw/openclaw/issues

Docs for this specific class of error: https://docs.openclaw.ai/gateway/troubleshooting#gateway-restored-last-known-good-config 🩐

ancient vigil
#

I think its a port mis match between the config files

formal fossilBOT
#

Yeah, that’s plausible — port precedence is:

--port > OPENCLAW_GATEWAY_PORT > gateway.port > 18789

So an installed Windows service/task can keep launching the gateway with an old pinned --port even if openclaw.json changed.

Run these first:

openclaw config file
openclaw config get gateway.port --json
Get-ChildItem Env:OPENCLAW_GATEWAY_PORT
openclaw gateway status --deep
#

If gateway status --deep says something like “Gateway service port does not match current gateway config”, fix the service metadata:

openclaw gateway stop
openclaw gateway install --force
openclaw gateway restart
openclaw gateway status

Normally openclaw doctor --fix can do this too, but yours is currently failing on the config write guard, so I’d try the forced gateway reinstall path first.

Also: don’t copy the .rejected.* config over the real one — that rejected file is the suspicious smaller rewrite. Docs: https://docs.openclaw.ai/gateway#port-and-bind-precedence and https://docs.openclaw.ai/gateway/troubleshooting 🩐

#

Run it in PowerShell on your Windows machine — the same computer/user where OpenClaw is installed (C:\Users\lochy\...).

Open Windows Terminal or PowerShell, then run:

Get-ChildItem Env:OPENCLAW_GATEWAY_PORT

If it prints nothing, that env var isn’t set, which is fine.

Then run these in the same PowerShell window:

openclaw config get gateway.port --json
openclaw gateway status --deep
#

If you’re using Command Prompt instead, the env-var check is:

echo %OPENCLAW_GATEWAY_PORT%
#

That error is fine — it just means OPENCLAW_GATEWAY_PORT is not set, so it’s not overriding anything.

Next run:

openclaw --version
openclaw config get gateway.port --json
openclaw gateway status --deep

Paste that output here.

If gateway status --deep reports a service/config port mismatch, the likely fix is:

openclaw gateway stop
#
openclaw gateway install --force
openclaw gateway restart

Don’t copy the .rejected.* config over your real config. That file was rejected for a reason. 🩐

#

That output says not a port mismatch — everything is using 18789.

The real problem is here:

Runtime: stopped ... no listener detected
Service is loaded but not running (likely exited immediately)

So the gateway is starting, then crashing/exiting. Next we need the log.

Run these in PowerShell:

Get-Content "$env:LOCALAPPDATA\Temp\openclaw\openclaw-2026-04-28.log" -Tail 120
Get-Content "$env:USERPROFILE\.openclaw\logs\gateway-restart.log" -Tail 80

Also this is useful because it bypasses the Scheduled Task and shows the crash directly:

#
openclaw gateway --port 18789 --verbose

Paste the first error/stack trace from that.

One thing I noticed: earlier your error path was C:\Users\lochy\..., but this status shows C:\Users\wispy\.... If those are actually different Windows users, make sure you’re running OpenClaw from the same user account that owns the service/config.

#

That log points to Ollama/provider connection refused, not the OpenClaw gateway port.

So there are two ports involved:

  • OpenClaw Gateway: 18789
  • Ollama API: usually 11434

Check Ollama from PowerShell:

ollama list
Invoke-RestMethod http://127.0.0.1:11434/api/tags

If that fails, start Ollama:

#
ollama serve

Then in another PowerShell window:

ollama pull qwen3.5:9b
openclaw models status
openclaw models list --provider ollama

Also make sure OpenClaw’s Ollama base URL is not using /v1. It should be:

http://127.0.0.1:11434
#

not:

http://127.0.0.1:11434/v1

One more important thing: your paths still alternate between C:\Users\lochy\... and C:\Users\wispy\.... If those are different Windows accounts, run all commands from the same account that owns the OpenClaw config/service.

Docs: https://docs.openclaw.ai/providers/ollama 🩐

ancient vigil
#

how do I check the ollama port

formal fossilBOT
#

On Windows PowerShell, check the default Ollama port (11434) like this:

Invoke-RestMethod http://127.0.0.1:11434/api/tags

If it returns JSON/model info, Ollama is listening on 11434.

You can also see what process owns the port:

netstat -ano | findstr :11434

Then check the PID from that output:

#
Get-Process -Id <PID>

If Invoke-RestMethod fails with connection refused, start Ollama:

ollama serve

Then leave that window open and try the Invoke-RestMethod command again in a second PowerShell window.

ancient vigil
#

how do I reset the openclaw config files

formal fossilBOT
#

Use the built-in reset command — don’t manually delete random files.

In PowerShell, same Windows user as OpenClaw, do:

openclaw gateway stop
openclaw backup create
openclaw reset --scope config --dry-run

If the dry-run looks right, reset only the config file:

openclaw reset --scope config --yes --non-interactive

Then re-run setup:

#
openclaw onboard --install-daemon

Choose Ollama → Local only → base URL:

http://127.0.0.1:11434

If you want a bigger reset — config + credentials + sessions — use:

openclaw reset --scope config+creds+sessions --yes --non-interactive

Avoid --scope full unless you’re okay wiping the workspace too.

ancient vigil
#

it says config write rejected

formal fossilBOT
#

That means the safety guard is still seeing an existing config and refusing to shrink/overwrite it. Since you’re intentionally resetting, move the old config aside first — don’t delete it.

Run in PowerShell:

openclaw gateway stop

$cfg = "$env:USERPROFILE\.openclaw\openclaw.json"
$stamp = Get-Date -Format "yyyyMMdd-HHmmss"

Copy-Item $cfg "$cfg.backup.$stamp"
Move-Item $cfg "$cfg.disabled.$stamp"

Then re-run setup directly:

ancient vigil
#

I dont have a openclaw.json file

formal fossilBOT
#

That’s a clue — earlier OpenClaw reported the config path as:

~\.openclaw\openclaw.json

So either:

  1. you’re looking in the wrong Windows user folder, or
  2. it got moved/removed already, or
  3. OpenClaw is using a different config path/profile.

Run this in PowerShell:

openclaw config file
#
Test-Path "$env:USERPROFILE\.openclaw\openclaw.json"
Get-ChildItem "$env:USERPROFILE\.openclaw" -Force

If openclaw config file prints a different path, use that path.

Also earlier your logs showed both:

C:\Users\lochy\...
C:\Users\wispy\...

If those are different Windows users, make sure you’re running everything from the same user account.

If there truly is no openclaw.json, then just run:

#
openclaw onboard --install-daemon

If that still says config write rejected, paste the full error line because it should include the exact path it’s trying to write.

ancient vigil
#

how do I make a complete restart , so wiping all the openclaw related files and reinstalling it

formal fossilBOT
#

Yep — if you want a true clean start on native Windows, run this in PowerShell as the same Windows user that installed OpenClaw.

Optional backup first:

openclaw backup create

Clean uninstall:

openclaw uninstall --all --yes --non-interactive
npm rm -g openclaw

If that fails, use the manual cleanup:

#
schtasks /Delete /F /TN "OpenClaw Gateway"
Remove-Item -Force "$env:APPDATA\Microsoft\Windows\Start Menu\Programs\Startup\OpenClaw Gateway.cmd" -ErrorAction SilentlyContinue
Remove-Item -Recurse -Force "$env:USERPROFILE\.openclaw" -ErrorAction SilentlyContinue
Remove-Item -Recurse -Force "$env:LOCALAPPDATA\Temp\openclaw" -ErrorAction SilentlyContinue
npm rm -g openclaw

Then reinstall:

iwr -useb https://openclaw.ai/install.ps1 | iex
openclaw onboard --install-daemon

For Ollama: start Ollama separately, then choose Ollama → Local only during onboarding. Don’t use ollama launch openclaw for now.

ancient vigil
#

its stuck on this for like 20 mins
powershell -c "irm https://openclaw.ai/install.ps1 | iex"

OpenClaw Installer

[OK] Windows detected
[!] Node.js not found
[] Installing Node.js...
Using winget...
[OK] Node.js v24.15.0 found
[OK] Node.js installed via winget
[OK] Node.js v24.15.0 found
[
] Installing OpenClaw (openclaw@latest)...
[OK] OpenClaw installed

OpenClaw installed successfully (OpenClaw 2026.4.26 (be8c246))!

Cozy. I've already read your calendar. We need to talk.

Starting setup...

formal fossilBOT
#

It already says OpenClaw installed successfully, so it’s safe to stop that stuck setup.

Press:

Ctrl+C

Then open a new PowerShell window and check:

openclaw --version

If that works, don’t rerun the plain installer. If you ever need to reinstall without getting stuck in setup, use:

#
& ([scriptblock]::Create((iwr -useb https://openclaw.ai/install.ps1))) -NoOnboard

Then set up manually:

ollama serve

Leave that open, then in another PowerShell:

ollama pull qwen3.5:9b

openclaw onboard --non-interactive `
#
  --mode local `
  --auth-choice ollama `
  --custom-base-url "http://127.0.0.1:11434" `
  --custom-model-id "qwen3.5:9b" `
  --accept-risk `
  --skip-health

openclaw gateway install --force
openclaw gateway restart
openclaw gateway status --deep

If openclaw --version isn’t recognized, close/reopen PowerShell first — Node/npm PATH may only refresh in a new terminal.

ancient vigil
#

iex : Cannot process argument transformation on parameter 'Succeeded'. Cannot convert value "System.Object[]" to type
"System.Boolean". Boolean parameters accept only Boolean values and numbers, such as $True, $False, 1 or 0.
At line:1 char:39

  • irm https://openclaw.ai/install.ps1 | iex
  •                                   ~~~
    
    • CategoryInfo : InvalidData: (:) [Invoke-Expression], ParameterBindingArgumentTransformationException
    • FullyQualifiedErrorId : ParameterArgumentTransformationError,Microsoft.PowerShell.Commands.InvokeExpressionComma
      nd
formal fossilBOT
#

That looks like an installer script bug after it already installed OpenClaw — not your config.

Since it already said:

[OK] OpenClaw installed
OpenClaw installed successfully

Stop using the installer now. Open a new PowerShell window and run:

openclaw --version

If that works, continue with setup directly:

#
ollama serve

In a second PowerShell:

ollama pull qwen3.5:9b

openclaw onboard --non-interactive `
  --mode local `
  --auth-choice ollama `
  --custom-base-url "http://127.0.0.1:11434" `
  --custom-model-id "qwen3.5:9b" `
  --accept-risk `
  --skip-health
#

Then:

openclaw gateway install --force
openclaw gateway restart
openclaw gateway status --deep

If openclaw --version does not work, bypass the installer and run:

npm install -g openclaw@latest --no-fund --no-audit
ancient vigil
#

openclaw : The term 'openclaw' is not recognized as the name of a cmdlet, fu

formal fossilBOT
#

Yep, that’s just PATH not refreshed/added after Node/npm installed. Annoying, but fixable.

First: close PowerShell completely and open a new PowerShell. Then try:

openclaw --version

If it still says not recognized, run:

npm config get prefix

It’ll probably print something like:

#
C:\Users\wispy\AppData\Roaming\npm

Then add that exact folder to your user PATH:

$prefix = npm config get prefix
$old = [Environment]::GetEnvironmentVariable("Path", "User")
[Environment]::SetEnvironmentVariable("Path", "$old;$prefix", "User")

Now close PowerShell again, open a fresh one, and test:

openclaw --version
#

If you want to run it immediately without fixing PATH first:

$prefix = npm config get prefix
& "$prefix\openclaw.cmd" --version

If npm itself is not recognized, Node didn’t finish wiring into PATH either — reboot or reinstall Node from nodejs.org.

ancient vigil
#

OpenClaw 2026.4.26 (be8c246)

formal fossilBOT
#

Nice, install is good now. 🎉

Next do Ollama + OpenClaw setup:

PowerShell 1:

ollama serve

Leave it open.

PowerShell 2:

ollama pull qwen3.5:9b
#

openclaw onboard --non-interactive `
  --mode local `
  --auth-choice ollama `
  --custom-base-url "http://127.0.0.1:11434" `
  --custom-model-id "qwen3.5:9b" `
  --accept-risk `
  --skip-health

openclaw gateway install --force
openclaw gateway restart
openclaw gateway status --deep

If ollama serve says it’s already running, that’s fine — continue in PowerShell 2.

ancient vigil
#

openclaw dashboard wont run if the gateway isnt up right?

formal fossilBOT
#

Right — openclaw dashboard needs the Gateway reachable. It opens the Control UI served by the Gateway, usually:

http://127.0.0.1:18789/

So first check/start the gateway:

openclaw gateway status --deep
openclaw gateway restart
openclaw gateway status --deep

If it still says stopped, run it in the foreground to see the error:

#
openclaw gateway --port 18789 --verbose

Once that stays running, then:

openclaw dashboard
ancient vigil
#

it seems really slow overall

formal fossilBOT
#

Yeah, that’s unfortunately pretty normal with local Ollama, especially on native Windows.

A few things can make it feel slow:

  • First prompt loads the model into RAM/VRAM — this can take a while.
  • If Ollama is using CPU instead of GPU, responses can be very slow.
  • OpenClaw’s first run may do bootstrap/context work, so the first reply is slower than later ones.
  • Local models can be much slower/less reliable for tool-heavy agent work than cloud models.

Check Ollama directly first:

ollama ps

Look for whether it says CPU/GPU/processor info.

#

Then test raw Ollama speed outside OpenClaw:

ollama run qwen3.5:9b "Say OK and nothing else."

If that is slow, the bottleneck is Ollama/hardware, not OpenClaw.

If raw Ollama is fast but OpenClaw is slow, run:

openclaw status --all
openclaw logs --follow

For current local model recommendations, ask in #models — people there will have much fresher hands-on advice. Docs: https://docs.openclaw.ai/concepts/models 🩐

ancient vigil
#

im configuring openclaw atm and it seems really slow

formal fossilBOT
#

During configuration/onboarding, slow is usually one of these:

  1. Ollama model discovery / pull
    If it’s pulling qwen3.5:9b, that can take a long time.

  2. First model load
    Ollama may be loading the model into RAM/VRAM.

  3. Gateway health wait
    On native Windows, onboarding can wait for the local gateway health check. If you’re doing non-interactive setup, use --skip-health.

  4. Windows Scheduled Task setup
    Native Windows service install can be slow/wedgy sometimes.

If it’s sitting there with no prompt for >10–15 minutes, I’d cancel with Ctrl+C and do the faster split flow:

#
ollama serve

Then in another PowerShell:

ollama pull qwen3.5:9b

openclaw onboard --non-interactive `
  --mode local `
  --auth-choice ollama `
  --custom-base-url "http://127.0.0.1:11434" `
  --custom-model-id "qwen3.5:9b" `
  --accept-risk `
  --skip-health
#

openclaw gateway install --force
openclaw gateway restart
openclaw gateway status --deep

If the slow part is ollama pull, let it finish. If the slow part is after OpenClaw says it’s starting/checking gateway, --skip-health avoids that wait.

ancient vigil
#

Install Telegram plugin?
| Download from npm (@openclaw/telegram)
| > Use local plugin path (C:\Users\wispy\AppData\Roaming\npm\node_modules\openclaw\dist\extensions\telegram)
| Skip for now
—

formal fossilBOT
#

Choose:

Use local plugin path (...)

That’s the fastest/offline-ish option because it uses the Telegram plugin bundled with your installed OpenClaw.

Only choose Download from npm if the local plugin is missing/broken.
Choose Skip for now if you don’t plan to use Telegram yet.

ancient vigil
#

Select plugin to configure
| @openclaw/ollama-provider

formal fossilBOT
#

Select:

@openclaw/ollama-provider

That’s the right one for local Ollama.

When it asks for mode/base URL, use:

Local only
http://127.0.0.1:11434

Model:

#
qwen3.5:9b

Make sure Ollama is running in another PowerShell:

ollama serve
ancient vigil
#

idk if its even working,it seems stuck on this
Model Discovery — Plugin-owned controls for Ollama model auto-discovery.

formal fossilBOT
#

That screen is probably trying to query Ollama’s model list. If Ollama isn’t responding, it can feel stuck.

Open a second PowerShell and run:

Invoke-RestMethod http://127.0.0.1:11434/api/tags
  • If that returns models/JSON: discovery should eventually continue.
  • If it errors/connection refused: Ollama isn’t running. Start it:
ollama serve

Then in another window:

#
ollama pull qwen3.5:9b

If the wizard is still stuck after that, press Ctrl+C and use the direct setup instead:

openclaw onboard --non-interactive `
  --mode local `
  --auth-choice ollama `
  --custom-base-url "http://127.0.0.1:11434" `
  --custom-model-id "qwen3.5:9b" `
  --accept-risk `
  --skip-health

Then:

#
openclaw gateway install --force
openclaw gateway restart
ancient vigil
#

telegram bot said you are not authorised to use this command , telegram is set to pairing

formal fossilBOT
#

That’s expected with dmPolicy: "pairing": Telegram won’t process commands until your Telegram sender is approved.

On your Windows PowerShell, run:

openclaw pairing list telegram

You should see a pending code. Approve it:

openclaw pairing approve telegram <CODE>

Then DM the bot again.

Important: pairing only approves DMs. If you’re using the bot in a Telegram group, you also need group allowlist config. For a one-user setup, the cleanest path is usually adding your numeric Telegram user ID to channels.telegram.allowFrom.

ancient vigil
#

says no pending request

formal fossilBOT
#

“No pending request” usually means one of these:

  1. You messaged the bot in a group — pairing is DM-only.
  2. The bot/gateway didn’t actually receive the DM.
  3. You’re checking the wrong Telegram account scope.
  4. You’re running CLI as a different Windows user than the gateway.

Do this:

  1. DM the Telegram bot directly — send plain hello, not a group message.
  2. Then run:
openclaw pairing list --channel telegram

If still none, try:

#
openclaw channels status --probe
openclaw logs --follow

Then DM the bot again and watch logs for your Telegram from.id.

If you find your numeric Telegram user ID, you can skip pairing and make it durable:

openclaw config set channels.telegram.dmPolicy allowlist
openclaw config set channels.telegram.allowFrom '["YOUR_NUMERIC_TELEGRAM_ID"]' --strict-json
openclaw gateway restart

If this is a Telegram group, pairing won’t authorize it — you’ll need group allowlist config too.

ancient vigil
#

19:21:20 [plugins] document-extract staging bundled runtime deps (1 missing, 32 install specs): pdfjs-dist@^5.6.205
19:21:28 [plugins] document-extract installed bundled runtime deps in 8051ms: pdfjs-dist@^5.6.205
19:21:52 [plugins] microsoft staging bundled runtime deps (1 missing, 33 install specs): node-edge-tts@^1.2.10
19:21:55 [plugins] microsoft installed bundled runtime deps in 3284ms: node-edge-tts@^1.2.10
19:23:00 [plugins] web-readability staging bundled runtime deps (2 missing, 38 install specs): @mozilla/readability@^0.6.0, linkedom@^0.18.12
19:23:04 [plugins] web-readability installed bundled runtime deps in 4512ms: @mozilla/readability@^0.6.0, linkedom@^0.18.12
19:23:11 [telegram] Polling stall detected (active getUpdates stuck for 170.98s); forcing restart. [diag inFlight=1 outcome=started startedAt=1777368020879 finishedAt=1777368020873 durationMs=42047 offset=38578777]
19:23:11 [telegram] [diag] polling cycle finished reason=polling stall detected inFlight=0 outcome=error startedAt=1777368020879 finishedAt=1777368191864 durationMs=170985 offset=38578777 error=Network request for 'getUpdates' failed!
19:23:11 [telegram] polling runner stopped (polling stall detected); restarting in 2.37s.
19:23:13 [ws] ⇄ res ✓ node.list 1439ms conn=7366665a
8b97 id=754de575
aef3
19:23:14 [telegram] [diag] closing stale transport before rebuild
19:23:14 [telegram] [diag] rebuilding transport for next polling cycle

formal fossilBOT
#

Those plugin install lines are normal first-run stuff. The important bit is:

[telegram] ... error=Network request for 'getUpdates' failed!

So Telegram isn’t reliably connecting to api.telegram.org. That’s why there’s no pending pairing request — OpenClaw isn’t receiving your DM.

Run:

openclaw channels status --probe
Test-NetConnection api.telegram.org -Port 443

Then restart the gateway:

#
openclaw gateway restart
openclaw logs --follow

Now DM the Telegram bot again and watch for new Telegram log lines. If the polling error continues, it’s likely network/proxy/VPN/firewall/DNS/IPv6 related.

If you test the bot token manually, don’t paste the token here:

Invoke-RestMethod "https://api.telegram.org/bot<YOUR_BOT_TOKEN>/getMe"

Once Telegram polling works, DM pairing should create a code, then: