#No Response from Bot

1 messages Β· Page 1 of 1 (latest)

opaque quartz
#

Hi, my bot is not responding to my messages. I’ve already reinstalled OpenClaw three times and configured OpenRouter, but it’s still not working. I also tried different models, but nothing happens. Two days ago, OpenClaw was still working fine. Could you please help me set it up?

sturdy islandBOT
junior hillBOT
#

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

outer sinewBOT
#

That’s frustrating. Don’t reinstall again yet, this is usually a status/logs issue, not a reinstall issue.

Please paste these outputs in one reply:

openclaw --version
openclaw status --all
openclaw gateway status
openclaw channels status --probe
openclaw models status
openclaw doctor

Then, in another terminal:

#
openclaw logs --follow

While logs are running, send the bot one test message, then paste the first errors or warnings you see.

Also tell me:

  1. which channel you’re using, Discord / Telegram / WhatsApp / etc.
  2. if this is DM or a group/server channel
  3. whether you updated OpenClaw around the time it stopped working

On Discord specifically, one very common cause is mention gating, logs often show:

  • drop guild message (mention required)
  • pairing / allowlist blocks
  • channel transport disconnected

Docs I’m following:

opaque quartz
#

gateway connect failed: GatewayClientRequestError: pairing required
21:20:32+00:00 warn gateway {"subsystem":"gateway"} security audit: device access upgrade requested reason=scope-upgrade device=0631289dc5953d7d6536c022763ae00ce4075f95d9143a71a34a0c60d9b9e380 ip=unknown-ip auth=token roleFrom=operator roleTo=operator scopesFrom=operator.read scopesTo=operator.admin,operator.approvals,operator.pairing,operator.read,operator.talk.secrets,operator.write client=cli conn=def54ad2-cdfb-4489-8f28-0e7e64e7867f
21:20:34+00:00 error gateway connect failed: GatewayClientRequestError: pairing required
21:20:34+00:00 error gateway connect failed: GatewayClientRequestError: pairing required

#
  1. Discord
    2.Server
  2. No
outer sinewBOT
#

Nice, this log is actually very helpful. We found the issue.

This is not an OpenRouter/model problem. Your client is hitting a device scope upgrade and the gateway is refusing it until you approve the new access.

pairing required here means gateway device pairing, not chat sender pairing.

Run:

openclaw devices list
openclaw devices approve <requestId>

Important: openclaw devices approve --latest only previews. You need the exact requestId from devices list.

Your log shows the CLI currently has only:

#
  • operator.read

and it is now requesting:

  • operator.admin
  • operator.approvals
  • operator.pairing
  • operator.read
  • operator.talk.secrets
  • operator.write

So approve that pending upgrade, then retry your command.

After that, send me:

#

Perfect, that narrows it down.

Because this is Discord in a server, I’d check two things:

  1. Fix the gateway pairing/scope-upgrade first

    openclaw devices list
    openclaw devices approve <requestId>
    
  2. Then test Discord server routing

    • send a message that explicitly @mentions the bot
    • keep logs open while testing:
      openclaw --version
      openclaw channels status --probe
      openclaw logs --follow
#

Please paste those outputs after you test.

For Discord server replies, the most common causes are:
- **Message Content Intent** not enabled
- guild/channel not allowed
- `requireMention` is on, so non-mentions are ignored

The docs match that exactly:
- <https://docs.openclaw.ai/channels/discord#troubleshooting>
- <https://docs.openclaw.ai/channels/troubleshooting>
- <https://docs.openclaw.ai/gateway/troubleshooting#no-replies>

So the immediate next step is:
#
openclaw devices list
openclaw devices approve <requestId>
openclaw channels status --probe
openclaw logs --follow

Then mention the bot once in the server and paste whatever the logs say. If it shows mention required, blocked, or an intent error, I can tell you the exact fix.

opaque quartz
#

