openclaw - 💡(How to fix) Fix Beta blocker: Telegram - 2026.4.29-beta.4 runtime-deps reinstall loop and staged deps cannot resolve json5 [4 comments, 2 participants]

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…
GitHub stats
openclaw/openclaw#75259Fetched 2026-05-01 05:36:08
View on GitHub
Comments
4
Participants
2
Timeline
10
Reactions
2
Timeline (top)
commented ×4cross-referenced ×2closed ×1labeled ×1

While testing 2026.4.29-beta.3 / 2026.4.29-beta.4 to validate the recent gateway CPU/runtime-deps fixes, bundled plugin runtime dependency staging repeatedly reports success, but Telegram still exits because the mirrored beta runtime cannot resolve staged packages such as json5; the host also continues to show a high-CPU pnpm install process under the beta.4 plugin-runtime-deps root.

Error Message

beta.3 doctor path said install succeeded, then Telegram still could not resolve grammy from global dist

Installing bundled plugin runtime deps (34 specs): ... grammy@^1.42.0 ... json5@^2.2.3 ... Installed bundled plugin runtime deps in 2s: ... grammy@^1.42.0 ... json5@^2.2.3 ... [channels] failed to load bundled channel telegram: Cannot find module 'grammy' Require stack:

  • /usr/lib/node_modules/openclaw/dist/extensions/telegram/send-t4GTTdHF.js

beta.4 gateway startup was very slow but eventually reported ready

Timed out after 60s waiting for gateway port 18789 to become healthy. Gateway process is running but port 18789 is still free (startup hang/crash loop or very slow VM startup). [plugins] memory-core staging bundled runtime deps (34 specs): ... [plugins] memory-core installed bundled runtime deps in 3337ms: ... [plugins] memory-wiki staging bundled runtime deps (34 specs): ... [plugins] memory-wiki installed bundled runtime deps in 3127ms: ... [plugins] telegram staging bundled runtime deps (34 specs): ... [plugins] telegram installed bundled runtime deps in 6ms: ... http server listening (4 plugins: memory-core, memory-wiki, openclaw-web-search, telegram; 127.6s) gateway ready

after ready, Telegram still exits from the mirrored beta.4 runtime root

[default] channel exited: Cannot find package 'json5' imported from /home/ubuntu/.openclaw/plugin-runtime-deps/openclaw-2026.4.29-beta.4-4eca5026e977/dist/frontmatter-Cc-V8aI2.js Did you mean to import "json5/lib/index.js"?

liveness / RPC symptoms seen during the same run

liveness warning: reasons=event_loop_delay,event_loop_utilization,cpu interval=33s eventLoopDelayP99Ms=4357.9 eventLoopDelayMaxMs=4357.9 eventLoopUtilization=1 cpuCoreRatio=1.027 active=0 waiting=0 queued=0 tools-invoke: tool execution failed: GatewayTransportError: gateway timeout after 10000ms Gateway target: ws://127.0.0.1:18789

Root Cause

While testing 2026.4.29-beta.3 / 2026.4.29-beta.4 to validate the recent gateway CPU/runtime-deps fixes, bundled plugin runtime dependency staging repeatedly reports success, but Telegram still exits because the mirrored beta runtime cannot resolve staged packages such as json5; the host also continues to show a high-CPU pnpm install process under the beta.4 plugin-runtime-deps root.

Code Example

openclaw --version
   # OpenClaw 2026.4.29-beta.3 (cad9026)
   # later: OpenClaw 2026.4.29-beta.4 (f68c232)

---

openclaw doctor --fix --non-interactive
   openclaw gateway status --deep --require-rpc

---

ps -eo pid,ppid,etimes,pcpu,pmem,rss,args | grep -E 'openclaw|pnpm install' | grep -v grep

---

find ~/.openclaw/plugin-runtime-deps/openclaw-2026.4.29-beta.4-4eca5026e977 -path '*/node_modules/json5/package.json' -print
   find ~/.openclaw/plugin-runtime-deps/openclaw-2026.4.29-beta.4-4eca5026e977 -path '*/node_modules/grammy/package.json' -print

