Hi, I’ve got a reproducible OpenRouter auth issue on OpenClaw 2026.4.14.
Setup
primary: openai-codex/gpt-5.4
fallback: openrouter/moonshotai/kimi-k2.5
Problem
When OpenClaw tries to use Kimi, it fails with:
401 Missing Authentication header
This happens both in normal fallback and in:
Copy
openclaw models status --probe
What I verified
OPENROUTER_API_KEY exists in env
openclaw config get auth shows:
~/.openclaw/agents/main/agent/auth-profiles.json exists and contains openrouter:default with a real key
gateway service env also contains OPENROUTER_API_KEY
Probe result
openclaw models status --probe shows OpenClaw sees both the stored profile and the env key, but Kimi still fails:
Copy
- openrouter effective=profiles:~/.openclaw/agents/main/agent/auth-profiles.json | profiles=1 (api_key=1) | openrouter:default=Sk-or-v1... | env=Sk-or-v1... | source=env: OPENROUTER_API_KEY
openrouter/moonshotai/kimi-k2.5 | openrouter:default (api_key) | auth
↳ 401 Missing Authentication header
Why I think it’s an OpenClaw bug
This no longer looks like missing setup:
env key exists
auth profile exists
agent auth store exists
OpenClaw detects all of that
but the outgoing request still seems to leave without the Authorization header
So it looks like credential discovery works, but auth injection into the OpenRouter request does not.
Extra note
I also tried:
Copy
openclaw onboard --auth-choice openrouter-api-key
and onboarding crashed after selecting Skip for now with:
Copy
TypeError: Cannot read properties of undefined (reading 'trim')
Is this a known regression in 2026.4.14, especially for OpenRouter api_key auth profiles or Kimi?