#help I was in 5.7 everything was working when I updated to 5.12 nothing works

1 messages · Page 1 of 1 (latest)

wintry rivet
#

I was in 5.7 everything was working when I updated to 5.12 nothing works. I get this on the protocol mismatch openclaw dashboard telegram will not respond. I tried doc to fix and a couple other thing from gemini to try to help

green apexBOT
#

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

inner rootBOT
# wintry rivet I was in 5.7 everything was working when I updated to 5.12 nothing works. I get...

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
inner rootBOT
# wintry rivet I was in 5.7 everything was working when I updated to 5.12 nothing works. I get...
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

wintry rivet
#

ubuntu@ip-172-26-9-143:~$ openclaw --version
OpenClaw 2026.5.12 (f066dd2)

inner rootBOT
# wintry rivet 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
inner rootBOT
wintry rivet
#

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

inner rootBOT
# wintry rivet after run deep status this is what i get OpenClaw 2026.5.12 (f066dd2) We ship...

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
inner rootBOT
wintry rivet
#

it states this openclaw pairing list telegram

inner rootBOT
# wintry rivet 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.

wintry rivet
#

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.

inner rootBOT
# wintry rivet ubuntu@ip-172-26-9-143:~$ openclaw pairing list telegram 咽 OpenClaw 2026.5.12 (...

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 → run openclaw pairing list telegram again 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:

inner rootBOT
wintry rivet
#

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"
}
}

inner rootBOT
# wintry rivet ubuntu@ip-172-26-9-143:~$ openclaw config get channels.telegram 咽 OpenClaw 2026...

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: {
inner rootBOT
inner rootBOT
wintry rivet
#

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).

inner rootBOT
# wintry rivet this is what I got ubuntu@ip-172-26-9-143:~$ openclaw config validate openclaw g...

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:

inner rootBOT
# wintry rivet this is what I got ubuntu@ip-172-26-9-143:~$ openclaw config validate openclaw g...
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.

wintry rivet
#

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

inner rootBOT
# wintry rivet I keep getting 17:29:14+00:00 warn gateway/ws {"subsystem":"gateway/ws"} protoco...

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:

  1. In Edge, open DevTools → Application → Storage → Clear site data for https://54.173.93.190
  2. Also unregister any Service Worker for that origin, then close all tabs for that dashboard.
  3. Reopen using a fresh URL from:
inner rootBOT
# wintry rivet I keep getting 17:29:14+00:00 warn gateway/ws {"subsystem":"gateway/ws"} protoco...
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:

inner rootBOT
wintry rivet
#

am using lightsail aws server so I can just do ssh -L 18789:127.0.0.1:18789 ubuntu@54.173.93.190

inner rootBOT
inner rootBOT
wintry rivet
#

how do is just roll back to 5.7 for now

inner rootBOT
# wintry rivet 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:

inner rootBOT
# wintry rivet how do is just roll back to 5.7 for now
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.

wintry rivet
#

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
inner rootBOT
inner rootBOT
# wintry rivet I am getting this now ubuntu@ip-172-26-9-143:~$ OPENCLAW_ALLOW_OLDER_BINARY_DEST...

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:

inner rootBOT
wintry rivet
#

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

inner rootBOT
# wintry rivet when I run the first one I get this openclaw plugins disable codex

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:

inner rootBOT
# wintry rivet when I run the first one I get this openclaw plugins disable codex
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.

inner rootBOT
# wintry rivet ubuntu@ip-172-26-9-143:~$ openclaw plugins disable codex Invalid config at /home...

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:

inner rootBOT
# wintry rivet ubuntu@ip-172-26-9-143:~$ openclaw plugins disable codex Invalid config at /home...
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.

wintry rivet
#

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

inner rootBOT
# wintry rivet ubuntu@ip-172-26-9-143:~$ openclaw plugins disable codex Invalid config at /home...

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:
inner rootBOT
# wintry rivet ubuntu@ip-172-26-9-143:~$ openclaw plugins disable codex Invalid config at /home...
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.

wintry rivet
#

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

inner rootBOT
inner rootBOT
wintry rivet
#

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

inner rootBOT
# wintry rivet I ran that I keep getting the following ubuntu@ip-172-26-9-143:~$ openclaw plugi...

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*
inner rootBOT
# wintry rivet I ran that I keep getting the following ubuntu@ip-172-26-9-143:~$ openclaw plugi...

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.

wintry rivet
#

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:~$

inner rootBOT
# wintry rivet am getting this

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.

inner rootBOT
inner rootBOT
wintry rivet
#

it ran how do I check if it that worked

inner rootBOT
# wintry rivet 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 valid
  • OpenClaw 2026.5.7
  • gateway runtime running and connectivity probe ok

Then fix/verify the Codex plugin alignment:

inner rootBOT
# wintry rivet it ran how do I check if it that worked
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.

wintry rivet
#

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).

inner rootBOT
# wintry rivet i got this in return ubuntu@ip-172-26-9-143:~$ OPENCLAW_ALLOW_OLDER_BINARY_DESTR...

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
inner rootBOT
wintry rivet
#

⚠️ 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

inner rootBOT
# wintry rivet ⚠️ Missing API key for OpenAI on the gateway. Use openai-codex/gpt-5.5, or set O...

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
inner rootBOT
wintry rivet
#

failed have a looke Failed to set model: GatewayRequestError: model not allowed: openai-codex/gpt-5.5