Direct scope access failed; using local fallback.
Pending (1)
β”Œβ”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”¬β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”¬β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”¬β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”¬β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”¬β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”¬β”€β”€β”€β”€β”€β”€β”€β”€β”
β”‚ Request β”‚ Device β”‚ Role β”‚ Scopes β”‚ IP β”‚ Age β”‚ Flags β”‚
β”œβ”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”Όβ”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”Όβ”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”Όβ”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”Όβ”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”Όβ”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”Όβ”€β”€β”€β”€β”€β”€β”€β”€β”€
β”‚ bba9a6a0-9ae3-4ace-a7c8-3f8efddf0a7d β”‚ 0631289dc5953d7d6536c022763ae00ce4 β”‚ operator β”‚ operator.admin, operator.read, operator.write, operator.approvals, operator. β”‚ β”‚ just now β”‚ repair β”‚
β”‚ β”‚ 075f95d9143a71a34a0c60d9b9e380 β”‚ β”‚ pairing, operator.talk.secrets β”‚ β”‚ β”‚ β”‚
β””β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”΄β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”΄β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”΄β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”΄β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”΄β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”΄β”€β”€β”€β”€β”€β”€β”€β”€β”˜
Paired (2)

β”‚ Device β”‚ Roles β”‚ Scopes β”‚ Tokens β”‚ IP β”‚
────────────────────────────────────┼─────────────┼─────────────
β”‚ gateway:doctor.memory.status β”‚ operator β”‚ operator.read β”‚ operator β”‚ β”‚
β”‚ 5b9256f0b58701e8792d3b827723da9fd29b66e6d777be76856e0f5e69bef291 β”‚ operator β”‚ operator.admin, operator.read, operator.write, operator.approvals, operator.pairing β”‚ operator β”‚ β”‚

outer sinewBOT
#

Yep, that’s the pending upgrade.

Approve this exact request:

openclaw devices approve bba9a6a0-9ae3-4ace-a7c8-3f8efddf0a7d

Then run:

openclaw --version
openclaw channels status --probe
openclaw logs --follow

After logs --follow is running, go into the Discord server and @mention the bot once, then paste the new log lines.

#

Direct scope access failed; using local fallback. is not the main problem here. The real blocker is the pending device scope repair/upgrade.

If the approve command works but the bot is still silent in the server, the next likely Discord-side causes are:

  • requireMention
  • guild/channel allowlist
  • Message Content Intent

Docs:

Paste the result of the approve command plus the next log lines, and I’ll help with the next step.

opaque quartz
#

21:31:30+00:00 info Approved 0631289dc5953d7d6536c022763ae00ce4075f95d9143a71a34a0c60d9b9e380 (bba9a6a0-9ae3-4ace-a7c8-3f8efddf0a7d)
21:32:42+00:00 info gateway/ws {"subsystem":"gateway/ws"} ⇄ res βœ“ channels.status 615ms conn=320e496b…5fcb id=ade4c1e1…df6c
21:32:42+00:00 info Gateway reachable.

  • Discord default: enabled, configured, running, connected, in:12m ago, bot:@Izzy, token:*** intents:content=limited, works

Tip: status --deep adds gateway health probes to status output (requires a reachable gateway).
Log tail truncated (increase --max-bytes).
21:32:52+00:00 warn agent/embedded {"subsystem":"agent/embedded"} incomplete turn detected: runId=b319b533-702d-4df5-8179-68c52949e84b sessionId=c9a4e54e-33bc-4b6e-8b81-366dba473956 stopReason=stop payloads=0 β€” surfacing error to user

outer sinewBOT
#

Nice, progress. Discord itself is now connected and working.

What the logs say now:

  1. Channel side is healthy

    • Discord ... connected ... works
  2. Your bot has limited server visibility

    • intents:content=limited
    • On Discord, that usually means Message Content Intent is not fully enabled, so in servers the bot may only reliably see @mentions / DMs, not normal messages.
  3. The agent is starting, but the model run is failing

    • incomplete turn detected ... payloads=0
    • That means OpenClaw received the message, started the run, and then the model returned no visible answer.

So there are 2 remaining fixes:

#

A. For server messages, enable Message Content Intent

In the Discord Developer Portal for your bot, turn on:

  • Message Content Intent
  • restart the gateway afterward

Docs:

B. Test the model directly

Please run and paste:

