#Openclaw is running extremely slow
1 messages · Page 1 of 1 (latest)
Yep — first thing: please paste your version and a safe status report:
openclaw --version
openclaw status --all
openclaw gateway status
If it’s slow only in one long chat/thread, also try:
/status
/compact
or start fresh with:
/new
Common causes of “extremely slow”:
- Huge conversation context →
/compactor/new - Local/Ollama model too large or huge context window → CPU/VRAM gets pinned
- Provider/model latency → try a faster cloud model temporarily
- Gateway stuck/busy → check
openclaw status --all+ logs - Tool/browser work running in background →
/statusshows what’s active
Docs: https://docs.openclaw.ai/help/faq and https://docs.openclaw.ai/help/troubleshooting
Paste the outputs above — especially openclaw --version — and I’ll help narrow it down. 🦐
here is the version, the status is too much to put into this window OpenClaw 2026.4.26 (be8c246)
Thanks — 2026.4.26 is useful.
Don’t paste the giant status into Discord; upload it as a file instead:
openclaw status --all > openclaw-status.txt
openclaw logs --limit 300 --plain > openclaw-logs.txt
Attach those two files if you can.
Quick checks/fixes meanwhile:
openclaw doctor
openclaw gateway status
If it’s slow only in this one conversation/thread:
/status
/compact
If it’s slow everywhere, on 2026.4.26 also check this known-ish failure pattern:
python3 -m json.tool ~/.openclaw/devices/pending.json >/dev/null && echo "pending ok" || echo "pending.json corrupted"
If that says corrupted:
mv ~/.openclaw/devices/pending.json ~/.openclaw/devices/pending.json.bad
openclaw gateway restart
Then try again.
Docs for the triage flow: https://docs.openclaw.ai/help/troubleshooting 🦐
🦞 OpenClaw 2026.4.26 (be8c246) — I can run local, remote, or purely on vibes—results may vary with DNS.
│
◇
Service: LaunchAgent (loaded)
File logs: /tmp/openclaw/openclaw-2026-04-29.log
Command: /opt/homebrew/opt/node@22/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 21576, state active)
Connectivity probe: ok
Capability: admin-capable
Listening: 127.0.0.1:18789
Gateway itself looks healthy: service is running, port is reachable, admin probe works. So the slowness is probably inside the agent run: model latency, huge session context, a stuck tool, or local/Ollama resource pressure.
Next best checks:
- In the slow chat, send:
/status
If it shows a huge context / lots of compactions / active tool work, run:
/compact
or for a clean test:
/new
- Attach the status/logs as files, not pasted text:
openclaw status --all > openclaw-status.txt
openclaw logs --limit 300 --plain > openclaw-logs.txt
- If you’re using a local model/Ollama, also run:
ollama ps
and tell us the model name + whether CPU/RAM/VRAM is pegged.
The gateway status you pasted rules out “OpenClaw isn’t running”; now we need to see whether it’s waiting on the model, context building, tools, or something wedged in logs. Docs: https://docs.openclaw.ai/help/troubleshooting 🦐
Also please dont give me multiple commands to run all in one response from ypu. it makes it very difficult to keeep up. 1 command and response at a time will keep us on track
Absolutely — my bad. We’ll do one step at a time.
Please run this in the slow OpenClaw chat:
/status
Paste just the result from that.
🦞 OpenClaw 2026.4.26 (be8c246)
🧠 Model: openrouter/google/gemma-4-31b-it · 🔑 api-key (openrouter:default)
🧮 Tokens: 255k in / 118 out
📚 Context: 64k/262k (24%) · 🧹 Compactions: 0
🧵 Session: agent:main:main • updated just now
⚙️ Execution: direct · Runtime: OpenClaw Pi Default · Think: high
🪢 Queue: collect (depth 0)
Got it — this status says the gateway isn’t stuck. Queue is empty, but the chat has 64k context, which can make each reply slow.
Next single step: in that same slow OpenClaw chat, run:
/compact
After it finishes, paste the short result. Docs: https://docs.openclaw.ai/concepts/compaction
it not giving me any response when I type /compact
That can happen — compaction notices may be quiet, or it may not have triggered visibly.
Next single step: run this again in the same chat:
/status
Paste the result. I want to see whether Compactions changed from 0 or context dropped from 64k.
🦞 OpenClaw 2026.4.26 (be8c246)
🧠 Model: openrouter/google/gemma-4-31b-it · 🔑 api-key (openrouter:default)
🧮 Tokens: 3.5m in / 21k out
📚 Context: 64k/262k (24%) · 🧹 Compactions: 1
🧵 Session: agent:main:main • updated just now
⚙️ Execution: direct · Runtime: OpenClaw Pi Default · Think: high
🪢 Queue: collect (depth 0)
Compaction did run (Compactions: 1), but context is still 64k, so this session is still heavy.
Next single step: start a clean test session in that same chat:
/new
Then send a simple test message like “hi” and tell me if the reply is fast or still slow.
it took 35 seconds for it to respond after i typed new. This is what the response finally was: Ready for execution, Warren. I'm currently running on Gemma 4, though the default is Qwen 2.5 72B. What's the high-ROI priority for today?
35 seconds on a brand-new session points more toward model/provider + Think: high, not old context.
Next single step: in that same OpenClaw chat, run:
/think off
Then tell me what it replies.
so far no response from think off
Got it. If /think off isn’t acknowledging, try the colon form — one command:
/think:off
This should reply with something like “Thinking disabled.”
Nothin in the reply .. completely blank. I'm in the opeenclaw dashboard chat UI
Ah, okay — Dashboard Chat UI changes this. Blank reply means the slash command may not be getting handled cleanly there.
Next single step: run this in your terminal right after that blank reply:
openclaw logs --limit 120 --plain
Paste the last chunk that shows the /think:off attempt or any errors.
there is a lot of output i dont know how to get that to you
pastebin
No worries — don’t paste it. Make a small file and attach it here.
Run this one command:
openclaw logs --limit 120 --plain > ~/Desktop/openclaw-logs.txt
Then drag openclaw-logs.txt from your Desktop into this Discord thread.
Yep, Pastebin/Gist works too — just make sure tokens/keys are redacted. openclaw logs --plain usually avoids obvious secrets, but still skim before posting if you can.
sorry I cant drag that here. system just drops it
No problem. Let’s avoid file upload.
Run this one command — it only shows suspicious/error lines:
openclaw logs --limit 300 --plain | grep -Ei "error|warn|timeout|slow|blank|empty|fail|abort|openrouter|gemma|think|slash"
Paste whatever that prints.
bleTotalTokens=0 promotedToolResults=0 promotedOrdinals=none removedToolUseBlocks=0 touchedAssistantMessages=0
2026-04-29T22:55:17.501Z info {"plugin":"lossless-claw"} [lcm] ingestBatch: session queue acquired queueKey=agent:main:main queuedAhead=0 wait=0ms session=ef0e9530-651b-491b-b8de-2cc0ae3417b0 sessionKey=agent:main:main messages=1
2026-04-29T22:55:17.503Z info {"plugin":"lossless-claw"} [lcm] incremental compaction decision: conversation=1 cacheState=cold activityBand=low tokenBudget=262144 currentTokenCount=0 cacheRead=0 cacheWrite=0 cachePromptTokenCount=63887 cacheReadSharePct=0.0% triggerLeafChunkTokens=20000 preferredLeafChunkTokens=40000 fallbackLeafChunkTokens=40000,30000,20000 rawTokensOutsideTail=0 threshold=20000 shouldCompact=false maxPasses=1 allowCondensedPasses=false reason=below-leaf-trigger
2026-04-29T22:55:17.505Z warn {"plugin":"lossless-claw"} [lcm] afterTurn: bootstrap checkpoint refresh failed for session=ef0e9530-651b-491b-b8de-2cc0ae3417b0 sessionKey=agent:main:main: ENOENT: no such file or directory, stat '/Users/warren/.openclaw/agents/main/sessions/ef0e9530-651b-491b-b8de-2cc0ae3417b0.jsonl'
2026-04-29T22:55:17.506Z info {"plugin":"lossless-claw"} [lcm] afterTurn: done conversation=1 session=ef0e9530-651b-491b-b8de-2cc0ae3417b0 sessionKey=agent:main:main newMessages=1 dedupedMessages=1 ingestedMessages=1 duration=13ms
2026-04-29T22:55:17.506Z info {"plugin":"lossless-claw"} [lcm] assemble: done conversation=1 session=ef0e9530-651b-491b-b8de-2cc0ae3417b0 sessionKey=agent:main:main contextItems=1 hasSummaryItems=false inputMessages=1 outputMessages=1 tokenBudget=262144 estimatedTokens=0 duration=0ms Thi is as much as i coul fit into the chat
That snippet helps. I see lossless-claw is active, and it’s still assembling around 64k prompt tokens even after /new. That’s likely why it feels slow.
Let’s test by switching back to the built-in context engine.
Run this one command:
openclaw config set plugins.slots.contextEngine legacy
Paste what it says.
No I just installed that a few minutes ago. The system has been slow for days
Fair correction — then lossless-claw probably isn’t the original cause. Thanks for catching that.
Let’s isolate whether the model/provider itself is slow outside the chat/session.
Run this one command:
time openclaw infer model run --model openrouter/google/gemma-4-31b-it --prompt "Reply exactly: pong" --json
Tell me roughly how many seconds it takes.
it returned this after about 30 seconds, but it may be stil processing more outbut i am not sure: warren@warrens-mini ~ % time openclaw infer model run --model openrouter/google/gemma-4-31b-it --prompt "Reply exactly: pong" --json
plugin runtime config.loadConfig() is deprecated (runtime-config-load-write); use config.current().
That line is just a plugin warning, not the model result yet.
Next step: wait until your terminal prompt comes back.
When it finishes, tell me only:
- did it print
pong? - the final
realtime fromtime
If it’s still not done after ~2 minutes, press Ctrl+C and tell me “stuck after 2 min”.
actually it cam back with more after about 2 minutes: pong" --json
plugin runtime config.loadConfig() is deprecated (runtime-config-load-write); use config.current().
19:14:59 [agent/embedded] [tools] No callable tools remain after resolving explicit tool allowlist (tools.allow: *, browser); tools are disabled for this run. Fix the allowlist or enable the plugin that registers the requested tool.
19:14:59 [agent/embedded] embedded run failover decision: runId=ef0e9530-651b-491b-b8de-2cc0ae3417b0 stage=prompt decision=surface_error reason=none from=openrouter/google/gemma-4-31b-it profile=sha256:ac092b59b472 rawError=No callable tools remain after resolving explicit tool allowlist (tools.allow: *, browser); tools are disabled for this run. Fix the allowlist or enable the plugin that registers the requested tool.
19:14:59 [diagnostic] lane task error: lane=main durationMs=68247 error="Error: No callable tools remain after resolving explicit tool allowlist (tools.allow: *, browser); tools are disabled for this run. Fix the allowlist or enable the plugin that registers the requested tool."
19:14:59 [diagnostic] lane task error: lane=session:agent:main:main durationMs=68248 error="Error: No callable tools remain after resolving explicit tool allowlist (tools.allow: *, browser); tools are disabled for this run. Fix the allowlist or enable the plugin that registers the requested tool."
Error: No callable tools remain after resolving explicit tool allowlist (tools.allow: *, browser); tools are disabled for this run. Fix the allowlist or enable the plugin that registers the requested tool.
openclaw infer model run --model openrouter/google/gemma-4-31b-it --prompt 45.49s user 58.67s system 100% cpu 1:43.47 total
That output found a real config problem:
tools.allow: *, browser is causing runs to fail at the prompt stage with “No callable tools remain…”. Even if this isn’t the only slowdown, we should fix that first because it’s definitely broken.
Next single command:
openclaw config get tools.allow --json
Paste what it prints.
I was doing some browser control automatio stuff but i do wan to get rid of it
Makes sense. The risky bit is tools.allow being an absolute allowlist; it can accidentally remove the normal tool profile and break runs.
Next single command to remove it:
openclaw config unset tools.allow
Paste what it says.
lets pause for a sec as I'm having openclae remove and delet all of the browser automation stuff I was doing that related to google.
Yep, pause is good.
One caution: deleting browser automation stuff may not fix this specific error unless tools.allow is also removed or changed. That error is from config policy, not just old browser files.
I’ll wait — when that cleanup finishes, send me what changed or any error it reports.
got this on the first command warren@warrens-mini ~ % openclaw config get tools.allow --json
Config path not found: tools.allow
Good — that means the global tools.allow is gone now. The earlier failing run may have been using the old loaded config.
Next single step: restart the gateway so it reloads cleanly.
openclaw gateway restart
Tell me if it says restarted successfully or shows an error.
got tis on the second commsnd: warren@warrens-mini ~ % openclaw config unset tools.allow
🦞 OpenClaw 2026.4.26 (be8c246) — Built by lobsters, for humans. Don't question the hierarchy.
Config path not found: tools.allow
That’s fine — it just means there’s nothing left to unset.
Next single command:
openclaw gateway restart
Paste the result.
is restarting now
Good. Let it finish.
When the prompt comes back, tell me whether it restarted cleanly or paste the error if it doesn’t.
no error but it took a long time to respoind. in the telegram chat i typed are you there and it cam back with this: ontext limit exceeded. I've reset our conversation to start fresh - please try again.
To prevent this, increase your compaction buffer by setting agents.defaults.compaction.reserveTokensFloor to 20000 or higher in your config.
That Telegram message means the chat history was overflowing and OpenClaw reset it. Good clue.
Next single command — check whether your compaction reserve is misconfigured:
openclaw config get agents.defaults.compaction --json
Paste the output.
warren@warrens-mini ~ % openclaw config get agents.defaults.compaction --json
Config path not found: agents.defaults.compaction
Okay — no custom compaction config. Let’s add the recommended reserve floor.
Run this one command:
openclaw config set agents.defaults.compaction.reserveTokensFloor 20000 --strict-json
Paste what it says.
Updated agents.defaults.compaction.reserveTokensFloor. Restart the gateway to apply.
warren@warrens-mini ~ %