---

[plugins] telegram staging bundled runtime deps (34 specs): @agentclientprotocol/sdk@0.21.0, @clack/prompts@^1.2.0, @google/genai@^1.50.1, @grammyjs/runner@^2.0.3, @grammyjs/transformer-throttler@^1.2.1, @lydell/node-pty@1.2.0-beta.12, @mariozechner/pi-ai@0.70.6, @mariozechner/pi-coding-agent@0.70.6, @modelcontextprotocol/sdk@1.29.0, ajv@^8.20.0, chokidar@^5.0.0, commander@^14.0.3, croner@^10.0.1, dotenv@^17.4.2, global-agent@^4.1.3, grammy@^1.42.0, https-proxy-agent@^9.0.0, jiti@^2.6.1, json5@^2.2.3, jszip@^3.10.1, markdown-it@14.1.1, node-llama-cpp@3.18.1, openai@^6.34.0, semver@7.7.4, sqlite-vec@0.1.9, tar@7.5.13, tokenjuice@0.7.0, tslog@^4.10.2, typebox@1.1.34, undici@8.1.0, web-push@^3.6.7, ws@^8.20.0, yaml@^2.8.3, zod@^4.3.6
[plugins] telegram installed bundled runtime deps in 6ms: ... json5@^2.2.3 ... grammy@^1.42.0 ...
[default] starting provider (@Ant_clawd_bot)
[default] channel exited: Cannot find package 'json5' imported from /home/ubuntu/.openclaw/plugin-runtime-deps/openclaw-2026.4.29-beta.4-4eca5026e977/dist/frontmatter-Cc-V8aI2.js
Did you mean to import "json5/lib/index.js"?
[default] auto-restart attempt 1/10 in 5s

---

[default] channel exited: Cannot find package 'json5' imported from /home/ubuntu/.openclaw/plugin-runtime-deps/openclaw-2026.4.29-beta.4-4eca5026e977/dist/frontmatter-Cc-V8aI2.js
Did you mean to import "json5/lib/index.js"?
[default] auto-restart attempt 2/10 in 10s

---

$ find ~/.openclaw/plugin-runtime-deps/openclaw-2026.4.29-beta.4-4eca5026e977 -path '*/node_modules/json5/package.json' -print
/home/ubuntu/.openclaw/plugin-runtime-deps/openclaw-2026.4.29-beta.4-4eca5026e977/node_modules/json5/package.json

$ find ~/.openclaw/plugin-runtime-deps/openclaw-2026.4.29-beta.4-4eca5026e977 -path '*/node_modules/grammy/package.json' -print
/home/ubuntu/.openclaw/plugin-runtime-deps/openclaw-2026.4.29-beta.4-4eca5026e977/node_modules/grammy/package.json

---

node /usr/bin/pnpm install --prod --ignore-scripts --ignore-workspace --config.frozen-lockfile=false --config.minimum-release-age=0 --config.store-dir=/home/ubuntu/.openclaw/plugin-runtime-deps/openclaw-2026.4.29-beta.4-4eca5026e977/.openclaw-pnpm-store --config.node-linker=hoisted --config.virtual-store-dir=.pnpm

---

openclaw-tui                            ~9% CPU, 806 MB RSS
node .../openclaw/dist/index.js gateway ~12% CPU, 533 MB RSS
node /usr/bin/pnpm install ...          ~165% CPU, 372 MB RSS

---

Runtime: running (pid 3600866, state active, sub running, last exit 0, reason 0)
Read probe: failed
  gateway timeout after 10000ms
Port 18789 is already in use.
- pid 3600866 ubuntu: /home/ubuntu/.nvm/versions/node/v24.14.1/bin/node /usr/lib/node_modules/openclaw/dist/index.js gateway --port 18789 (127.0.0.1:18789)
Listening: 127.0.0.1:18789

---

OpenClaw 2026.4.29-beta.3 (cad9026)
OpenClaw 2026.4.29-beta.4 (f68c232)

---

