openclaw - 💡(How to fix) Fix Beta audit: 2026.5.10-beta.1 -> 2026.5.12-beta.2 update findings [1 pull requests]

Official PRs (…)
ON THIS PAGE

Recommended Tools

×6

Utilities matched from this issue’s tags and category — try them while you read without losing context.

GitHub issue graph ai analysis

Paste a GitHub issue URL. We fetch that issue, discover linked issues from bodies/comments/timeline, collect linked pull requests, and produce a structured English report.

The report is written in English Markdown for sharing and archival.

Helpful · Quick feedback

Loading…

Sanitized beta audit from an OpenClaw host updated with:

openclaw update --channel beta

The update completed and the managed gateway is live on 2026.5.12-beta.2, but a direct Codex/OpenAI model smoke test failed after the updater auto-installed @openclaw/codex@beta.

Error Message

GatewayClientRequestError: Error: Cannot find module '<global-openclaw>/dist/plugin-sdk/root-alias.cjs/codex-native-task-runtime' Require stack:

  • ~/.openclaw/npm/node_modules/@openclaw/codex/dist/run-attempt-*.js

Root Cause

If intentional, this is fine; if not, it may reduce post-update diagnostics because gateway.err.log no longer receives new service stderr.

Fix Action

Fixed

Code Example

openclaw update --channel beta

---

OpenClaw 2026.5.10-beta.1
Update available: npm beta 2026.5.12-beta.2
Gateway service: LaunchAgent installed, loaded, running
/health: {"ok":true,"status":"live"}
channels status --deep: connected
plugins doctor: No plugin issues detected
openclaw tasks audit: 3 warnings, 0 errors

---

Requested agent harness "codex" is not registered.
model fallback decision: candidate_failed requested=openai/gpt-5.5 candidate=openai/gpt-5.5 next=anthropic/claude-opus-4-7
model fallback decision: candidate_succeeded requested=openai/gpt-5.5 candidate=anthropic/claude-opus-4-7

---

Update Result: OK
Root: <global-openclaw>
Before: 2026.5.10-beta.1
After: 2026.5.12-beta.2
Steps:
  global update: OK
  global install swap: OK
  openclaw doctor: OK
npm plugins: 2 updated, 1 unchanged

---

Stopping managed gateway service before package update...
Stopped LaunchAgent: gui/<uid>/ai.openclaw.gateway

---

OpenClaw 2026.5.12-beta.2
Gateway service: LaunchAgent installed, loaded, running
/health: {"ok":true,"status":"live"}
channels status --deep: connected after settling
plugins doctor: No plugin issues detected
openclaw tasks audit: 3 warnings, unchanged from baseline

---

Installed missing configured plugin "codex" from @openclaw/codex@beta.

---

id: codex
Status: loaded
Origin: global
Version: 2026.5.12-beta.2
Source: ~/.openclaw/npm/node_modules/@openclaw/codex/dist/index.js
Capabilities: text-inference: codex, media-understanding: codex
Install spec: @openclaw/codex
Recorded version: 2026.5.12-beta.2

---

{
  "id": "codex",
  "version": "2026.5.12-beta.2",
  "origin": "global",
  "enabled": false,
  "status": "disabled"
}

---

openclaw agent --agent main \
  --session-id <fresh-smoke-session> \
  --model openai/gpt-5.5 \
  --message "Return exactly: beta-smoke-ok" \
  --json \
  --timeout 180

---

GatewayClientRequestError: Error: Cannot find module '<global-openclaw>/dist/plugin-sdk/root-alias.cjs/codex-native-task-runtime'
Require stack:
- ~/.openclaw/npm/node_modules/@openclaw/codex/dist/run-attempt-*.js

---

[ws] res agent errorCode=UNAVAILABLE errorMessage=Error: Cannot find module '<global-openclaw>/dist/plugin-sdk/root-alias.cjs/codex-native-task-runtime'
- ~/.openclaw/npm/node_modules/@openclaw/codex/dist/run-attempt-*.js

---

<global-openclaw>/dist/plugin-sdk/root-alias.cjs                       # exists, file
<global-openclaw>/dist/plugin-sdk/codex-native-task-runtime.js          # exists, sibling file
<global-openclaw>/dist/plugin-sdk/codex-native-task-runtime.d.ts        # exists, sibling file
~/.openclaw/npm/node_modules/@openclaw/codex/dist/run-attempt-*.js      # exists

---

<global-openclaw>/dist/plugin-sdk/root-alias.cjs/codex-native-task-runtime

---

Your OpenClaw config was written by version 2026.5.12-beta.2, but this command is running 2026.5.10-beta.1.
Check: `openclaw --version`, `which openclaw`, and `openclaw gateway status --deep`.
If unexpected, update PATH so `openclaw` points to the version you want, or reinstall the Gateway service from that same OpenClaw install.
Gateway already reports the updated version after service refresh; skipped redundant restart.

