why does it always give me this when i try to talk to the bot "[agent/embedded] embedded run agent end: runId=eb8ceda1-68e7-429f-892b-c82ba71b1eed isError=true model=deepseek/deepseek-v3.2 provider=openrouter error=401 Missing Authentication header rawError=401 Missing Authentication header
23:30:34 [agent/embedded] embedded run failover decision: runId=eb8ceda1-68e7-429f-892b-c82ba71b1eed stage=assistant decision=surface_error reason=auth from=openrouter/deepseek/deepseek-v3.2 profile=sha256:ac092b59b472"
#IDK what i do wrong
1 messages · Page 1 of 1 (latest)
That error is basically: OpenRouter got the request without an API key.
So the bot is reaching OpenRouter, but the Gateway process does not have OPENROUTER_API_KEY available, or the OpenRouter auth profile is missing/bad.
Please run these and paste the output:
pnpm openclaw --version
pnpm openclaw models status
pnpm openclaw gateway status
Most common fix for this exact 401 Missing Authentication header:
- Put your key on the gateway host, usually in
~/.openclaw/.env
OPENROUTER_API_KEY=sk-or-...
- Restart the gateway
pnpm openclaw gateway restart - Re-check
pnpm openclaw models status pnpm openclaw doctor
Alternative: store it through OpenClaw instead of env vars:
pnpm openclaw models auth paste-token --provider openrouter
Useful docs:
- https://docs.openclaw.ai/providers/openrouter
- https://docs.openclaw.ai/gateway/authentication
- https://docs.openclaw.ai/help/environment
- https://docs.openclaw.ai/help/faq
If you paste the 3 command outputs above, I can tell you the exact broken piece.
is it normal to have 5.bak files and 5 clobbered files in my openclaw location
.bak files, yes, mostly normal. OpenClaw keeps backups.
.clobbered.* files, not really normal long-term. Those mean OpenClaw detected a bad/destructive config write, restored the last-known-good config, and saved the bad version as a clobbered snapshot.
So:
.bak= backup, usually fine.clobbered.*= something kept trying to write a broken config
Having 5 clobbered files usually means this happened repeatedly, and yeah, that could absolutely be related to your OpenRouter auth issue if the bad config kept dropping or breaking your OPENROUTER_API_KEY / model auth setup.
Please paste these:
pnpm openclaw --version
pnpm openclaw config file
pnpm openclaw config validate
pnpm openclaw models status
pnpm openclaw doctor
And if you can, also:
CONFIG="$(pnpm openclaw config file)"
ls -lt "$CONFIG".clobbered.* "$CONFIG".rejected.* 2>/dev/null | head
Important: don’t delete the clobbered files yet. They’re useful for figuring out what kept breaking.
Docs:
- https://docs.openclaw.ai/gateway/troubleshooting#gateway-restored-last-known-good-config
- https://docs.openclaw.ai/gateway/authentication
- https://docs.openclaw.ai/help/environment
If you paste that output, I can help pinpoint whether it’s just missing OpenRouter auth, or a config writer keeps trashing it.
Unknown command: "openclaw"
Yep, my bad, pnpm openclaw ... only works inside the OpenClaw repo checkout.
So use one of these:
If OpenClaw is installed globally
openclaw --version
openclaw models status
openclaw config file
openclaw config validate
openclaw doctor
If you are running from source
cd /path/to/openclaw
pnpm openclaw --version
pnpm openclaw models status
pnpm openclaw config file
pnpm openclaw config validate
pnpm openclaw doctor
If openclaw is also unknown, then you’re probably running the gateway from a repo checkout or service install, not from a global CLI.
In that case, the fastest useful thing is:
cd /path/to/openclaw
pnpm openclaw config file
and paste the result.
Also, the 5 clobbered files still matter, that means your config likely got rejected/restored multiple times, which could easily explain why OpenRouter auth keeps disappearing.
If I uninstall and install will u fully guide me on what to do I want a free provider no paid apis
Yes, I’ll walk you through it end to end.
Given the repeated clobbered files, a clean reinstall/reset is reasonable. But before you uninstall, pick the path, because “free” can mean two different things:
-
Truly no paid API, fully local
- Use Ollama, Local only
- No paid API key
- Tradeoff: weaker/slower unless your machine is pretty decent
-
Free cloud usage
- Use OpenRouter free routes
- Usually easier to get working
- Still needs a free account + API key, even if you don’t pay
My honest recommendation:
- If you want zero paid APIs at all, do Ollama local-only
- If you want least pain, do OpenRouter free
So reply with just these 3 things and I’ll give you the exact steps:
- OS: Windows / macOS / Linux
- Path:
local-onlyorfree-cloud - Install type:
repo checkoutorglobal install
Also, don’t uninstall yet. I want to give you the right cleanup steps first so you don’t nuke something unnecessarily.
Useful docs:
Do I need to install ollama again or I don’t need to install it
You do not need to reinstall Ollama if you’re going with local-only and it already works.
Quick rule:
- Using Ollama local-only → you need Ollama installed, but not reinstalled unless it’s broken
- Using OpenRouter free → you do not need Ollama at all
Fast check:
ollama --version
ollama list
If those work, Ollama is installed fine.
So for now, don’t reinstall Ollama yet.
Tell me:
- does
ollama listwork? - do you want local-only or free-cloud?
Then I’ll give you the exact next step.
I want open router free one
Nice, that’s the easier path 👍
And just to be clear: OpenRouter free still needs a free OpenRouter account + API key, but you don’t need to pay if you pick a :free model.
Do this
Use one of these command styles:
- Global install:
openclaw ... - Repo checkout:
cd /path/to/openclaw && pnpm openclaw ...
Steps
- Check version
openclaw --version
or
pnpm openclaw --version
-
Run onboarding for OpenRouter
openclaw onboard --auth-choice openrouter-api-keyor
pnpm openclaw onboard --auth-choice openrouter-api-key -
When it asks for a key, create one here:
https://openrouter.ai/keys
-
After onboarding, check auth
openclaw models statusor
pnpm openclaw models status -
Important: OpenRouter onboarding usually starts on
openrouter/auto.
Since you want free, switch to a specific OpenRouter model ending in:free.Easiest way on Discord:
/modelthen pick an OpenRouter model with
:freeat the end.
Don’t use Ollama for this path
You do not need Ollama if you’re going OpenRouter free.
If you want, reply with:
globalorrepo- your OS
- the output of
models status
and I’ll give you the exact next command with no guessing.
Docs:
Let’s delete it first then reinstall openclaw
Okay, let’s do the clean supported path.
Warning: this wipes your current OpenClaw state/config, so only do this if you’re fine starting fresh.
1) Uninstall OpenClaw
If openclaw works on your machine, run:
openclaw uninstall --all --yes --non-interactive
That’s the built-in uninstall path from the docs.
2) Reinstall OpenClaw
pnpm add -g openclaw@latest
pnpm approve-builds -g
3) Run onboarding
openclaw onboard --install-daemon
During onboarding:
- choose OpenRouter
- paste your OpenRouter API key
- finish setup
Get the key here:
https://openrouter.ai/keys
4) Check auth
openclaw models status
5) Switch to a free OpenRouter model
In Discord, use:
/model
Then pick an OpenRouter model that ends with :free.
If step 1 fails with command not found or similar, paste the exact error and I’ll give you the manual uninstall path next.
Docs:
Gateway service already installed
│ ● Restart
│ ○ Reinstall
│ ○ Skip
[agent/embedded] incomplete turn detected: runId=090171a9-a83a-457f-8da4-4e85df741468 sessionId=8b50e01e-c3c9-49c0-a4e8-9315a6328cd6 stopReason=stop payloads=0 — surfacing error to user
13:39:19 [agent/embedded] incomplete turn detected: runId=4cf6151d-ec29-4125-be19-813774eef3a8 sessionId=8b50e01e-c3c9-49c0-a4e8-9315a6328cd6 stopReason=stop payloads=0 — surfacing error to user
13:39:34 [agent/embedded] incomplete turn detected: runId=f3ed2c14-aee4-47f5-8770-239685228b08 sessionId=8b50e01e-c3c9-49c0-a4e8-9315a6328cd6 stopReason=stop payloads=0 — surfacing error to user
This is a different error from the earlier 401.
It means:
- the model run started
- then it stopped normally
- but returned no actual reply text at all (
payloads=0)
So OpenClaw is basically saying, “the model gave me nothing to show you.”
With OpenRouter free routes, this usually means the specific free model you picked is flaky / weak for agent turns or tool calls, not that your whole install is broken.
Try this first
In Discord:
/model
Then switch to a different OpenRouter model ending in :free and test again.
Short version
- 401 Missing Authentication header = auth/key problem
- incomplete turn detected / payloads=0 = model returned nothing
So you’ve probably moved past auth, and now the issue is the current free model route.
If it still happens after switching models, paste:
openclaw --version
openclaw models status
(or pnpm openclaw ... if you’re running from the repo)
And for the freshest “which free model is actually behaving today” advice, check #models too:
keeps saying applicaton didnt respond
Yeah, that one is Discord timing out the slash command, not you.
application didn't respond usually means the bot never answered the /model interaction in time.
Try this first
openclaw gateway restart
Then retry one /model command.
If it still fails, paste these
openclaw --version
openclaw status
openclaw gateway status
openclaw doctor
If you’re running from a repo checkout, use pnpm openclaw ... instead.
At this point I’m less worried about your OpenRouter key, and more worried the gateway / Discord command path is wedged.
Docs:
C:\Users\marss> openclaw gateway status
🦞 OpenClaw 2026.4.15 (041266a) — More integrations than your therapist's intake form.
│
â—‡
Service: Scheduled Task (registered)
File logs: ~\AppData\Local\Temp\openclaw\openclaw-2026-04-21.log
Config (cli): ~.openclaw\openclaw.json
Config (service): ~.openclaw\openclaw.json
Gateway: bind=loopback (127.0.0.1), port=18789 (env/config)
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: stopped (state Ready, last run 1, last run time 21/04/2026 13:43:24, Task Last Run Result=1; treating as not running.)
RPC probe: failed
RPC target: ws://127.0.0.1:18789
gateway closed (1006):
Service is loaded but not running (likely exited immediately).
File logs: C:\Users\marss\AppData\Local\Temp\openclaw\openclaw-2026-04-21.log
Logs: schtasks /Query /TN "OpenClaw Gateway" /V /FO LIST
Troubles: run openclaw status
Troubleshooting: https://docs.openclaw.ai/troubleshooting
PS C:\Users\marss> openclaw doctor
Perfect, this found the real problem.
Your gateway is not running at all:
Runtime: stoppedTask Last Run Result=1gateway closed (1006)Service is loaded but not running (likely exited immediately)
So Discord saying “application didn’t respond” makes sense, the bot backend is dead before it can answer.
Next step
Please finish openclaw doctor and paste the full output.
If doctor doesn’t clearly say why it died, then run this and paste the first error-looking lines:
Get-Content -Tail 120 C:\Users\marss\AppData\Local\Temp\openclaw\openclaw-2026-04-21.log
For now, ignore OpenRouter/model stuff. First we need the gateway to stay up.
If you want the short diagnosis right now: this looks more like a gateway startup crash on native Windows than a model problem.
{"0":"Recommended first: openclaw backup create","_meta":{"runtime":"node","runtimeVersion":"25.2.1","hostname":"MATA","name":"openclaw","date":"2026-04-21T09:39:45.106Z","logLevelId":3,"logLevelName":"INFO","path":{"fullFilePath":"file:///C:/Users/marss/AppData/Roaming/npm/node_modules/openclaw/dist/subsystem-Cgmckbux.js:153:46","fileName":"subsystem-Cgmckbux.js","fileNameWithLine":"subsystem-Cgmckbux.js:153","fileColumn":"46","fileLine":"153","filePath":"/C:/Users/marss/AppData/Roaming/npm/node_modules/openclaw/dist/subsystem-Cgmckbux.js","filePathWithLine":"/C:/Users/marss/AppData/Roaming/npm/node_modules/openclaw/dist/subsystem-Cgmckbux.js:153","method":"console.log"}},"time":"2026-04-21T12:39:45.108+03:00"}
{"0":"Removed ~\.openclaw","_meta":{"runtime":"node","runtimeVersion":"25.2.1","hostname":"MATA","name":"openclaw","date":"2026-04-21T09:39:45.853Z","logLevelId":3,"logLevelName":"INFO","path": i deleted more than a quarter because i couldnt send it to u
That’s okay, the important bit is this:
Removed ~\.openclawmeans the reset actually happened.
So now let’s reinstall cleanly on Windows.
Next step, reinstall
In PowerShell, run the official Windows installer:
iwr -useb https://openclaw.ai/install.ps1 | iex
That’s the recommended Windows install path from the docs.
During onboarding
Choose:
- OpenRouter
- paste your OpenRouter API key
- finish setup
Key here:
https://openrouter.ai/keys
After install finishes, run these
openclaw gateway status
openclaw models status
Then come back here with those 2 outputs.