openclaw --version
openclaw models status
openclaw config get agents.defaults.model.primary
#
openclaw infer model run --model <paste-the-model-id-here> --prompt "Reply with exactly: hello" --json

If that direct infer model run also fails or comes back empty, then the problem is the selected model/provider path, not Discord.

For now, while content=limited is still showing, test in the server by @mentioning the bot. Without full Message Content Intent, plain server messages can be invisible.

Relevant docs:

Paste the models status and infer model run output next, and we can pin down the last blocker.

opaque quartz
#

Config : ~/.openclaw/openclaw.json
Agent dir : ~/.openclaw/agents/main/agent
Default : openrouter/arcee-ai/trinity-large-preview:free
Fallbacks (0) : -
Image model : -
Image fallbacks (0): -
Aliases (1) : OpenRouter -> openrouter/auto
Configured models (2): openrouter/auto, openrouter/arcee-ai/trinity-large-preview:free

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...3d3319d2 | env=sk-or-v1...3d3319d2 | source=env: OPENROUTER_API_KEY
  • perplexity effective=env:sk-or-v1...3d3319d2 | env=sk-or-v1...3d3319d2 | source=env: OPENROUTER_API_KEY

OAuth/token status

  • none
outer sinewBOT
#

This helps a lot.

Your auth looks fine. So the remaining blockers are now pretty clear:

  1. Discord is still running with limited content intent

    • intents:content=limited
    • In a server, that usually means the bot will not reliably see normal messages unless it’s @mentioned
    • If you want it to answer plain server messages, enable Message Content Intent in the Discord Developer Portal, then restart the gateway
  2. Your current default model is the next likely problem

    • openrouter/arcee-ai/trinity-large-preview:free
    • Your earlier log, incomplete turn detected ... payloads=0, means the agent started but the model returned no visible answer

So I’d test the model path directly now:

#
openclaw infer model run --model openrouter/arcee-ai/trinity-large-preview:free --prompt "Reply with exactly: hello" --json
openclaw infer model run --model openrouter/auto --prompt "Reply with exactly: hello" --json

Please paste both outputs.

If the first one is empty/fails and openrouter/auto works, then the issue is basically the free preview model, not your Discord setup.

For the Discord side, docs are here:

For model behavior:

#

So at this point, I would:

  • enable Message Content Intent
  • test both infer commands above
  • keep using @mentions in the server until the intent is fixed

Paste the two infer model run results and we can pin it down completely.

opaque quartz
#

23:42:18 [agent/embedded] incomplete turn detected: runId=8787c450-9aa8-43c2-b942-d6bf2cc17f2a sessionId=8787c450-9aa8-43c2-b942-d6bf2cc17f2a stopReason=stop payloads=0 β€” surfacing error to user
{
"ok": true,
"capability": "model.run",
"transport": "local",
"provider": "openrouter",
"model": "arcee-ai/trinity-large-preview:free",
"attempts": [],
"outputs": [
{
"text": "⚠️ Agent couldn't generate a response. Please try again.",
"mediaUrl": null
}
]
}

outer sinewBOT
#

Good, that confirms the root cause.

Your current model is the problem:

  • openrouter/arcee-ai/trinity-large-preview:free
  • even a direct infer model run returns:
    • ⚠️ Agent couldn't generate a response. Please try again.

So at this point, Discord is not the main blocker anymore. The bot is connected, but that model is not producing a usable reply.

Do this next

Switch off that model:

openclaw models set openrouter/auto
#

Then test it directly:

openclaw infer model run --model openrouter/auto --prompt "Reply with exactly: hello" --json

If that works, test the bot again in Discord with an @mention.

One more Discord fix

Your status also showed:

  • intents:content=limited

So if you want the bot to respond to normal server messages, also enable Message Content Intent in the Discord Developer Portal. Until then, test with @mentions.

Short version

You had two separate issues:

opaque quartz
#

23:46:42 [agent/embedded] incomplete turn detected: runId=8787c450-9aa8-43c2-b942-d6bf2cc17f2a sessionId=8787c450-9aa8-43c2-b942-d6bf2cc17f2a stopReason=stop payloads=0 β€” surfacing error to user
{
"ok": true,
"capability": "model.run",
"transport": "local",
"provider": "openrouter",
"model": "openrouter/auto",
"attempts": [],
"outputs": [
{
"text": "⚠️ Agent couldn't generate a response. Please try again.",
"mediaUrl": null
}
]
}