agent model: openai-codex/gpt-5.5

---

Gateway service embeds OPENCLAW_GATEWAY_TOKEN and should be reinstalled.
Gateway service PATH includes version managers or package managers; recommend a minimal PATH. (/home/ubuntu/.nvm/versions/node/v24.14.1/bin)
Gateway service uses Node from a version manager; it can break after upgrades. (/home/ubuntu/.nvm/versions/node/v24.14.1/bin/node)

---

# beta.3 doctor path said install succeeded, then Telegram still could not resolve grammy from global dist
Installing bundled plugin runtime deps (34 specs): ... grammy@^1.42.0 ... json5@^2.2.3 ...
Installed bundled plugin runtime deps in 2s: ... grammy@^1.42.0 ... json5@^2.2.3 ...
[channels] failed to load bundled channel telegram: Cannot find module 'grammy'
Require stack:
- /usr/lib/node_modules/openclaw/dist/extensions/telegram/send-t4GTTdHF.js

# beta.4 gateway startup was very slow but eventually reported ready
Timed out after 60s waiting for gateway port 18789 to become healthy.
Gateway process is running but port 18789 is still free (startup hang/crash loop or very slow VM startup).
[plugins] memory-core staging bundled runtime deps (34 specs): ...
[plugins] memory-core installed bundled runtime deps in 3337ms: ...
[plugins] memory-wiki staging bundled runtime deps (34 specs): ...
[plugins] memory-wiki installed bundled runtime deps in 3127ms: ...
[plugins] telegram staging bundled runtime deps (34 specs): ...
[plugins] telegram installed bundled runtime deps in 6ms: ...
http server listening (4 plugins: memory-core, memory-wiki, openclaw-web-search, telegram; 127.6s)
gateway ready

# after ready, Telegram still exits from the mirrored beta.4 runtime root
[default] channel exited: Cannot find package 'json5' imported from /home/ubuntu/.openclaw/plugin-runtime-deps/openclaw-2026.4.29-beta.4-4eca5026e977/dist/frontmatter-Cc-V8aI2.js
Did you mean to import "json5/lib/index.js"?

# liveness / RPC symptoms seen during the same run
liveness warning: reasons=event_loop_delay,event_loop_utilization,cpu interval=33s eventLoopDelayP99Ms=4357.9 eventLoopDelayMaxMs=4357.9 eventLoopUtilization=1 cpuCoreRatio=1.027 active=0 waiting=0 queued=0
tools-invoke: tool execution failed: GatewayTransportError: gateway timeout after 10000ms
Gateway target: ws://127.0.0.1:18789

---

[plugins] minimax failed to load from /usr/lib/node_modules/openclaw/dist/extensions/minimax/index.js: Error: Cannot find module '../../plugin-entry-rrZRIs0T.js'
Require stack:
- /home/ubuntu/.openclaw/plugin-runtime-deps/openclaw-2026.4.29-beta.3-4eca5026e977/dist/extensions/minimax/index.js
RAW_BUFFERClick to expand / collapse

Bug type

Crash (process/app exits or hangs)

Beta release blocker

Yes

Summary

While testing 2026.4.29-beta.3 / 2026.4.29-beta.4 to validate the recent gateway CPU/runtime-deps fixes, bundled plugin runtime dependency staging repeatedly reports success, but Telegram still exits because the mirrored beta runtime cannot resolve staged packages such as json5; the host also continues to show a high-CPU pnpm install process under the beta.4 plugin-runtime-deps root.