inner rootBOT
inner rootBOT
wintry rivet
#

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).

inner rootBOT
# wintry rivet I got this on the probe ubuntu@ip-172-26-9-143:~$ openclaw channels status --pro...

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:

inner rootBOT
inner rootBOT
wintry rivet
#

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).

inner rootBOT
# wintry rivet buntu@ip-172-26-9-143:~$ openclaw channels status --probe openclaw models status...

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:

inner rootBOT
wintry rivet
#

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:~$
inner rootBOT
# wintry rivet OpenClaw 2026.5.7 (eeef486) I'm like tmux: confusing at first, then suddenly ...

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.

inner rootBOT
inner rootBOT
# wintry rivet Auth overview Auth store : ~/.openclaw/agents/main/agent/auth-profiles.json S...

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
inner rootBOT
wintry rivet
#

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

inner rootBOT
# wintry rivet am getting this again No API key found for provider "openai". You are authentica...

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:

inner rootBOT
# wintry rivet am getting this again No API key found for provider "openai". You are authentica...
Default: openai-codex/gpt-5.5

If you really want a direct OpenAI API key instead:

  1. Create one at https://platform.openai.com/api-keys
  2. 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.

wintry rivet
#

no I want to do subsrcipiong autho for codex 5.5

inner rootBOT
# wintry rivet 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
inner rootBOT
# wintry rivet no I want to do subsrcipiong autho for codex 5.5

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
wintry rivet
#

okay this is bad it not chatting i even restarted it

inner rootBOT
# wintry rivet 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
inner rootBOT
# wintry rivet okay this is bad it not chatting i even restarted it

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.

wintry rivet
#

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

inner rootBOT
# wintry rivet I jut need this working again. it keeps saying this. how do I get it to work o...

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:

inner rootBOT
inner rootBOT
wintry rivet
#

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"
}

inner rootBOT
# wintry rivet ubuntu@ip-172-26-9-143:~$ openclaw models status 咽 OpenClaw 2026.5.7 (eeef486) ...

This status says two important things:

  1. Your gateway default is now Bedrock:
Default: amazon-bedrock/global.anthropic.claude-sonnet-4-6
  1. 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:

inner rootBOT
inner rootBOT
inner rootBOT
# wintry rivet and ubuntu@ip-172-26-9-143:~$ openclaw config get agents.defaults.model 咽 OpenC...

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
inner rootBOT
wintry rivet
#

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

inner rootBOT
# wintry rivet this is not working I keep getting this error on the telegram ⚠️ Missing API key...

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:

inner rootBOT
wintry rivet
#

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

inner rootBOT
# wintry rivet this is jsut not working I dont understadn what happened just because I updated ...

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
inner rootBOT
inner rootBOT
wintry rivet
#

it is not workiing I can chat on anything with openclaw

inner rootBOT
# wintry rivet 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:

inner rootBOT
# wintry rivet it is not workiing I can chat on anything with openclaw
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:

inner rootBOT
wintry rivet
#

that is not working custom-1 is like claude we dont use anymore

inner rootBOT
# wintry rivet 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
inner rootBOT
inner rootBOT
wintry rivet
#

the 2nd one it go big to paste here how do you want me to do it break it up

inner rootBOT
inner rootBOT
wintry rivet
#

"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",

inner rootBOT
# wintry rivet "model": "openai-codex/gpt-5.5", "identity": { "name": "Ellegon", ...

Good, that shows the agent config is mostly pointing at openai-codex/gpt-5.5. So the remaining problem is likely one of these:

  1. the active session still has an old openai/gpt-5.5 override, or
  2. 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
inner rootBOT
# wintry rivet "model": "openai-codex/gpt-5.5", "identity": { "name": "Ellegon", ...

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:

inner rootBOT
wintry rivet
#

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

inner rootBOT
# wintry rivet I did all that and go this ⚠️ Agent failed before reply: No API key found for pr...

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:

inner rootBOT
inner rootBOT
wintry rivet
#

getting this question from that

inner rootBOT
# wintry rivet 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
inner rootBOT
wintry rivet
#

◆ Auth method for OpenAI Codex
│ ● OpenAI Codex Browser Login (Sign in with OpenAI in your browser)
│ ○ OpenAI Codex Device Pairing

inner rootBOT
wintry rivet
#

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

inner rootBOT
inner rootBOT
inner rootBOT
wintry rivet
#

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...

inner rootBOT
# wintry rivet I still get this ⚠️ Agent failed before reply: No API key found for provider "op...

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:

inner rootBOT
# wintry rivet I still get this ⚠️ Agent failed before reply: No API key found for provider "op...
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.

wintry rivet
#

wait it might be working

inner rootBOT
# wintry rivet 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.

wintry rivet
#

where is that? and can you give me a prompt to tell my openclaw what the problem was we ran into with the update

inner rootBOT
# wintry rivet where is that? and can you give me a prompt to tell my openclaw what the problem...

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:

inner rootBOT
wintry rivet
#

✅ Mark Solution

inner rootBOT
wintry rivet
#

if I figure out a way to get it update

#

i will let you know

inner rootBOT
# wintry rivet if I figure out a way to get it update

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.

inner rootBOT
# wintry rivet if I figure out a way to get it update

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.

inner rootBOT
# wintry rivet i will let you know

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.

prime kraken
#

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