outer sinewBOT
#

That confirms it, this is no longer a Discord issue.

Because both of these fail on a direct model run:

  • openrouter/arcee-ai/trinity-large-preview:free
  • openrouter/auto

the break is now isolated to the OpenRouter provider path itself.

Next best check

Please run:

openclaw --version
openclaw models status --probe --probe-provider openrouter
#

Then, in another terminal:

openclaw logs --follow

While logs are open, run this once more:

openclaw infer model run --model openrouter/auto --prompt "Reply with exactly: hello" --json

and paste the OpenRouter-related log lines.

Why this matters

models status --probe should tell us if OpenClaw sees this as:

#
  • auth
  • rate_limit
  • billing
  • timeout
  • format
  • unknown

Right now all we know is: OpenClaw can reach the provider path, but the provider/model run ends with an empty/incomplete response.

Separate Discord note

You still also want to fix:

  • intents:content=limited

because in server channels that means the bot may only reliably work on @mentions until Message Content Intent is enabled.

Docs:

opaque quartz
#

21:52:34+00:00 warn agent/embedded {"subsystem":"agent/embedded"} incomplete turn detected: runId=probe-fafaf0ce-d58b-4f0a-9848-43c37500b18b sessionId=probe-openrouter-9b0d86e6-9714-4be1-93e4-ca30927d3de8 stopReason=stop payloads=0 β€” surfacing error to user
21:53:39+00:00 warn agent/embedded {"subsystem":"agent/embedded"} incomplete turn detected: runId=8787c450-9aa8-43c2-b942-d6bf2cc17f2a sessionId=8787c450-9aa8-43c2-b942-d6bf2cc17f2a stopReason=stop payloads=0 β€” surfacing error to user

outer sinewBOT
#

We’re close, but I still need the actual probe output, not just the log tail.

Those log lines only confirm the same symptom again: OpenRouter is returning an empty/incomplete response.

Please paste the direct output of:

openclaw --version
openclaw models status --probe --probe-provider openrouter --plain

If --plain is not supported on your version, just run:

openclaw models status --probe --probe-provider openrouter
#

What I need to see is whether OpenClaw classifies OpenRouter as:

  • ok
  • auth
  • rate_limit
  • billing
  • timeout
  • format
  • unknown

Right now, the strongest read is:

  • Discord transport is fine
  • pairing is fixed
  • your OpenRouter model path is failing even on direct probe/model-run

So the remaining issue is likely either:

#
  1. an OpenRouter-side/provider issue, or
  2. a version-specific OpenClaw bug

Please paste those two command outputs next. If the probe still comes back weird and your version is old, I’d update immediately. If you’re already current, the next step will probably be a GitHub issue with the probe output attached:
https://github.com/openclaw/openclaw/issues

opaque quartz
#

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

β”‚
β—‡
Config : ~/.openclaw/openclaw.json
Agent dir : ~/.openclaw/agents/main/agent
Default : openrouter/openrouter/auto (from openrouter/auto)
Fallbacks (0) : -
Image model : -
Image fallbacks (0): -
Aliases (1) : OpenRouter -> openrouter/auto
Configured models (2): openrouter/auto, openrouter/arcee-ai/trinity-large-preview:free

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...3d3319d2 | env=sk-or-v1...3d3319d2 | source=env: OPENROUTER_API_KEY
  • perplexity effective=env:sk-or-v1...3d3319d2 | env=sk-or-v1...3d3319d2 | source=env: OPENROUTER_API_KEY

OAuth/token status

  • none

Auth probes
β”Œβ”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”¬β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”¬β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”
β”‚ Model β”‚ Profile β”‚ Status β”‚
β”œβ”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”Όβ”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”Όβ”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€
β”‚ openrouter/openrouter/auto β”‚ openrouter:default (api_key) β”‚ ok Β· 21.8s β”‚
β””β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”΄β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”΄β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”˜
Probed 1 target in 41.7s