Steps to reproduce

  1. On an Ubuntu VPS with OpenClaw installed via npm global, upgrade/test the 2026.4.29 beta release line.
  2. Confirm the CLI version:
    openclaw --version
    # OpenClaw 2026.4.29-beta.3 (cad9026)
    # later: OpenClaw 2026.4.29-beta.4 (f68c232)
  3. Run runtime-deps repair / gateway startup:
    openclaw doctor --fix --non-interactive
    openclaw gateway status --deep --require-rpc
  4. Watch processes while the gateway/TUI are running:
    ps -eo pid,ppid,etimes,pcpu,pmem,rss,args | grep -E 'openclaw|pnpm install' | grep -v grep
  5. Confirm the staged packages exist in the beta.4 runtime-deps root:
    find ~/.openclaw/plugin-runtime-deps/openclaw-2026.4.29-beta.4-4eca5026e977 -path '*/node_modules/json5/package.json' -print
    find ~/.openclaw/plugin-runtime-deps/openclaw-2026.4.29-beta.4-4eca5026e977 -path '*/node_modules/grammy/package.json' -print
  6. Observe Telegram channel startup/retry logs and gateway status/RPC behavior.

Expected behavior

After openclaw doctor --fix --non-interactive or gateway startup installs the bundled plugin runtime dependencies, the beta.4 staged/mirrored runtime should resolve those packages and should not repeatedly spawn pnpm install for the same openclaw-2026.4.29-beta.4-4eca5026e977 runtime-deps root. Telegram should start normally, and openclaw gateway status --deep --require-rpc should complete without multi-minute hangs or RPC timeouts once the gateway is listening.

Actual behavior

The runtime-deps install reports success for 34 specs, including grammy and json5, but the Telegram channel still exits from the staged/mirrored beta.4 runtime root:

[plugins] telegram staging bundled runtime deps (34 specs): @agentclientprotocol/[email protected], @clack/prompts@^1.2.0, @google/genai@^1.50.1, @grammyjs/runner@^2.0.3, @grammyjs/transformer-throttler@^1.2.1, @lydell/[email protected], @mariozechner/[email protected], @mariozechner/[email protected], @modelcontextprotocol/[email protected], ajv@^8.20.0, chokidar@^5.0.0, commander@^14.0.3, croner@^10.0.1, dotenv@^17.4.2, global-agent@^4.1.3, grammy@^1.42.0, https-proxy-agent@^9.0.0, jiti@^2.6.1, json5@^2.2.3, jszip@^3.10.1, [email protected], [email protected], openai@^6.34.0, [email protected], [email protected], [email protected], [email protected], tslog@^4.10.2, [email protected], [email protected], web-push@^3.6.7, ws@^8.20.0, yaml@^2.8.3, zod@^4.3.6
[plugins] telegram installed bundled runtime deps in 6ms: ... json5@^2.2.3 ... grammy@^1.42.0 ...
[default] starting provider (@Ant_clawd_bot)
[default] channel exited: Cannot find package 'json5' imported from /home/ubuntu/.openclaw/plugin-runtime-deps/openclaw-2026.4.29-beta.4-4eca5026e977/dist/frontmatter-Cc-V8aI2.js
Did you mean to import "json5/lib/index.js"?
[default] auto-restart attempt 1/10 in 5s

The same error repeated on the next retry:

[default] channel exited: Cannot find package 'json5' imported from /home/ubuntu/.openclaw/plugin-runtime-deps/openclaw-2026.4.29-beta.4-4eca5026e977/dist/frontmatter-Cc-V8aI2.js
Did you mean to import "json5/lib/index.js"?
[default] auto-restart attempt 2/10 in 10s

The package is physically present in the runtime-deps root:

$ find ~/.openclaw/plugin-runtime-deps/openclaw-2026.4.29-beta.4-4eca5026e977 -path '*/node_modules/json5/package.json' -print
/home/ubuntu/.openclaw/plugin-runtime-deps/openclaw-2026.4.29-beta.4-4eca5026e977/node_modules/json5/package.json

$ find ~/.openclaw/plugin-runtime-deps/openclaw-2026.4.29-beta.4-4eca5026e977 -path '*/node_modules/grammy/package.json' -print
/home/ubuntu/.openclaw/plugin-runtime-deps/openclaw-2026.4.29-beta.4-4eca5026e977/node_modules/grammy/package.json

A live process view after that still showed another beta.4 install process repeatedly appearing:

