#help I was in 5.7 everything was working when I updated to 5.12 nothing works
1 messages · Page 1 of 1 (latest)
First thing: can you paste the output of this?
which openclaw
openclaw --version
openclaw status --all
openclaw gateway status --deep
openclaw config get meta.lastTouchedVersion
“Protocol mismatch” after upgrading usually means split-brain install: the dashboard/CLI/gateway service are not all running the same OpenClaw build. The quick fix path from the docs is usually:
openclaw doctor
openclaw doctor --fix
openclaw gateway install --force
openclaw gateway restart
openclaw dashboard
For Telegram not responding, after the gateway is healthy, check:
openclaw channels status --probe
openclaw logs --follow
If logs show Telegram is logged out / Bot API status codes in the 409-515 range, relink/check the channel per health docs. For Telegram specifically, it does not use openclaw channels login telegram; it uses the bot token/config path.
Docs:
https://docs.openclaw.ai/help/faq
https://docs.openclaw.ai/gateway/troubleshooting
ubuntu@ip-172-26-9-143:~$ openclaw --version
OpenClaw 2026.5.12 (f066dd2)
Thanks. The CLI is on 2026.5.12, so the next thing is checking whether the running gateway service is also 2026.5.12. Protocol mismatch often happens when the command was updated but the service is still running an older installed path.
Please run:
which openclaw
openclaw gateway status --deep
openclaw config get meta.lastTouchedVersion
openclaw status --all
If gateway status --deep shows an older service path/version, run:
openclaw doctor --fix
openclaw gateway install --force
openclaw gateway restart
Then reopen the dashboard with:
openclaw dashboard
After that, for Telegram:
openclaw channels status --probe
Paste the gateway status output if it still mismatches.
after run deep status this is what i get OpenClaw 2026.5.12 (f066dd2)
We ship features faster than Apple ships calculator updates.
│
◇
Service: systemd user (enabled)
File logs: /tmp/openclaw/openclaw-2026-05-15.log
Command: /usr/bin/node /usr/lib/node_modules/openclaw/dist/index.js gateway --port 18789
Service file: ~/.config/systemd/user/openclaw-gateway.service
Service env: OPENCLAW_GATEWAY_PORT=18789
Config (cli): ~/.openclaw/openclaw.json
Config (service): ~/.openclaw/openclaw.json
Gateway: bind=lan (0.0.0.0), port=18789 (service args)
Probe target: ws://127.0.0.1:18789
Dashboard: http://172.26.9.143:18789/
Probe note: bind=lan listens on 0.0.0.0 (all interfaces); probing via 127.0.0.1.
CLI version: 2026.5.12 (/usr/bin/openclaw)
Gateway version: 2026.5.12
Runtime: running (pid 5757, state active, sub running, last exit 0, reason 0)
Connectivity probe: ok
Capability: admin-capable
Listening: *:18789
Troubles: run openclaw status
Troubleshooting: https://docs.openclaw.ai/troubleshooting
Good, that rules out the big split-brain case: CLI and Gateway are both 2026.5.12 and the gateway probe is healthy.
For the dashboard protocol mismatch now I’d try the browser side first:
openclaw dashboard
Use the freshly printed URL, not an old bookmark/tab. Then hard refresh the page. If it still says protocol mismatch, clear site data for 172.26.9.143:18789 or open it in a private/incognito window. A stale dashboard JS bundle talking to the new gateway can produce exactly this kind of mismatch.
One more thing: your gateway is bind=lan (0.0.0.0), so make sure you’re connecting with the current token/password if the dashboard asks. Don’t expose that port publicly.
For Telegram, since the gateway itself is alive, run:
openclaw channels status --probe
openclaw logs --follow
If Telegram shows unauthorized / getMe returned 401, it’s the bot token. If it shows pairing required, run:
openclaw pairing list telegram
openclaw pairing approve telegram <CODE>
If you paste the channels status --probe Telegram section, we can narrow it down fast.
it states this openclaw pairing list telegram
That looks like the command, not the output. What did it print underneath?
Please run these two and paste the full output:
openclaw pairing list telegram
openclaw channels status --probe
If pairing list telegram shows a pending code, approve it like:
openclaw pairing approve telegram <CODE>
If it says no pending requests, send /start or any message to your Telegram bot once, then run openclaw pairing list telegram again.
ubuntu@ip-172-26-9-143:~$ openclaw pairing list telegram
咽 OpenClaw 2026.5.12 (f066dd2) — More integrations than your therapist's intake form.
No pending telegram pairing requests.
No pending requests means Telegram either is not receiving your message at all, or your sender is already handled by config and the failure is elsewhere.
Next step: send /start to your Telegram bot once, then run:
openclaw channels status --probe
openclaw logs --follow
In the log, look for Telegram lines after you send the message. The useful signatures are:
getMe returned 401→ bot token is wrong/expired- network/fetch errors to
api.telegram.org→ server cannot reach Telegram pairing required→ runopenclaw pairing list telegramagain and approve the new code- no Telegram log activity at all → likely webhook/long-polling/token config issue
Also worth checking the current Telegram config shape:
openclaw config get channels.telegram
Don’t paste the bot token here if it prints one. Redact it first.
ubuntu@ip-172-26-9-143:~$ openclaw config get channels.telegram
咽 OpenClaw 2026.5.12 (f066dd2)
I autocomplete your thoughts—just slower and with more API calls.
{
"botToken": "OPENCLAW_REDACTED",
"dmPolicy": "pairing",
"enabled": true,
"groupPolicy": "open",
"streaming": {
"mode": "partial"
}
}
That config is valid for pairing mode. Since there are no pending pairing requests, the gateway probably is not seeing your Telegram DM yet.
Do this exact sequence:
openclaw logs --follow
Leave that running, then send /start or test to the Telegram bot in a DM. Watch whether any Telegram lines appear.
If you see a from.id in logs and just want to get unblocked, the more durable one-owner setup is to switch from pairing to an explicit allowlist with your numeric Telegram user ID:
{
channels: {
telegram: {
enabled: true,
botToken: "...",
dmPolicy: "allowlist",
allowFrom: ["YOUR_NUMERIC_TELEGRAM_USER_ID"],
groupPolicy: "open",
streaming: { mode: "partial" },
},
},
commands: {
ownerAllowFrom: ["telegram:YOUR_NUMERIC_TELEGRAM_USER_ID"],
},
}
Then:
openclaw config validate
openclaw gateway restart
openclaw channels status --probe
If logs show no Telegram activity after you DM the bot, run this too:
openclaw channels status --probe
and paste the Telegram section. Docs for this path: https://docs.openclaw.ai/channels/telegram
this is what I got ubuntu@ip-172-26-9-143:~$ openclaw config validate
openclaw gateway restart
openclaw channels status --probe
咽 OpenClaw 2026.5.12 (f066dd2)
I don't sleep, I just enter low-power mode and dream of clean diffs.
Config valid: ~/.openclaw/openclaw.json
咽 OpenClaw 2026.5.12 (f066dd2)
I've seen your commit messages. We'll work on that together.
Restarted systemd service: openclaw-gateway.service
咽 OpenClaw 2026.5.12 (f066dd2)
Give me a workspace and I'll give you fewer tabs, fewer toggles, and more oxygen.
│
◇
Gateway reachable.
Gateway event loop degraded: reasons=event_loop_utilization,cpu eventLoopDelayMaxMs=936 eventLoopUtilization=1 cpuCoreRatio=1.288
- Discord default: enabled, configured, running, disconnected, bot:@Ellegon_bot, token:config, intents:content=limited, works
- Telegram default: enabled, configured, running, mode:polling, bot:@ellegon_bot, token:config, works
Tip: status --deep adds gateway health probes to status output (requires a reachable gateway).
This is progress: Telegram itself is healthy now.
Telegram default: ... mode:polling ... works means the bot token is valid, the gateway can reach Telegram, and polling is running. So if Telegram still doesn’t reply, the problem has moved past “Telegram connection” into either access/session/model/runtime.
Next checks:
openclaw status --deep
openclaw logs --follow
Then send a fresh DM to the Telegram bot and watch the log. If the message is accepted you should see session/model activity after the Telegram inbound line.
One warning in your output matters:
Gateway event loop degraded: reasons=event_loop_utilization,cpu
That means the gateway is CPU/event-loop saturated. On a small VPS this can make channels look alive but replies stall or time out. If logs show the Telegram message arrives but no answer completes, stop any extra TUI/dashboard sessions and check what is consuming CPU:
ps -eo pid,pcpu,pmem,args --sort=-pcpu | head -20
Also, Discord being disconnected is separate from Telegram. It only matters if you expect the Discord channel to work too.
I keep getting 17:29:14+00:00 warn gateway/ws {"subsystem":"gateway/ws"} protocol mismatch conn=f5431621-d863-4360-b23a-5293099d69b8 remote=127.0.0.1 client=openclaw-control-ui webchat vcontrol-ui
17:29:14+00:00 warn gateway/ws {"subsystem":"gateway/ws"} {"cause":"protocol-mismatch","handshake":"failed","durationMs":97,"lastFrameType":"req","lastFrameMethod":"connect","lastFrameId":"77784ded-abe2-4dcd-9f09-5d8748b9c9bd","host":"54.173.93.190","origin":"https://54.173.93.190","userAgent":"Mozilla/5.0 (Windows NT 10.0; Win64; x64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/148.0.0.0 Safari/537.36 Edg/148.0.0.0","forwardedFor":"24.171.7.145","remoteAddr":"127.0.0.1","remotePort":55098,"localAddr":"127.0.0.1","localPort":18789,"endpoint":"127.0.0.1:55098->127.0.0.1:18789","minProtocol":3,"maxProtocol":3,"expectedProtocol":4,"minimumProbeProtocol":4,"client":"openclaw-control-ui","mode":"webchat","version":"control-ui","platform":"Win32","instanceId":"f085c424-61e2-4cec-aa6b-ccded1047c1a"} closed before connect conn=f5431621-d863-4360-b23a-5293099d69b8 peer=127.0.0.1:55098->127.0.0.1:18789 remote=127.0.0.1 fwd=24.171.7.145 origin=https://54.173.93.190 host=54.173.93.190 ua=Mozilla/5.0 (Windows NT 10.0; Win64; x64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/148.0.0.0 Safari/537.36 Edg/148.0.0.0 code=1002 reason=protocol mismatch
17:29:30+00:00 warn gateway/ws {"subsystem":"gateway/ws"} protocol mismatch conn=c15bdf28-fb68-4b39-ac35-d6c880be78db remote=127.0.0.1 client=openclaw-control-ui webchat vcontrol-ui
That log nails it:
minProtocol: 3
maxProtocol: 3
expectedProtocol: 4
client=openclaw-control-ui
origin=https://54.173.93.190
Your gateway is current, but the browser is loading an old Control UI/webchat bundle that only speaks protocol v3. The v2026.5.12 gateway requires protocol v4.
Fix the client side / proxy cache:
- In Edge, open DevTools → Application → Storage → Clear site data for
https://54.173.93.190 - Also unregister any Service Worker for that origin, then close all tabs for that dashboard.
- Reopen using a fresh URL from:
openclaw dashboard
If you installed it as a PWA/app, uninstall that installed dashboard app too; it can keep an old service worker.
If you’re using nginx/Caddy/Cloudflare/another HTTPS proxy in front of OpenClaw, make sure it is not serving cached/static old Control UI files. It should proxy the dashboard HTTP and WebSocket traffic to the running gateway, and WebSocket upgrade headers must pass through.
Best bypass test:
ssh -L 18789:127.0.0.1:18789 ubuntu@54.173.93.190
Then on your Windows browser open:
http://127.0.0.1:18789/
If that works, OpenClaw is fine and the problem is definitely the public HTTPS/proxy/browser cache path.
am using lightsail aws server so I can just do ssh -L 18789:127.0.0.1:18789 ubuntu@54.173.93.190
Yes, from your Windows machine you can run:
ssh -L 18789:127.0.0.1:18789 ubuntu@54.173.93.190
Keep that SSH window open, then browse to:
http://127.0.0.1:18789/
If your Lightsail SSH uses a key file, it’ll look more like:
ssh -i path/to/your-key.pem -L 18789:127.0.0.1:18789 ubuntu@54.173.93.190
This bypasses the public HTTPS/proxy/cache path entirely. If the dashboard works through the tunnel, the protocol mismatch is coming from the old cached/proxied Control UI at https://54.173.93.190, not from the gateway itself.
Small security note: tunneling is also the safer way to use the dashboard. Since it’s an admin surface, I’d avoid exposing :18789 publicly on the internet.
how do is just roll back to 5.7 for now
You can roll back to the published 2026.5.7 npm version, but I’d treat this as temporary. Your protocol log still points to a stale browser/proxy Control UI bundle, so clearing that cache may still be needed even after rollback.
On the Lightsail server:
cp ~/.openclaw/openclaw.json ~/.openclaw/openclaw.json.backup-$(date +%Y%m%d-%H%M%S)
openclaw gateway stop
sudo npm install -g openclaw@2026.5.7
openclaw --version
Then reinstall the systemd service from the 5.7 binary and start it:
OPENCLAW_ALLOW_OLDER_BINARY_DESTRUCTIVE_ACTIONS=1 openclaw gateway install --force
OPENCLAW_ALLOW_OLDER_BINARY_DESTRUCTIVE_ACTIONS=1 openclaw gateway restart
openclaw gateway status --deep
openclaw channels status --probe
That env var is because 5.12 may have written meta.lastTouchedVersion into the config, and older binaries intentionally refuse service mutations unless you explicitly say this is an intentional downgrade.
If your npm global install is not under sudo on that server, use:
npm install -g openclaw@2026.5.7
instead of the sudo line.
I am getting this now ubuntu@ip-172-26-9-143:~$ OPENCLAW_ALLOW_OLDER_BINARY_DESTRUCTIVE_ACTIONS=1 openclaw start
17:59:51 [plugins] codex failed to load from /home/ubuntu/.openclaw/npm/node_modules/@openclaw/codex/dist/index.js: Error: Cannot find module '/usr/lib/node_modules/openclaw/dist/plugin-sdk/root-alias.cjs/json-schema-runtime'
Require stack:
- /home/ubuntu/.openclaw/npm/node_modules/@openclaw/codex/dist/media-understanding-provider.js
[openclaw] Failed to start CLI: Error: Unknown command: openclaw start. No built-in command or plugin CLI metadata owns "start".
at runCli (file:///usr/lib/node_modules/openclaw/dist/cli/run-main.js:310:29)
at async runMainOrRootHelp (file:///usr/lib/node_modules/openclaw/dist/entry.js:468:3)
at async file:///usr/lib/node_modules/openclaw/dist/entry.js:438:55
Two things there:
openclaw startis not a command. For the service use:
openclaw gateway start
# or
openclaw gateway restart
- Your core is rolled back, but the managed Codex plugin is still a newer 5.12-era install. That is why it is trying to import a file that does not exist in the 5.7 core.
Fix the plugin version too:
openclaw gateway stop
openclaw plugins install npm:@openclaw/codex@2026.5.7 --force
openclaw doctor --fix
OPENCLAW_ALLOW_OLDER_BINARY_DESTRUCTIVE_ACTIONS=1 openclaw gateway install --force
OPENCLAW_ALLOW_OLDER_BINARY_DESTRUCTIVE_ACTIONS=1 openclaw gateway restart
openclaw --version
openclaw gateway status --deep
openclaw channels status --probe
If you do not use Codex integration right now, the faster workaround is to disable that plugin instead:
openclaw plugins disable codex
OPENCLAW_ALLOW_OLDER_BINARY_DESTRUCTIVE_ACTIONS=1 openclaw gateway restart
I’d try the matching @openclaw/codex@2026.5.7 install first, since you’re intentionally putting the whole system back on 5.7.
when I run the first one I get this openclaw plugins disable codex
ubuntu@ip-172-26-9-143:~$ openclaw plugins disable codex
Invalid config at /home/ubuntu/.openclaw/openclaw.json:\n- agents.defaults.models.openai/gpt-5.5: Unrecognized key: "agentRuntime"
- agents.list.0: Unrecognized key: "models"
- agents.list.1: Unrecognized key: "models"
- agents.list.2: Unrecognized key: "models"
- agents.list.3: Unrecognized key: "models"
- agents.list.4: Unrecognized key: "models"
- agents.list.5: Unrecognized key: "models"
- agents.list.6: Unrecognized key: "models"
咽 OpenClaw 2026.5.7 (eeef486)
Powered by open source, sustained by spite and good documentation.
Config invalid
File: ~/.openclaw/openclaw.json
Problem:
- agents.defaults.models.openai/gpt-5.5: Unrecognized key: "agentRuntime"
- agents.list.0: Unrecognized key: "models"
- agents.list.1: Unrecognized key: "models"
- agents.list.2: Unrecognized key: "models"
- agents.list.3: Unrecognized key: "models"
- agents.list.4: Unrecognized key: "models"
- agents.list.5: Unrecognized key: "models"
- agents.list.6: Unrecognized key: "models"
Run: openclaw doctor --fix
I only see the command text there, not the output. If it just returned to the prompt with no error, it may have worked.
Check with:
openclaw config get plugins.entries.codex.enabled
If it prints false, restart:
OPENCLAW_ALLOW_OLDER_BINARY_DESTRUCTIVE_ACTIONS=1 openclaw gateway restart
If openclaw plugins disable codex is failing because the plugin loader crashes first, bypass it with the config command:
openclaw config set plugins.entries.codex.enabled false
OPENCLAW_ALLOW_OLDER_BINARY_DESTRUCTIVE_ACTIONS=1 openclaw gateway restart
Then verify:
openclaw gateway status --deep
openclaw channels status --probe
If you still get the Cannot find module ... @openclaw/codex error, paste the full output from the disable/config command. The next step would be reinstalling the matching 5.7 Codex plugin instead of disabling it.
Right, that means 5.12 changed your config schema and 5.7 does not understand those newer keys.
You have two sane options:
Recommended: go back to 5.12 and fix the stale dashboard cache/proxy issue. Your gateway and Telegram were healthy on 5.12; the protocol mismatch was the browser loading protocol v3 UI files.
If you still want to stay on 5.7: let 5.7 doctor remove the unknown 5.12-only config keys. It makes a backup, but make your own too:
cp ~/.openclaw/openclaw.json ~/.openclaw/openclaw.json.before-5-7-doctor-$(date +%Y%m%d-%H%M%S)
OPENCLAW_ALLOW_OLDER_BINARY_DESTRUCTIVE_ACTIONS=1 openclaw doctor --fix
openclaw config validate
After config validates, handle the Codex plugin mismatch:
openclaw plugins install npm:@openclaw/codex@2026.5.7 --force
# or, if you do not need Codex right now:
openclaw plugins disable codex
Then restart the service:
OPENCLAW_ALLOW_OLDER_BINARY_DESTRUCTIVE_ACTIONS=1 openclaw gateway install --force
OPENCLAW_ALLOW_OLDER_BINARY_DESTRUCTIVE_ACTIONS=1 openclaw gateway restart
openclaw gateway status --deep
openclaw channels status --probe
Important: doctor --fix on 5.7 will drop those newer agentRuntime / per-agent models config fields. That is expected for a rollback, but it’s why I’d prefer fixing 5.12 unless you really need 5.7 today.
ubuntu@ip-172-26-9-143:~$ openclaw plugins disable codex
Invalid config at /home/ubuntu/.openclaw/openclaw.json:\n- agents.defaults.models.openai/gpt-5.5: Unrecognized key: "agentRuntime"
- agents.list.0: Unrecognized key: "models"
- agents.list.1: Unrecognized key: "models"
- agents.list.2: Unrecognized key: "models"
- agents.list.3: Unrecognized key: "models"
- agents.list.4: Unrecognized key: "models"
- agents.list.5: Unrecognized key: "models"
- agents.list.6: Unrecognized key: "models"
咽 OpenClaw 2026.5.7 (eeef486) — Hot reload for config, cold sweat for deploys.
Config invalid
File: ~/.openclaw/openclaw.json
Problem:
- agents.defaults.models.openai/gpt-5.5: Unrecognized key: "agentRuntime"
- agents.list.0: Unrecognized key: "models"
- agents.list.1: Unrecognized key: "models"
- agents.list.2: Unrecognized key: "models"
- agents.list.3: Unrecognized key: "models"
- agents.list.4: Unrecognized key: "models"
- agents.list.5: Unrecognized key: "models"
- agents.list.6: Unrecognized key: "models"
Run: openclaw doctor --fix
Yep, don’t run plugins disable yet. 5.7 refuses to do anything until the config is made 5.7-compatible.
Run this first:
cp ~/.openclaw/openclaw.json ~/.openclaw/openclaw.json.before-5-7-doctor-$(date +%Y%m%d-%H%M%S)
OPENCLAW_ALLOW_OLDER_BINARY_DESTRUCTIVE_ACTIONS=1 openclaw doctor --fix
openclaw config validate
Only after Config valid should you run the Codex step:
openclaw plugins disable codex
# or better for rollback:
openclaw plugins install npm:@openclaw/codex@2026.5.7 --force
Then restart:
OPENCLAW_ALLOW_OLDER_BINARY_DESTRUCTIVE_ACTIONS=1 openclaw gateway install --force
OPENCLAW_ALLOW_OLDER_BINARY_DESTRUCTIVE_ACTIONS=1 openclaw gateway restart
openclaw channels status --probe
The key part: doctor --fix has to come before plugin commands, because the config currently contains 5.12-only keys that 5.7 cannot parse.
ubuntu@ip-172-26-9-143:~$ openclaw plugins install npm:@openclaw/codex@2026.5.7 --force
Invalid config at /home/ubuntu/.openclaw/openclaw.json:\n- agents.defaults.models.openai/gpt-5.5: Unrecognized key: "agentRuntime"
- agents.list.0: Unrecognized key: "models"
- agents.list.1: Unrecognized key: "models"
- agents.list.2: Unrecognized key: "models"
- agents.list.3: Unrecognized key: "models"
- agents.list.4: Unrecognized key: "models"
- agents.list.5: Unrecognized key: "models"
- agents.list.6: Unrecognized key: "models"
咽 OpenClaw 2026.5.7 (eeef486)
If you can describe it, I can probably automate it—or at least make it funnier.
Config invalid
File: ~/.openclaw/openclaw.json
Problem:
- agents.defaults.models.openai/gpt-5.5: Unrecognized key: "agentRuntime"
- agents.list.0: Unrecognized key: "models"
- agents.list.1: Unrecognized key: "models"
- agents.list.2: Unrecognized key: "models"
- agents.list.3: Unrecognized key: "models"
- agents.list.4: Unrecognized key: "models"
- agents.list.5: Unrecognized key: "models"
- agents.list.6: Unrecognized key: "models"
Run: openclaw doctor --fix
Same issue: plugin commands cannot run until the config validates.
Please run only this block first:
cp ~/.openclaw/openclaw.json ~/.openclaw/openclaw.json.before-5-7-doctor-$(date +%Y%m%d-%H%M%S)
OPENCLAW_ALLOW_OLDER_BINARY_DESTRUCTIVE_ACTIONS=1 openclaw doctor --fix
openclaw config validate
Stop there and check that it says Config valid.
Then run the plugin command:
openclaw plugins install npm:@openclaw/codex@2026.5.7 --force
The order matters. Right now 5.7 is refusing all plugin operations because it sees 5.12-only config fields.
I ran that I keep getting the following ubuntu@ip-172-26-9-143:~$ openclaw plugins install npm:@openclaw/codex@2026.5.7 --force
Invalid config at /home/ubuntu/.openclaw/openclaw.json:\n- agents.defaults.models.openai/gpt-5.5: Unrecognized key: "agentRuntime"
- agents.list.0: Unrecognized key: "models"
- agents.list.1: Unrecognized key: "models"
- agents.list.2: Unrecognized key: "models"
- agents.list.3: Unrecognized key: "models"
- agents.list.4: Unrecognized key: "models"
- agents.list.5: Unrecognized key: "models"
- agents.list.6: Unrecognized key: "models"
咽 OpenClaw 2026.5.7 (eeef486)
I've seen your commit messages. We'll work on that together.
Config invalid
File: ~/.openclaw/openclaw.json
Problem:
- agents.defaults.models.openai/gpt-5.5: Unrecognized key: "agentRuntime"
- agents.list.0: Unrecognized key: "models"
- agents.list.1: Unrecognized key: "models"
- agents.list.2: Unrecognized key: "models"
- agents.list.3: Unrecognized key: "models"
- agents.list.4: Unrecognized key: "models"
- agents.list.5: Unrecognized key: "models"
- agents.list.6: Unrecognized key: "models"
Run: openclaw doctor --fix
The output you pasted is still from the plugin install command, so the config repair either did not run, did not complete, or failed.
Run this and paste the output from doctor, not the plugin command:
OPENCLAW_ALLOW_OLDER_BINARY_DESTRUCTIVE_ACTIONS=1 openclaw doctor --fix --yes
openclaw config validate
Do not run openclaw plugins install ... again until openclaw config validate says Config valid.
If doctor still leaves the same error, check whether you have a pre-upgrade config backup:
ls -lt ~/.openclaw/openclaw.json*
If there is a backup from before the 5.12 update, restoring that is cleaner for a 5.7 rollback than trying to make 5.12 config work on 5.7.
The situation is specifically: 5.7 cannot parse these 5.12 fields:
agents.defaults.models.*.agentRuntime
agents.list[].models
Until those are removed or an older config is restored, every 5.7 command that validates config will fail before it reaches the plugin step.
am getting this
ubuntu@ip-172-26-9-143:~$ agents.defaults.models..agentRuntime
agents.defaults.models..agentRuntime: command not found
ubuntu@ip-172-26-9-143:~$
I don’t see the error/output in that message. Can you paste the full output from this exact command?
OPENCLAW_ALLOW_OLDER_BINARY_DESTRUCTIVE_ACTIONS=1 openclaw doctor --fix --yes
openclaw config validate
If it’s long, paste just the part starting at Config invalid or any Error: line. The important thing is whether doctor --fix actually removed the 5.12-only keys or refused to write.
Ah, that line was not a command. It was the name of a config key that 5.7 does not understand.
Run this command exactly:
OPENCLAW_ALLOW_OLDER_BINARY_DESTRUCTIVE_ACTIONS=1 openclaw doctor --fix --yes
Then run:
openclaw config validate
If config validate says valid, then continue with:
openclaw plugins install npm:@openclaw/codex@2026.5.7 --force
OPENCLAW_ALLOW_OLDER_BINARY_DESTRUCTIVE_ACTIONS=1 openclaw gateway restart
Do not type the agents.defaults... lines into the terminal. Those are just the bad config paths from the error message.
it ran how do I check if it that worked
Check in this order:
openclaw config validate
openclaw --version
openclaw gateway status --deep
You want:
Config validOpenClaw 2026.5.7- gateway runtime running and connectivity probe ok
Then fix/verify the Codex plugin alignment:
openclaw plugins install npm:@openclaw/codex@2026.5.7 --force
Then restart and check channels:
OPENCLAW_ALLOW_OLDER_BINARY_DESTRUCTIVE_ACTIONS=1 openclaw gateway install --force
OPENCLAW_ALLOW_OLDER_BINARY_DESTRUCTIVE_ACTIONS=1 openclaw gateway restart
openclaw channels status --probe
If config validate still shows the same agentRuntime / agents.list.*.models errors, paste that output and stop before running plugin commands.
i got this in return ubuntu@ip-172-26-9-143:~$ OPENCLAW_ALLOW_OLDER_BINARY_DESTRUCTIVE_ACTIONS=1 openclaw gateway install --force
OPENCLAW_ALLOW_OLDER_BINARY_DESTRUCTIVE_ACTIONS=1 openclaw gateway restart
openclaw channels status --probe
咽 OpenClaw 2026.5.7 (eeef486)
I'm basically a Swiss Army knife, but with more opinions and fewer sharp edges.
Installed systemd service: /home/ubuntu/.config/systemd/user/openclaw-gateway.service
Previous unit backed up to: /home/ubuntu/.config/systemd/user/openclaw-gateway.service.bak
咽 OpenClaw 2026.5.7 (eeef486) — Ah, the fruit tree company!
Restarted systemd service: openclaw-gateway.service
咽 OpenClaw 2026.5.7 (eeef486)
Your personal assistant, minus the passive-aggressive calendar reminders.
│
◇
Gateway reachable.
Gateway event loop degraded: reasons=event_loop_utilization,cpu eventLoopDelayMaxMs=0 eventLoopUtilization=1 cpuCoreRatio=1.384
- Discord default: enabled, configured, running, disconnected, bot:@Ellegon_bot, token:config, intents:content=limited, works
- Telegram default: enabled, configured, running, mode:polling, bot:@ellegon_bot, token:config, works
Tip: status --deep adds gateway health probes to status output (requires a reachable gateway).
That worked: you’re now running OpenClaw 2026.5.7, the gateway is reachable, and Telegram is healthy:
Telegram default: enabled, configured, running, mode:polling, ... works
Now test from Telegram by sending the bot a fresh DM. If it does not answer, run this while sending the DM:
openclaw logs --follow
The remaining warning is CPU/event-loop saturation:
Gateway event loop degraded: reasons=event_loop_utilization,cpu
That can make replies slow or stuck on a small Lightsail instance. Check what’s eating CPU:
ps -eo pid,pcpu,pmem,args --sort=-pcpu | head -20
Discord being disconnected is separate; Telegram is the important one here and it’s reporting works.
⚠️ Missing API key for OpenAI on the gateway. Use openai-codex/gpt-5.5, or set OPENAI_API_KEY, then try again. this is what am getting in the discord now
That means the rollback is now reaching the model step. Good news: gateway/channel are working; the active model config is just pointing at OpenAI API auth you don’t have.
Because 5.7 removed the newer agentRuntime mapping, switch the model ref to the Codex provider explicitly.
First check auth:
openclaw models status
openclaw models auth list --provider openai-codex
If openai-codex shows a usable auth profile, set the default model to the Codex provider ref:
openclaw models set openai-codex/gpt-5.5
OPENCLAW_ALLOW_OLDER_BINARY_DESTRUCTIVE_ACTIONS=1 openclaw gateway restart
You can also do it from chat with:
/model openai-codex/gpt-5.5
If openai-codex auth does not show as usable, run the configure flow and pick Codex/OpenAI Codex auth again:
openclaw configure --section model
Alternative: if you actually want to use direct OpenAI API billing instead of Codex auth, set OPENAI_API_KEY in the gateway service environment. Don’t paste that key here.
failed have a looke Failed to set model: GatewayRequestError: model not allowed: openai-codex/gpt-5.5
That means your config has a model allowlist, and openai-codex/gpt-5.5 is not in it yet.
Add it to the allowlist, then set it:
openclaw config set agents.defaults.models '{"openai-codex/gpt-5.5":{}}' --strict-json --merge
openclaw models set openai-codex/gpt-5.5
OPENCLAW_ALLOW_OLDER_BINARY_DESTRUCTIVE_ACTIONS=1 openclaw gateway restart
Then verify:
openclaw models status
openclaw channels status --probe
If models set still fails, paste:
openclaw config get agents.defaults.models
openclaw models auth list --provider openai-codex
No secrets should print there, but still don’t paste tokens/API keys if anything unexpected appears.
I got this on the probe ubuntu@ip-172-26-9-143:~$ openclaw channels status --probe
咽 OpenClaw 2026.5.7 (eeef486)
Claws out, commit in—let's ship something mildly responsible.
│
◇
Gateway reachable.
Gateway event loop degraded: reasons=event_loop_utilization,cpu eventLoopDelayMaxMs=0 eventLoopUtilization=1 cpuCoreRatio=1.773
- Discord default: enabled, configured, running, connected, bot:@Ellegon_bot, token:config, intents:content=limited, works
- Telegram default: enabled, configured, running, connected, in:3m ago, mode:polling, bot:@ellegon_bot, token:config, works
Tip: status --deep adds gateway health probes to status output (requires a reachable gateway).
That probe is good. Both channels are now connected and working:
Discord ... connected ... works
Telegram ... connected ... works
Now test a normal message in Telegram/Discord. If it replies, you’re back operational on 5.7.
The only remaining warning is still CPU saturation:
Gateway event loop degraded: eventLoopUtilization=1 cpuCoreRatio=1.773
On Lightsail that can cause slow/stuck replies even when channels are connected. Check CPU:
ps -eo pid,pcpu,pmem,args --sort=-pcpu | head -20
If OpenClaw/node is pegging CPU continuously after restart, try a full machine reboot when convenient:
sudo reboot
After reboot:
openclaw channels status --probe
openclaw models status
And if this fixed the thread, please right-click the solution message → Apps → ✅ Mark Solution so Answer Overflow indexes it for the next person.
buntu@ip-172-26-9-143:~$ openclaw channels status --probe
openclaw models status
咽 OpenClaw 2026.5.7 (eeef486) — iMessage green bubble energy, but for everyone.
│
◇
Gateway reachable.
Gateway event loop degraded: reasons=event_loop_utilization,cpu eventLoopDelayMaxMs=21 eventLoopUtilization=1 cpuCoreRatio=1.063
- Discord default: enabled, configured, running, disconnected, bot:@Ellegon_bot, token:config, intents:content=limited, health:disconnected, works
- Telegram default: enabled, configured, running, connected, mode:polling, bot:@ellegon_bot, token:config, works
Tip: status --deep adds gateway health probes to status output (requires a reachable gateway).
Telegram is still good there:
Telegram ... connected ... works
Discord says health:disconnected but also works, so I’d treat Discord as secondary unless you’re actively using Discord from that gateway.
I don’t see the openclaw models status output in what you pasted. Run it by itself and paste that part:
openclaw models status
That will tell us whether the remaining reply failure is still model/auth routing. If Telegram sends messages but the bot does not answer, also run:
openclaw logs --follow
Then send one Telegram message and paste the model/auth error line that appears.
OpenClaw 2026.5.7 (eeef486)
I'm like tmux: confusing at first, then suddenly you can't live without me.
Config : ~/.openclaw/openclaw.json
Agent dir : ~/.openclaw/agents/main/agent
Default : openai/gpt-5.5
Fallbacks (0) : -
Image model : -
Image fallbacks (0): -
Aliases (4) : custom-1 -> amazon-bedrock/global.anthropic.claude-sonnet-4-6, haiku-3-5 -> amazon-bedrock/us.anthropic.claude-3-5-haiku-20241022-v1:0, kimi-k2-5 -> amazon-bedrock/us.moonshotai.kimi-k2.5, haiku-4-5 -> amazon-bedrock/us.anthropic.claude-haiku-4-5-20251001-v1:0
Configured models (6): amazon-bedrock/global.anthropic.claude-sonnet-4-6, amazon-bedrock/us.anthropic.claude-3-5-haiku-20241022-v1:0, amazon-bedrock/us.moonshotai.kimi-k2.5, amazon-bedrock/us.anthropic.claude-haiku-4-5-20251001-v1:0, amazon-bedrock/us.anthropic.claude-sonnet-4-6, openai/gpt-5.5
Auth overview
Auth store : ~/.openclaw/agents/main/agent/auth-profiles.json
Shell env : off
Providers w/ OAuth/tokens (1): openai-codex (1)
- amazon-bedrock effective=env:AW...LE | env=AW...LE | source=env | models.json=dummy-ke...-use-iam | source=models.json: ~/.openclaw/agents/main/agent/models.json
- openai-codex effective=profiles:~/.openclaw/agents/main/agent/auth-profiles.json | profiles=1 (oauth=1, token=0, api_key=0) | openai-codex:james.h@utopiavr.world=OAuth (james.h@utopiavr.world)
Missing auth
- openai Run
openclaw models auth login --provider openai,openclaw configure, or set an API key env var.
OAuth/token status
- openai-codex
- openai-codex:james.h@utopiavr.world (james.h@utopiavr.world) ok expires in 2d
ubuntu@ip-172-26-9-143:~$
- openai-codex:james.h@utopiavr.world (james.h@utopiavr.world) ok expires in 2d
That explains the current error. Your default is still:
Default: openai/gpt-5.5
On 5.7 that is being treated as direct OpenAI API, so it asks for OPENAI_API_KEY.
Fastest fix: set the default to one of the Bedrock aliases/models you already have configured, then restart. For example, using your alias:
openclaw models set custom-1
OPENCLAW_ALLOW_OLDER_BINARY_DESTRUCTIVE_ACTIONS=1 openclaw gateway restart
openclaw models status
Then test Telegram again.
If you specifically want Codex auth instead, we need to add openai-codex/gpt-5.5 to configured models and make sure openai-codex auth exists. But since your config already has Bedrock entries, switching the default to a Bedrock alias is the least messy way to get replies working again on 5.7.
Good, your Codex OAuth is valid:
openai-codex ... ok expires in 2d
So you can either use Bedrock now, or use Codex by adding the Codex model to the 5.7 allowlist.
For Codex:
openclaw config set agents.defaults.models '{"openai-codex/gpt-5.5":{}}' --strict-json --merge
openclaw models set openai-codex/gpt-5.5
OPENCLAW_ALLOW_OLDER_BINARY_DESTRUCTIVE_ACTIONS=1 openclaw gateway restart
openclaw models status
You want Default: openai-codex/gpt-5.5.
If that still says model not allowed, paste:
openclaw config get agents.defaults.models
For fastest “just make it reply” fallback, Bedrock auth is also present, so this should work too:
openclaw models set custom-1
OPENCLAW_ALLOW_OLDER_BINARY_DESTRUCTIVE_ACTIONS=1 openclaw gateway restart
am getting this again No API key found for provider "openai". You are authenticated with OpenAI Codex OAuth. Use openai-codex/gpt-5.5, or set OPENAI_API_KEY for direct OpenAI API access. I think the key was wiped out how do I get it the key again from openai and how do I put it into claude again
I don’t think the key was wiped. Your own status showed Codex OAuth is still valid:
openai-codex ... ok expires in 2d
The error is because the active/default model is still openai/gpt-5.5, which 5.7 is treating as direct OpenAI API. If you want to use your existing Codex OAuth, don’t create a new API key. Set the model to the Codex provider:
openclaw config set agents.defaults.models '{"openai-codex/gpt-5.5":{}}' --strict-json --merge
openclaw models set openai-codex/gpt-5.5
OPENCLAW_ALLOW_OLDER_BINARY_DESTRUCTIVE_ACTIONS=1 openclaw gateway restart
openclaw models status
You want it to say:
Default: openai-codex/gpt-5.5
If you really want a direct OpenAI API key instead:
- Create one at https://platform.openai.com/api-keys
- Put it in OpenClaw with the guided auth flow:
openclaw models auth login --provider openai --method api-key
OPENCLAW_ALLOW_OLDER_BINARY_DESTRUCTIVE_ACTIONS=1 openclaw gateway restart
openclaw models status
Don’t paste the key into Discord. Also, this is OpenClaw config, not Claude config; Claude/Anthropic keys are separate from OpenAI keys.
no I want to do subsrcipiong autho for codex 5.5
Got it. For subscription auth, you want OpenAI Codex OAuth, not OPENAI_API_KEY.
Run:
openclaw models auth login --provider openai-codex
Then make 5.7 allow and use the Codex model ref:
openclaw config set agents.defaults.models '{"openai-codex/gpt-5.5":{}}' --strict-json --merge
openclaw models set openai-codex/gpt-5.5
OPENCLAW_ALLOW_OLDER_BINARY_DESTRUCTIVE_ACTIONS=1 openclaw gateway restart
openclaw models status
You want models status to show:
Default: openai-codex/gpt-5.5
and auth should show openai-codex ... OAuth ... ok.
If models set still says not allowed, paste this output:
openclaw config get agents.defaults.models
openclaw models auth list --provider openai-codex
okay this is bad it not chatting i even restarted it
Yeah, don’t keep changing random pieces now. We need the first failing line from the gateway.
Run this in one SSH window:
openclaw logs --follow
Then send one fresh message to the Telegram bot. Copy the 20-40 log lines that appear right after that message.
Also run these and paste the output:
openclaw models status
openclaw channels status --probe
openclaw gateway status --deep
The key things I’m looking for:
- Does Telegram receive the inbound message?
- Does it fail on model auth/model not allowed?
- Is the gateway CPU/event-loop stuck?
- Is the active default actually
openai-codex/gpt-5.5?
If you just want the fastest recovery path and don’t care about staying on 5.7, I’d honestly go back to 5.12 and fix the original stale browser/proxy cache. Your 5.12 gateway + Telegram were healthy; the protocol mismatch was the browser loading old protocol v3 UI files.
I jut need this working again. it keeps saying this. how do I get it to work on my OpenAI Codex OAuth. Use openai-codex/gpt-5.5
Understood. No API key. Codex subscription auth only.
Run this exact block on the server:
openclaw models auth login --provider openai-codex
openclaw config set agents.defaults.models '{"openai-codex/gpt-5.5":{}}' --strict-json --merge
openclaw config set agents.defaults.model '{"primary":"openai-codex/gpt-5.5","fallbacks":[]}' --strict-json
openclaw config validate
OPENCLAW_ALLOW_OLDER_BINARY_DESTRUCTIVE_ACTIONS=1 openclaw gateway restart
openclaw models status
The important line must change from:
Default: openai/gpt-5.5
to:
Default: openai-codex/gpt-5.5
Then in Telegram or Discord send this once to clear the current chat session’s stale model selection:
/new openai-codex/gpt-5.5
or:
/model openai-codex/gpt-5.5
Then send a normal test message.
If it still says OpenAI API key missing after that, paste only these outputs:
openclaw models status
openclaw config get agents.defaults.model
openclaw config get agents.defaults.models
ubuntu@ip-172-26-9-143:~$ openclaw models status
咽 OpenClaw 2026.5.7 (eeef486)
WhatsApp automation without the "please accept our new privacy policy".
Config : ~/.openclaw/openclaw.json
Agent dir : ~/.openclaw/agents/main/agent
Default : amazon-bedrock/global.anthropic.claude-sonnet-4-6
Fallbacks (0) : -
Image model : -
Image fallbacks (0): -
Aliases (4) : custom-1 -> amazon-bedrock/global.anthropic.claude-sonnet-4-6, haiku-3-5 -> amazon-bedrock/us.anthropic.claude-3-5-haiku-20241022-v1:0, kimi-k2-5 -> amazon-bedrock/us.moonshotai.kimi-k2.5, haiku-4-5 -> amazon-bedrock/us.anthropic.claude-haiku-4-5-20251001-v1:0
Configured models (6): amazon-bedrock/global.anthropic.claude-sonnet-4-6, amazon-bedrock/us.anthropic.claude-3-5-haiku-20241022-v1:0, amazon-bedrock/us.moonshotai.kimi-k2.5, amazon-bedrock/us.anthropic.claude-haiku-4-5-20251001-v1:0, amazon-bedrock/us.anthropic.claude-sonnet-4-6, openai/gpt-5.5
Auth overview
Auth store : ~/.openclaw/agents/main/agent/auth-profiles.json
Shell env : off
Providers w/ OAuth/tokens (1): openai-codex (1)
- amazon-bedrock effective=env:AW...LE | env=AW...LE | source=env | models.json=dummy-ke...-use-iam | source=models.json: ~/.openclaw/agents/main/agent/models.json
- openai-codex effective=profiles:~/.openclaw/agents/main/agent/auth-profiles.json | profiles=1 (oauth=1, token=0, api_key=0) | openai-codex:james.h@utopiavr.world=OAuth (james.h@utopiavr.world)
OAuth/token status
- openai-codex
- openai-codex:james.h@utopiavr.world (james.h@utopiavr.world) ok expires in 2d
and ubuntu@ip-172-26-9-143:~$ openclaw config get agents.defaults.model
咽 OpenClaw 2026.5.7 (eeef486)
Your second brain, except this one actually remembers where you left things.
{
"primary": "amazon-bedrock/global.anthropic.claude-sonnet-4-6"
}
ubuntu@ip-172-26-9-143:~$ openclaw config get agents.defaults.model
咽 OpenClaw 2026.5.7 (eeef486) — iMessage green bubble energy, but for everyone.
{
"primary": "amazon-bedrock/global.anthropic.claude-sonnet-4-6"
}
This status says two important things:
- Your gateway default is now Bedrock:
Default: amazon-bedrock/global.anthropic.claude-sonnet-4-6
- Your Codex subscription auth is still present and valid:
openai-codex ... OAuth ... ok expires in 2d
So if chat still says No API key found for provider openai, that is almost certainly an old chat session pinned to openai/gpt-5.5.
Fastest way to get chatting again right now: in Telegram/Discord send:
/new custom-1
or:
/model custom-1
Then send a normal test message.
If you specifically want Codex subscription auth instead, your status still does not show openai-codex/gpt-5.5 under Configured models, so add it and verify before testing:
openclaw config set agents.defaults.models '{"openai-codex/gpt-5.5":{}}' --strict-json --merge
openclaw config set agents.defaults.model '{"primary":"openai-codex/gpt-5.5","fallbacks":[]}' --strict-json
OPENCLAW_ALLOW_OLDER_BINARY_DESTRUCTIVE_ACTIONS=1 openclaw gateway restart
openclaw models status
After that, models status must show:
Default: openai-codex/gpt-5.5
Configured models: ... openai-codex/gpt-5.5
Then start a fresh chat session with:
/new openai-codex/gpt-5.5
Yep, that confirms the server default is Bedrock now, not OpenAI.
So if you still get the OpenAI API-key error, it’s coming from the active chat session override, not the global default.
In the chat where you’re testing, send exactly:
/new custom-1
Then send a normal message.
If you want Codex instead of Bedrock, the config still needs to be changed to Codex. Run:
openclaw config set agents.defaults.models '{"openai-codex/gpt-5.5":{}}' --strict-json --merge
openclaw config set agents.defaults.model '{"primary":"openai-codex/gpt-5.5","fallbacks":[]}' --strict-json
OPENCLAW_ALLOW_OLDER_BINARY_DESTRUCTIVE_ACTIONS=1 openclaw gateway restart
openclaw models status
But for “just make it work again”, use /new custom-1 first since Bedrock is already configured and authenticated.
this is not working I keep getting this error on the telegram ⚠️ Missing API key for OpenAI on the gateway. Use openai-codex/gpt-5.5, or set OPENAI_API_KEY, then try again. and on dashboard No API key found for provider "openai". You are authenticated with OpenAI Codex OAuth. Use openai-codex/gpt-5.5, or set OPENAI_API_KEY for direct OpenAI API access.
Ellegon
⚠️ Agent failed before reply: No API key found for provider "openai". You are authenticated with OpenAI Codex OAuth. Use openai-codex/gpt-5.5, or set OPENAI_API_KEY for direct OpenAI API access. | No API key found for provider "openai". You are authenticated with OpenAI Codex OAuth. Use openai-codex/gpt-5.5, or set OPENAI_API_KEY for direct OpenAI API access.
Logs: openclaw logs --follow
×8
I get why this is frustrating. Since the default is no longer OpenAI but the runtime still chooses OpenAI, something else is overriding the model: either the routed agent config or the saved session.
Run these exactly and paste the output:
openclaw config get agents.list
openclaw config get channels.telegram
openclaw config get channels.discord
openclaw sessions cleanup --all-agents --dry-run --json
Do not paste bot tokens if any appear; redact them.
For an immediate reset attempt, send this in Telegram, exactly as a message to the bot:
/reset
Then:
/model custom-1
Then send hello.
If it still errors, the active route is probably not using the main default; it’s using one of your configured agents that still has model: openai/gpt-5.5. The agents.list output will show which one.
this is jsut not working I dont understadn what happened just because I updated to the 5.12. what the instructions to install openia-codex/gpt-5.5 autho on openclaw
I get it. The update changed config/runtime handling, then the rollback left you with mixed 5.12 config + 5.7 behavior. For OpenAI Codex subscription auth, do this cleanly:
# 1) Sign in with Codex subscription auth
openclaw models auth login --provider openai-codex
# 2) Add the Codex model to the allowed/configured model list
openclaw config set agents.defaults.models '{"openai-codex/gpt-5.5":{}}' --strict-json --merge
# 3) Make it the default model
openclaw config set agents.defaults.model '{"primary":"openai-codex/gpt-5.5","fallbacks":[]}' --strict-json
# 4) Validate + restart
openclaw config validate
OPENCLAW_ALLOW_OLDER_BINARY_DESTRUCTIVE_ACTIONS=1 openclaw gateway restart
# 5) Confirm
openclaw models status
The confirm output must show:
Default: openai-codex/gpt-5.5
OAuth/token status:
- openai-codex ... ok
Then in Telegram/Dashboard start a fresh session so it stops using the old openai/gpt-5.5 session override:
/new openai-codex/gpt-5.5
If it still says missing OpenAI API key after that, run this and paste the output:
openclaw config get agents.defaults.model
openclaw config get agents.defaults.models
openclaw config get agents.list
openclaw models status
That will show the exact place still pointing to openai/gpt-5.5.
it is not workiing I can chat on anything with openclaw
I’m sorry, this has gotten tangled. Stop changing config for a minute. We need one clean snapshot of what OpenClaw is actually trying to run.
Run these and paste the output:
openclaw --version
openclaw models status
openclaw config get agents.defaults.model
openclaw config get agents.defaults.models
openclaw config get agents.list
openclaw channels status --probe
Then run this, send one message to Telegram, and paste the first error block that appears:
openclaw logs --follow
Right now the repeated error means some active route/session/agent is still selecting openai/gpt-5.5 instead of openai-codex/gpt-5.5. The agents.list output is the missing piece; if any agent has its own model set to openai/gpt-5.5, the global default won’t matter.
If you want the least-risk “get back online” path, set Bedrock and reset the session:
openclaw config set agents.defaults.model '{"primary":"amazon-bedrock/global.anthropic.claude-sonnet-4-6","fallbacks":[]}' --strict-json
OPENCLAW_ALLOW_OLDER_BINARY_DESTRUCTIVE_ACTIONS=1 openclaw gateway restart
Then send this to Telegram:
/reset
/model custom-1
If even that still says OpenAI API key, it confirms an agent-specific override, and the agents.list output will show exactly where.
that is not working custom-1 is like claude we dont use anymore
Got it. Ignore custom-1. No Bedrock/Claude path.
For Codex subscription auth only, the server must show Default: openai-codex/gpt-5.5 before chat will work.
Run exactly:
openclaw models auth login --provider openai-codex
openclaw config set agents.defaults.models '{"openai-codex/gpt-5.5":{}}' --strict-json --merge
openclaw config set agents.defaults.model '{"primary":"openai-codex/gpt-5.5","fallbacks":[]}' --strict-json
openclaw config validate
OPENCLAW_ALLOW_OLDER_BINARY_DESTRUCTIVE_ACTIONS=1 openclaw gateway restart
openclaw models status
Do not test chat until openclaw models status shows:
Default: openai-codex/gpt-5.5
openai-codex ... OAuth ... ok
Then in Telegram send:
/reset
/model openai-codex/gpt-5.5
Then send hello.
If it still says missing OpenAI API key, paste these two outputs and I’ll point to the exact override:
openclaw models status
openclaw config get agents.list
That second one matters because an agent-specific model can override the default and keep forcing openai/gpt-5.5.
the 2nd one it go big to paste here how do you want me to do it break it up
Don’t paste the whole thing. Filter it down to only model lines.
Run:
openclaw config get agents.list --json | grep -n -C 3 'openai\|gpt-5.5\|model'
If that prints nothing, run:
openclaw config get agents.list --json | head -80
Also paste this one; it should be short:
openclaw models status
What I’m looking for is any agent entry with "model": "openai/gpt-5.5" or similar. If we find it, we’ll change just that agent to openai-codex/gpt-5.5.
"model": "openai-codex/gpt-5.5",
"identity": {
"name": "Ellegon",
"theme": "Dragon",
"emoji": "",
"id": "adrian",
"name": "adrian",
"workspace": "/home/ubuntu/.openclaw/agents/adrian/workspace",
"agentDir": "/home/ubuntu/.openclaw/agents/adrian/agent",
"model": "openai-codex/gpt-5.5"
"name": "gypsy",
"workspace": "/home/ubuntu/.openclaw/agents/gypsy/workspace",
"agentDir": "/home/ubuntu/.openclaw/agents/gypsy/agent",
"model": "openai-codex/gpt-5.5",
"name": "nova",
"workspace": "/home/ubuntu/.openclaw/agents/nova/workspace",
"agentDir": "/home/ubuntu/.openclaw/agents/nova/agent",
"model": "openai-codex/gpt-5.5",
"name": "astra",
"workspace": "/home/ubuntu/.openclaw/agents/astra/workspace",
"agentDir": "/home/ubuntu/.openclaw/agents/astra/agent",
"model": "openai-codex/gpt-5.5",
"name": "research-scout",
"workspace": "/home/ubuntu/.openclaw/workspace",
"agentDir": "/home/ubuntu/.openclaw/agents/research-scout/agent",
"model": "openai-codex/gpt-5.5",
"name": "orion",
"workspace": "/home/ubuntu/.openclaw/workspace",
"agentDir": "/home/ubuntu/.openclaw/agents/orion/agent",
"model": "openai-codex/gpt-5.5",
Good, that shows the agent config is mostly pointing at openai-codex/gpt-5.5. So the remaining problem is likely one of these:
- the active session still has an old
openai/gpt-5.5override, or - the routed agent does not have the Codex OAuth profile in its own agent auth store.
Run these:
openclaw models status
openclaw models status --agent adrian
openclaw models status --agent gypsy
openclaw models status --agent nova
openclaw models status --agent astra
openclaw models status --agent research-scout
openclaw models status --agent orion
You do not need to paste all of it. For each one, look for:
Default: openai-codex/gpt-5.5
openai-codex ... OAuth ... ok
If any routed agent does not show OAuth ok, login for that agent:
openclaw models auth login --provider openai-codex --agent adrian
Replace adrian with whichever agent is missing auth.
Also in Telegram, do a hard session reset:
/reset
/new openai-codex/gpt-5.5
Then send hello.
If it still fails, paste the short output from:
openclaw models status --agent adrian
openclaw logs --follow
Send one Telegram message while logs are following, then paste the first model/auth error block.
I did all that and go this ⚠️ Agent failed before reply: No API key found for provider "openai-codex". Auth store: /home/ubuntu/.openclaw/agents/main/agent/auth-profiles.json (agentDir: /home/ubuntu/.openclaw/agents/main/agent). Configure auth for this agent (openclaw agents add <id>) or copy only portable static auth profiles from the main agentDir. | No API key found for provider "openai-codex". Auth store: /home/ubuntu/.openclaw/agents/main/agent/auth-profiles.json (agentDir: /home/ubuntu/.openclaw/agents/main/agent). Configure auth for this agent (openclaw agents add <id>) or copy only portable static auth profiles from the main agentDir.
Logs: openclaw logs --follow
That error is finally specific: the active agent is main, and main currently does not have usable openai-codex auth in:
/home/ubuntu/.openclaw/agents/main/agent/auth-profiles.json
So fix auth for the main agent directly:
openclaw models auth login --provider openai-codex --agent main
openclaw models auth list --provider openai-codex --agent main
openclaw models status --agent main
You want it to show openai-codex ... OAuth ... ok for agent main.
Then restart and reset the chat session:
OPENCLAW_ALLOW_OLDER_BINARY_DESTRUCTIVE_ACTIONS=1 openclaw gateway restart
In Telegram:
/reset
/new openai-codex/gpt-5.5
Then send hello.
If the login command does not accept --agent main, run the same login without the agent flag:
openclaw models auth login --provider openai-codex
The key point: do not set OPENAI_API_KEY; this is Codex subscription OAuth, and the failing auth store is the main agent’s auth store.
getting this question from that
I don’t see the question in your message. Paste the exact prompt it’s asking.
If it’s asking which provider/auth method to use, choose:
openai-codex
Codex OAuth / subscription auth
Not OpenAI API key.
If it gives you a browser login URL/code, open it and sign in with the ChatGPT/Codex account you want to use. After login, run:
openclaw models auth list --provider openai-codex --agent main
openclaw models status --agent main
You want openai-codex ... OAuth ... ok.
◆ Auth method for OpenAI Codex
│ ● OpenAI Codex Browser Login (Sign in with OpenAI in your browser)
│ ○ OpenAI Codex Device Pairing
└
Choose the selected/default one:
OpenAI Codex Browser Login
That is the normal subscription/OAuth path. It should open or print a browser login URL. Sign in with the OpenAI/ChatGPT account that has Codex access.
After it completes, verify:
openclaw models auth list --provider openai-codex --agent main
openclaw models status --agent main
You want openai-codex ... OAuth ... ok.
I got this Config overwrite: /home/ubuntu/.openclaw/openclaw.json (sha256 a7d7fef968c3094b45c2f96a63d671cdf9073153b703764027a645345fceefed -> f1c52efc47c0fad625f328ea1dcee0c5404b52348bfa82791eae76e61038e7d0, backup=/home/ubuntu/.openclaw/openclaw.json.bak)
Updated ~/.openclaw/openclaw.json
Auth profile: openai-codex:james.h@utopiavr.world (openai-codex/oauth)
Default model available: openai-codex/gpt-5.5 (use --set-default to apply)
Tip: Codex-capable models can use native Codex web search. Enable it with openclaw configure --section web (recommended mode: cached). Docs: https://docs.openclaw.ai/tools/web
Great, auth is installed now. The important line is:
Auth profile: openai-codex:james.h@utopiavr.world (openai-codex/oauth)
It also says the model is available but not applied:
Default model available: openai-codex/gpt-5.5 (use --set-default to apply)
So now set it as default and restart:
openclaw models set openai-codex/gpt-5.5
OPENCLAW_ALLOW_OLDER_BINARY_DESTRUCTIVE_ACTIONS=1 openclaw gateway restart
openclaw models status --agent main
You want:
Default: openai-codex/gpt-5.5
openai-codex ... OAuth ... ok
Then in Telegram:
/reset
/new openai-codex/gpt-5.5
Then send hello.
I still get this ⚠️ Agent failed before reply: No API key found for provider "openai-codex". Auth store: /home/ubuntu/.openclaw/agents/main/agent/auth-profiles.json (agentDir: /home/ubuntu/.openclaw/agents/main/agent). Configure auth for this agent (openclaw agents add <id>) or copy only portable static auth profiles from the main agentDir. | No API key found for provider "openai-codex". Auth store: /home/ubuntu/.openclaw/agents/main/agent/auth-profiles.json (agentDir: /home/ubuntu/.openclaw/agents/main/agent). Configure auth for this agent (openclaw agents add <id>) or copy only portable static auth profiles from the main agentDir.
Logs: openclaw logs --follow and this No API key found for provider "openai-codex". Auth store: /home/ubuntu/.openclaw/agents/main/agent/auth-profiles.json (agentDir: /home/ubuntu/.openclaw/agents/main/agent). Configure auth for this agent (openclaw agents add <id>) or copy onl...
That means the gateway still cannot see the Codex OAuth profile in the main agent auth store. Let’s stop guessing and verify that exact file.
Run this:
openclaw models auth list --provider openai-codex --agent main
openclaw models status --agent main
If that does not show openai-codex ... OAuth ... ok, run the login again explicitly for main:
openclaw models auth login --provider openai-codex --agent main --set-default
Then:
openclaw models auth list --provider openai-codex --agent main
OPENCLAW_ALLOW_OLDER_BINARY_DESTRUCTIVE_ACTIONS=1 openclaw gateway restart
If it still fails after that, check where the profile was written without exposing tokens:
find ~/.openclaw -name auth-profiles.json -print
grep -R "openai-codex" ~/.openclaw/agents/*/agent/auth-profiles.json
Do not paste token values if they appear. If the grep output is huge, just paste the file paths/agent names that contain openai-codex.
The error is explicit now: the running agent is main, and main needs its own Codex OAuth profile in ~/.openclaw/agents/main/agent/auth-profiles.json.
wait it might be working
Good. Before changing anything else, test one clean message and then verify status:
openclaw models status --agent main
openclaw channels status --probe
If Telegram replies normally now, stop there. The likely final state should be:
Default: openai-codex/gpt-5.5
openai-codex ... OAuth ... ok
Telegram ... works
If it’s fixed, please right-click the solution message → Apps → ✅ Mark Solution so this gets indexed for the next person who hits the same upgrade/rollback/auth tangle.
where is that? and can you give me a prompt to tell my openclaw what the problem was we ran into with the update
For marking the solution: in Discord, right-click or long-press the message that fixed it, then choose:
Apps → ✅ Mark Solution
If you don’t see it on mobile, try desktop Discord.
Here’s a prompt you can send to your OpenClaw so it remembers what happened:
We had an OpenClaw upgrade issue after moving from 2026.5.7 to 2026.5.12 on my Lightsail Ubuntu server. The gateway and Telegram were mostly healthy, but the dashboard showed protocol mismatch because the browser/proxy was loading an old Control UI bundle using protocol v3 while the 5.12 gateway expected protocol v4. Clearing browser/site data/service worker or bypassing the public HTTPS path with an SSH tunnel would fix that side.
I rolled back to 2026.5.7, which caused config compatibility issues because 5.12 had written newer config keys like agentRuntime and agents.list[].models. Running doctor --fix made the config parseable for 5.7. The remaining chat failure was model/auth routing: sessions or agents were still resolving to openai/gpt-5.5, which requires direct OPENAI_API_KEY, but I wanted Codex subscription OAuth. The fix was to use openai-codex/gpt-5.5, make sure the main agent had openai-codex OAuth in ~/.openclaw/agents/main/agent/auth-profiles.json, set the default/agent models to openai-codex/gpt-5.5, restart the gateway, then reset/start a fresh chat session.
Useful final checks:
openclaw models status --agent main
openclaw channels status --probe
Healthy signs are openai-codex ... OAuth ... ok and Telegram works.
✅ Mark Solution
Perfect, thanks. Glad it’s back up. 🦞
If you try updating again, I’d do it as a controlled pass:
cp ~/.openclaw/openclaw.json ~/.openclaw/openclaw.json.before-update-$(date +%Y%m%d-%H%M%S)
openclaw update
openclaw doctor --fix
openclaw gateway install --force
openclaw gateway restart
openclaw --version
openclaw gateway status --deep
openclaw models status --agent main
openclaw channels status --probe
Then clear the dashboard/browser cache before opening it, because your original 5.12 issue was the browser/proxy serving old Control UI protocol v3 files to a protocol v4 gateway.
For Codex subscription auth after update, verify:
openclaw models auth list --provider openai-codex --agent main
openclaw models status --agent main
If it shows openai-codex ... OAuth ... ok and Default: openai/gpt-5.5 or openai-codex/gpt-5.5 depending on the version behavior, don’t change anything else until you test one fresh /reset + message.
Sounds good. If it starts acting weird again, bring the first failing log line and openclaw models status --agent main; that’ll save us a lot of circling.
Happened to me a little bit ago, I clicked update from the UI. I just had to run openclaw gateway restart after a few minutes and it started working again