outer sinewBOT
#

So the current picture is:

  1. your OpenRouter key is valid
  2. OpenClaw can reach OpenRouter
  3. OpenClaw is dropping/losing the returned assistant payload on this provider path

So no, I would not keep reinstalling. I don’t think this is fixable with more local setup changes.

Best workaround right now

If you need it working today, use a non-OpenRouter provider path temporarily in OpenClaw.

What I’d do next

  • subscribe / comment on one of those issues with your repro
  • include:
    • 2026.4.15
    • models status --probe showing openrouter ... ok
    • the infer model run output with payloads=0
#

If you want, I can help you switch to a temporary non-OpenRouter provider next.

Small separate note: once the model issue is out of the way, you should still enable Message Content Intent for normal Discord server messages, otherwise server replies may only work reliably on @mentions.

opaque quartz
#

whatist the best way to install openclaw on linux?

outer sinewBOT
#

On Linux, the best default install is:

curl -fsSL https://openclaw.ai/install.sh | bash
openclaw onboard --install-daemon

If you want the most debuggable / support-friendly setup, I’d actually use the git install instead:

curl -fsSL https://openclaw.ai/install.sh | bash -s -- --install-method git
openclaw onboard --install-daemon

My recommendation:

  • just want it working: normal installer
  • want easier debugging / local fixes / better support: git install
opaque quartz
outer sinewBOT
#

Yep, for the standard Linux install, that’s the right path:

curl -fsSL https://openclaw.ai/install.sh | bash
openclaw onboard --install-daemon

A couple quick notes:

  • run it on the Linux machine that will host the gateway
  • onboarding will walk you through auth/channels
  • for Discord server replies, also enable Message Content Intent

Docs:

Just one caveat: for the specific OpenRouter bug we found above, reinstalling with those commands probably won’t fix that part.

opaque quartz
#

CLI still installed. Remove via npm/pnpm if desired.

outer sinewBOT
#

That message is fine.

It just means you already have the OpenClaw CLI installed globally. You do not need to remove it to continue.

You can just keep going with:

openclaw onboard --install-daemon

Only remove the old CLI if you specifically want a totally clean reinstall. Otherwise, that line is just informational.

opaque quartz
#

i want to total clean reinstall

outer sinewBOT
#

If you want a true clean reinstall, I’d use the built-in commands, not manual file deletion.

Cleanest full wipe

This removes the service, config, state, and CLI-managed install:

openclaw uninstall --all --yes --non-interactive
curl -fsSL https://openclaw.ai/install.sh | bash
openclaw onboard --install-daemon

Slightly lighter option

If you want to wipe OpenClaw’s state but keep the CLI installed:

openclaw reset --scope full --yes --non-interactive
opaque quartz
#

how to configure openrouter by setup openclaw

outer sinewBOT
#

The setup path for OpenRouter in OpenClaw is:

openclaw onboard --auth-choice openrouter-api-key

Then:

  1. choose OpenRouter
  2. paste your API key from https://openrouter.ai/keys
  3. finish onboarding

By default, onboarding uses:

openrouter/auto
#

If you want to switch later to a specific OpenRouter model:

openclaw models set openrouter/<provider>/<model>

Example format only:

openrouter/google/gemini-2.5-flash

To verify config afterward:

openclaw models status
opaque quartz
#

The model did not produce a response before the LLM idle timeout. Please try again, or increase agents.defaults.llm.idleTimeoutSeconds in your config (set to 0 to disable).

outer sinewBOT
#

That message means the model sat idle long enough that OpenClaw gave up waiting.

The config key is real, docs here:
https://docs.openclaw.ai/concepts/agent-loop

If you want to test a longer wait, try:

openclaw config set agents.defaults.llm.idleTimeoutSeconds 300

If you want to disable that watchdog completely:

openclaw config set agents.defaults.llm.idleTimeoutSeconds 0
#

I’d try 300 first, not 0.

That said, in your thread I think this is still probably another symptom of the same OpenRouter bug we already isolated, not just a normal timeout. So increasing the timeout may help testing, but I would not expect it to fully fix the payloads=0 issue on 2026.4.15.

opaque quartz