node /usr/bin/pnpm install --prod --ignore-scripts --ignore-workspace --config.frozen-lockfile=false --config.minimum-release-age=0 --config.store-dir=/home/ubuntu/.openclaw/plugin-runtime-deps/openclaw-2026.4.29-beta.4-4eca5026e977/.openclaw-pnpm-store --config.node-linker=hoisted --config.virtual-store-dir=.pnpm

Observed process snapshot from the VPS UI:

openclaw-tui                            ~9% CPU, 806 MB RSS
node .../openclaw/dist/index.js gateway ~12% CPU, 533 MB RSS
node /usr/bin/pnpm install ...          ~165% CPU, 372 MB RSS

openclaw gateway status --deep --require-rpc took several minutes and eventually reported a listening gateway but failed RPC/read probe:

Runtime: running (pid 3600866, state active, sub running, last exit 0, reason 0)
Read probe: failed
  gateway timeout after 10000ms
Port 18789 is already in use.
- pid 3600866 ubuntu: /home/ubuntu/.nvm/versions/node/v24.14.1/bin/node /usr/lib/node_modules/openclaw/dist/index.js gateway --port 18789 (127.0.0.1:18789)
Listening: 127.0.0.1:18789

OpenClaw version

Observed on:

OpenClaw 2026.4.29-beta.3 (cad9026)
OpenClaw 2026.4.29-beta.4 (f68c232)

Operating system

Ubuntu VPS (ubuntu user). Exact distro version not captured yet.

Install method

npm global install, running managed user gateway service on port 18789.

Model

Gateway log reported:

agent model: openai-codex/gpt-5.5

The failure occurs during gateway/plugin/channel runtime preparation, not during a model request.

Provider / routing chain

OpenClaw local gateway -> bundled Telegram channel/plugin runtime. No external model/provider routing is required to reproduce the runtime-deps/channel failure.

Additional provider/model setup details

The service is flagged as non-standard/stale by openclaw gateway status --deep:

Gateway service embeds OPENCLAW_GATEWAY_TOKEN and should be reinstalled.
Gateway service PATH includes version managers or package managers; recommend a minimal PATH. (/home/ubuntu/.nvm/versions/node/v24.14.1/bin)
Gateway service uses Node from a version manager; it can break after upgrades. (/home/ubuntu/.nvm/versions/node/v24.14.1/bin/node)

This may be relevant environment context, but it does not explain why json5 exists under the beta.4 runtime-deps root while ESM import from the mirrored dist/frontmatter-*.js cannot resolve it.

Logs, screenshots, and evidence

# beta.3 doctor path said install succeeded, then Telegram still could not resolve grammy from global dist
Installing bundled plugin runtime deps (34 specs): ... grammy@^1.42.0 ... json5@^2.2.3 ...
Installed bundled plugin runtime deps in 2s: ... grammy@^1.42.0 ... json5@^2.2.3 ...
[channels] failed to load bundled channel telegram: Cannot find module 'grammy'
Require stack:
- /usr/lib/node_modules/openclaw/dist/extensions/telegram/send-t4GTTdHF.js

# beta.4 gateway startup was very slow but eventually reported ready
Timed out after 60s waiting for gateway port 18789 to become healthy.
Gateway process is running but port 18789 is still free (startup hang/crash loop or very slow VM startup).
[plugins] memory-core staging bundled runtime deps (34 specs): ...
[plugins] memory-core installed bundled runtime deps in 3337ms: ...
[plugins] memory-wiki staging bundled runtime deps (34 specs): ...
[plugins] memory-wiki installed bundled runtime deps in 3127ms: ...
[plugins] telegram staging bundled runtime deps (34 specs): ...
[plugins] telegram installed bundled runtime deps in 6ms: ...
http server listening (4 plugins: memory-core, memory-wiki, openclaw-web-search, telegram; 127.6s)
gateway ready

# after ready, Telegram still exits from the mirrored beta.4 runtime root
[default] channel exited: Cannot find package 'json5' imported from /home/ubuntu/.openclaw/plugin-runtime-deps/openclaw-2026.4.29-beta.4-4eca5026e977/dist/frontmatter-Cc-V8aI2.js
Did you mean to import "json5/lib/index.js"?