---

stdout path = ~/.openclaw/logs/gateway.log
stderr path = /dev/null

---

OPENCLAW_GATEWAY_TOKEN conflicts with gateway.auth.token
Direct local Gateway clients commonly prefer the env token, while the managed gateway service prefers gateway.auth.token.

---

[SECRETS_GATEWAY_AUTH_SURFACE] gateway.auth.token is inactive. gateway.auth.token: gateway token env var is configured.

---

[ws] res status errorCode=INVALID_REQUEST errorMessage=missing scope: operator.read
[ws] res system-presence errorCode=INVALID_REQUEST errorMessage=missing scope: operator.read
[ws] res config.get errorCode=INVALID_REQUEST errorMessage=missing scope: operator.read

---

Agent "<agent>" is routed from channel "<channel>", but the message tool is unavailable for that agent; explicit channel actions such as sendAttachment, upload-file, thread-reply, or reply can fail.

---

<channel>: 117 commands exceeds limit; removing per-skill commands and keeping /skill.
<channel>: limits bots to 100 commands. 117 configured; registering first 100.
<channel>: menu text exceeded payload budget; shortening descriptions to keep 100 commands visible.
RAW_BUFFERClick to expand / collapse

Summary

Sanitized beta audit from an OpenClaw host updated with:

openclaw update --channel beta

The update completed and the managed gateway is live on 2026.5.12-beta.2, but a direct Codex/OpenAI model smoke test failed after the updater auto-installed @openclaw/codex@beta.

Environment

  • OS: macOS 26.4.1 arm64
  • Node: 25.9.0
  • Install root: <global-openclaw>
  • Service manager: macOS LaunchAgent
  • Gateway bind: local loopback
  • Previous version: 2026.5.10-beta.1
  • Target/current version: 2026.5.12-beta.2
  • Update channel after update: beta

Pre-update baseline

OpenClaw 2026.5.10-beta.1
Update available: npm beta 2026.5.12-beta.2
Gateway service: LaunchAgent installed, loaded, running
/health: {"ok":true,"status":"live"}
channels status --deep: connected
plugins doctor: No plugin issues detected
openclaw tasks audit: 3 warnings, 0 errors

Pre-existing issues/noise before this update:

  • OPENCLAW_GATEWAY_TOKEN / gateway.auth.token precedence warning.
  • openai-codex OAuth auth expiring soon.
  • Repeated model route fallback before the update:
Requested agent harness "codex" is not registered.
model fallback decision: candidate_failed requested=openai/gpt-5.5 candidate=openai/gpt-5.5 next=anthropic/claude-opus-4-7
model fallback decision: candidate_succeeded requested=openai/gpt-5.5 candidate=anthropic/claude-opus-4-7

This means the primary OpenAI/Codex route was already broken before 2026.5.12-beta.2; the update changed the failure mode by installing the Codex plugin, but did not make the primary route work.

Update result

Update Result: OK
Root: <global-openclaw>
Before: 2026.5.10-beta.1
After: 2026.5.12-beta.2
Steps:
  global update: OK
  global install swap: OK
  openclaw doctor: OK
npm plugins: 2 updated, 1 unchanged

Positive notes:

  • LaunchAgent stopped cleanly this time:
Stopping managed gateway service before package update...
Stopped LaunchAgent: gui/<uid>/ai.openclaw.gateway
  • Gateway verified live after update:
OpenClaw 2026.5.12-beta.2
Gateway service: LaunchAgent installed, loaded, running
/health: {"ok":true,"status":"live"}
channels status --deep: connected after settling
plugins doctor: No plugin issues detected
openclaw tasks audit: 3 warnings, unchanged from baseline

Main regression: @openclaw/codex installs but direct agent run fails on module path

During plugin update:

Installed missing configured plugin "codex" from @openclaw/codex@beta.

plugins inspect codex reports:

id: codex
Status: loaded
Origin: global
Version: 2026.5.12-beta.2
Source: ~/.openclaw/npm/node_modules/@openclaw/codex/dist/index.js
Capabilities: text-inference: codex, media-understanding: codex
Install spec: @openclaw/codex
Recorded version: 2026.5.12-beta.2

But plugins list --json showed the same plugin as:

{
  "id": "codex",
  "version": "2026.5.12-beta.2",
  "origin": "global",
  "enabled": false,
  "status": "disabled"
}

A direct model smoke test failed immediately:

openclaw agent --agent main \
  --session-id <fresh-smoke-session> \
  --model openai/gpt-5.5 \
  --message "Return exactly: beta-smoke-ok" \
  --json \
  --timeout 180

Result:

GatewayClientRequestError: Error: Cannot find module '<global-openclaw>/dist/plugin-sdk/root-alias.cjs/codex-native-task-runtime'
Require stack:
- ~/.openclaw/npm/node_modules/@openclaw/codex/dist/run-attempt-*.js

