#No Response from Bot
1 messages Β· Page 1 of 1 (latest)
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:
- which channel youβre using, Discord / Telegram / WhatsApp / etc.
- if this is DM or a group/server channel
- 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:
- https://docs.openclaw.ai/help/faq
- https://docs.openclaw.ai/help/troubleshooting
- https://docs.openclaw.ai/gateway/troubleshooting#no-replies
- https://docs.openclaw.ai/channels/troubleshooting
If you installed from source, use pnpm openclaw ... instead of openclaw .... Once you paste the outputs, Iβll help narrow it down fast.
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
- Discord
2.Server - No
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.adminoperator.approvalsoperator.pairingoperator.readoperator.talk.secretsoperator.write
So approve that pending upgrade, then retry your command.
After that, send me:
openclaw --version
openclaw status
openclaw gateway status
If youβre running from source, use pnpm openclaw ... instead.
Docs:
- https://docs.openclaw.ai/gateway/troubleshooting#dashboard-control-ui-connectivity
- https://docs.openclaw.ai/cli/devices
- https://docs.openclaw.ai/help/faq
If devices approve succeeds and you still get pairing required, paste the new openclaw devices list output and weβll go one step deeper.
Perfect, that narrows it down.
Because this is Discord in a server, Iβd check two things:
-
Fix the gateway pairing/scope-upgrade first
openclaw devices list openclaw devices approve <requestId> -
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.
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 β β
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:
- https://docs.openclaw.ai/cli/devices
- https://docs.openclaw.ai/channels/discord#troubleshooting
- https://docs.openclaw.ai/gateway/troubleshooting#no-replies
Paste the result of the approve command plus the next log lines, and Iβll help with the next step.
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
Nice, progress. Discord itself is now connected and working.
What the logs say now:
-
Channel side is healthy
Discord ... connected ... works
-
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.
-
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:
- https://docs.openclaw.ai/channels/discord#troubleshooting
- https://docs.openclaw.ai/concepts/models
- https://docs.openclaw.ai/help/troubleshooting
Paste the models status and infer model run output next, and we can pin down the last blocker.
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
This helps a lot.
Your auth looks fine. So the remaining blockers are now pretty clear:
-
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
-
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.
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
}
]
}
Good, that confirms the root cause.
Your current model is the problem:
openrouter/arcee-ai/trinity-large-preview:free- even a direct
infer model runreturns:β οΈ 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:
- gateway/device pairing scope issue, now fixed
- bad/default model returning empty replies, this is the current blocker
Docs:
- https://docs.openclaw.ai/cli/models
- https://docs.openclaw.ai/channels/discord#troubleshooting
- https://docs.openclaw.ai/concepts/models#model-discussions-community-notes
If openrouter/auto also fails, paste that output next. If it works, youβre basically unblocked.
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
}
]
}
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:freeopenrouter/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:
- https://docs.openclaw.ai/cli/models
- https://docs.openclaw.ai/help/faq
- https://docs.openclaw.ai/channels/discord#troubleshooting
If the probe comes back weird and youβre not on the latest version, Iβd update next. Paste the probe output and version first, though.
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
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:
okauthrate_limitbillingtimeoutformatunknown
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:
- an OpenRouter-side/provider issue, or
- 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
π¦ 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
Okay, weβve got it.
This looks like a known OpenRouter bug in OpenClaw, not a bad setup on your side.
Why Iβm confident:
- Version:
2026.4.15 - Auth probe:
ok - Discord transport: connected / works
- Pairing: fixed
- Direct model run still fails with
payloads=0 - That matches existing reports almost exactly
Relevant issues:
So the current picture is:
- your OpenRouter key is valid
- OpenClaw can reach OpenRouter
- 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.15models status --probeshowingopenrouter ... ok- the
infer model runoutput withpayloads=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.
whatist the best way to install openclaw on linux?
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
A couple of Linux notes from the docs:
- use Node 22+
- pnpm is recommended
- Bun is not recommended for the gateway
Docs:
- https://docs.openclaw.ai/install
- https://docs.openclaw.ai/help/faq
- https://docs.openclaw.ai/platforms/linux
Also, for the issue we just traced in this thread, reinstalling wonβt fix the current OpenRouter bug on 2026.4.15. That part is separate.
i just need to run this
curl -fsSL https://openclaw.ai/install.sh | bash
openclaw onboard --install-daemon
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.
CLI still installed. Remove via npm/pnpm if desired.
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.
i want to total clean reinstall
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
openclaw onboard --install-daemon
If you care about your current config/credentials, back up ~/.openclaw first.
Docs:
One important caveat: based on everything we traced above, a clean reinstall still probably wonβt fix the current OpenRouter bug on 2026.4.15.
how to configure openrouter by setup openclaw
The setup path for OpenRouter in OpenClaw is:
openclaw onboard --auth-choice openrouter-api-key
Then:
- choose OpenRouter
- paste your API key from https://openrouter.ai/keys
- 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
Docs:
- https://docs.openclaw.ai/providers/openrouter
- https://docs.openclaw.ai/install
- https://docs.openclaw.ai/cli/models
One important note for your current case: even if you set it up correctly, the OpenRouter bug we traced above on 2026.4.15 can still cause payloads=0. So setup and runtime are two separate things here.
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).
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.
The issue appears to be the OpenRouter base URL in:
~/.openclaw/agents/main/agent/models.json
It was set to:
https://openrouter.ai/v1
Changing it to:
https://openrouter.ai/api/v1
resolved the problem.