# liveness / RPC symptoms seen during the same run
liveness warning: reasons=event_loop_delay,event_loop_utilization,cpu interval=33s eventLoopDelayP99Ms=4357.9 eventLoopDelayMaxMs=4357.9 eventLoopUtilization=1 cpuCoreRatio=1.027 active=0 waiting=0 queued=0
tools-invoke: tool execution failed: GatewayTransportError: gateway timeout after 10000ms
Gateway target: ws://127.0.0.1:18789

There was also one stale beta.3 mirror/package mismatch seen in the beta.4 log window:

[plugins] minimax failed to load from /usr/lib/node_modules/openclaw/dist/extensions/minimax/index.js: Error: Cannot find module '../../plugin-entry-rrZRIs0T.js'
Require stack:
- /home/ubuntu/.openclaw/plugin-runtime-deps/openclaw-2026.4.29-beta.3-4eca5026e977/dist/extensions/minimax/index.js

Impact and severity

Affected: At least this Ubuntu VPS beta tester using the 2026.4.29 beta line, while testing the beta intended to address gateway CPU/runtime-deps problems reported by multiple users.

Severity: High for the beta path. Telegram channel fails to stay up, gateway status/RPC probes time out, startup took 127.6s before ready, and a high-CPU pnpm install process keeps reappearing under the same beta.4 runtime-deps root.

Frequency: Reproduced repeatedly in this beta.3/beta.4 session. The user continued to see the pnpm install process reappear after confirming json5 and grammy exist in the beta.4 runtime-deps root.

Consequence: Beta verification of the runtime CPU fix is blocked; Telegram is unusable on the affected host; the repeated runtime-deps install/retry behavior consumes CPU/RSS and makes gateway health probes unreliable.

Additional information

This was discovered while intentionally testing the 2026.4.29 beta release after the earlier gateway CPU/runtime-deps fix work for #73835 / #73853. It looks related to the broader bundled runtime-deps/mirror performance family in #75069, and adjacent to #75231, but this report is narrower: beta.4 installs the required packages and they are present on disk, yet imports from the mirrored plugin-runtime-deps/.../dist/*.js cannot resolve them, and the pnpm install process continues to reappear.

I can provide more logs or test a candidate beta build on the same VPS.

extent analysis

TL;DR

The issue is likely due to a mismatch between the installed packages and the imports in the mirrored dist/*.js files, causing the pnpm install process to repeatedly reappear and the Telegram channel to fail.

Guidance

  • Verify that the json5 and grammy packages are correctly installed and imported in the plugin-runtime-deps directory.
  • Check the package.json files in the node_modules directory to ensure that the dependencies are correctly specified.
  • Investigate the dist/*.js files to see if there are any incorrect imports or references to the json5 and grammy packages.
  • Consider cleaning up the plugin-runtime-deps directory and re-running the openclaw doctor --fix --non-interactive command to ensure that the dependencies are correctly installed.

Example

No code snippet is provided as the issue seems to be related to the package installation and import process.

Notes

The issue may be related to the broader bundled runtime-deps/mirror performance family, and it's recommended to investigate the plugin-runtime-deps directory and the dist/*.js files to identify the root cause.

Recommendation

Apply a workaround by cleaning up the plugin-runtime-deps directory and re-running the openclaw doctor --fix --non-interactive command to ensure that the dependencies are correctly installed. This may help resolve the issue temporarily until a more permanent fix is available.

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…

FAQ

Expected behavior

After openclaw doctor --fix --non-interactive or gateway startup installs the bundled plugin runtime dependencies, the beta.4 staged/mirrored runtime should resolve those packages and should not repeatedly spawn pnpm install for the same openclaw-2026.4.29-beta.4-4eca5026e977 runtime-deps root. Telegram should start normally, and openclaw gateway status --deep --require-rpc should complete without multi-minute hangs or RPC timeouts once the gateway is listening.

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 blocker: Telegram - 2026.4.29-beta.4 runtime-deps reinstall loop and staged deps cannot resolve json5 [4 comments, 2 participants]