Gateway log excerpt:

[ws] res agent errorCode=UNAVAILABLE errorMessage=Error: Cannot find module '<global-openclaw>/dist/plugin-sdk/root-alias.cjs/codex-native-task-runtime'
- ~/.openclaw/npm/node_modules/@openclaw/codex/dist/run-attempt-*.js

Sanitized file layout check:

<global-openclaw>/dist/plugin-sdk/root-alias.cjs                       # exists, file
<global-openclaw>/dist/plugin-sdk/codex-native-task-runtime.js          # exists, sibling file
<global-openclaw>/dist/plugin-sdk/codex-native-task-runtime.d.ts        # exists, sibling file
~/.openclaw/npm/node_modules/@openclaw/codex/dist/run-attempt-*.js      # exists

The failing import path treats root-alias.cjs like a directory:

<global-openclaw>/dist/plugin-sdk/root-alias.cjs/codex-native-task-runtime

This looks like a package/import-alias regression in @openclaw/[email protected], not a missing credential or absent host file. plugins doctor did not catch it.

Other update findings

1. Restart still emitted previous-version CLI warning

After the package swap and config write, restart emitted:

Your OpenClaw config was written by version 2026.5.12-beta.2, but this command is running 2026.5.10-beta.1.
Check: `openclaw --version`, `which openclaw`, and `openclaw gateway status --deep`.
If unexpected, update PATH so `openclaw` points to the version you want, or reinstall the Gateway service from that same OpenClaw install.
Gateway already reports the updated version after service refresh; skipped redundant restart.

Fresh shell verification showed the CLI and gateway both on 2026.5.12-beta.2, so this appears transient during the updater process, but it is still confusing in beta validation.

2. LaunchAgent stderr path now points to /dev/null

Before the update, the LaunchAgent printed a stderr path under the OpenClaw logs directory. After the update, LaunchAgent state showed:

stdout path = ~/.openclaw/logs/gateway.log
stderr path = /dev/null

If intentional, this is fine; if not, it may reduce post-update diagnostics because gateway.err.log no longer receives new service stderr.

3. Gateway token warning text changed/persisted

The pre-existing token warning remains, with updated wording:

OPENCLAW_GATEWAY_TOKEN conflicts with gateway.auth.token
Direct local Gateway clients commonly prefer the env token, while the managed gateway service prefers gateway.auth.token.

Startup also logged:

[SECRETS_GATEWAY_AUTH_SURFACE] gateway.auth.token is inactive. gateway.auth.token: gateway token env var is configured.

4. Startup still generates missing scope: operator.read websocket errors

Shortly after restart:

[ws] res status errorCode=INVALID_REQUEST errorMessage=missing scope: operator.read
[ws] res system-presence errorCode=INVALID_REQUEST errorMessage=missing scope: operator.read
[ws] res config.get errorCode=INVALID_REQUEST errorMessage=missing scope: operator.read

Gateway remained live and later CLI checks worked.

5. Channel status briefly inconsistent immediately after restart

Immediately after restart, channels status --deep briefly showed one channel as disconnected, while status --deep channel probes were OK. After a short settle period, channels status --deep showed both configured channels connected.

6. New doctor warnings about channel-routed agents missing message tool

Post-update doctor introduced warnings for several configured agents routed from messaging channels:

Agent "<agent>" is routed from channel "<channel>", but the message tool is unavailable for that agent; explicit channel actions such as sendAttachment, upload-file, thread-reply, or reply can fail.

These were not in the pre-update doctor output. This may be a newly added diagnostic rather than a regression, but it is beta-relevant.

7. Command registration limits still hit platform caps

Startup logs still include command-limit handling:

<channel>: 117 commands exceeds limit; removing per-skill commands and keeping /skill.
<channel>: limits bots to 100 commands. 117 configured; registering first 100.
<channel>: menu text exceeded payload budget; shortening descriptions to keep 100 commands visible.

This did not block startup.

Privacy note

This report is intentionally sanitized. Hostnames, usernames, IP addresses, token fragments, account names/emails, bot names, channel IDs, local business context, workspace names, and private agent names were omitted or generalized.

Vote matrix · Quick signals

Works
Did the solution work? Tap to confirm.
Easy Fix
Was it a quick fix?
Time Saver
Did it save you time?
Blocking
Was it severely blocking?
Common Issue
Are others likely hitting this too?
Flaky / Intermittent
Is it intermittent?
Verified / Reproducible
Can you reproduce it reliably?
Loading…

Still need to ship something?

×6

Another batch ranked right after the header list — different links, same matching logic.

Back to top recommendations

TRENDING

openclaw - 💡(How to fix) Fix Beta audit: 2026.5.10-beta.1 -> 2026.5.12-beta.2 update findings [1 pull requests]