openclaw - ✅(Solved) Fix [Bug] 2026.4.26 regression: bundled deps fix works but 14.5 min startup and Telegram stalls persist (follow-up to #72967) [1 pull requests, 2 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#73454Fetched 2026-04-29 06:19:44
View on GitHub
Comments
2
Participants
2
Timeline
8
Reactions
0
Author
Timeline (top)
cross-referenced ×3commented ×2labeled ×2closed ×1

After updating from 2026.4.22 to 2026.4.26, doctor --fix successfully installs bundled plugin deps in 9s but the gateway startup degrades from ~1 minute to ~14.5 minutes, Telegram polling stalls for 138+ seconds, and cron.status takes 118 seconds. Rolling back to 2026.4.22 immediately restores full functionality.

Error Message

[telegram] polling cycle finished ... outcome=error ... error=Network request for 'getUpdates' failed!

Root Cause

After updating from 2026.4.22 to 2026.4.26, doctor --fix successfully installs bundled plugin deps in 9s but the gateway startup degrades from ~1 minute to ~14.5 minutes, Telegram polling stalls for 138+ seconds, and cron.status takes 118 seconds. Rolling back to 2026.4.22 immediately restores full functionality.

Fix Action

Fix / Workaround

Multiple versioned runtime-deps roots are accumulating on disk:

  • openclaw-2026.4.24-...
  • openclaw-2026.4.25-...
  • openclaw-2026.4.26-...
  • openclaw-unknown-... (artifact from manual workaround attempt)

PR fix notes

PR #73486: fix(gateway): defer pricing refresh until ready

Description (problem / solution / changelog)

## Summary

  • Move the model-pricing refresh out of the initial Gateway runtime setup path.
  • Start the pricing refresh only after sidecars/channels have reached the ready path and scheduled services are activated.
  • Keep pricing enabled by default; this does not add another disable switch or change OpenRouter/LiteLLM fetch timeouts.

Why

Issue #73323 reports Windows Gateway startup degradation where OpenRouter/LiteLLM pricing fetches time out and Telegram/channel startup is delayed. The remote pricing catalogs are optional cost enrichment, so they should not be able to compete with channel readiness during startup.

This is intentionally narrower than the broader runtime/network degradation investigation. It preserves the pricing feature while ensuring the refresh cannot run before Gateway/channel readiness.

Validation

  • pnpm test src/gateway/server-runtime-services.test.ts
  • pnpm exec oxfmt --check --threads=1 src/gateway/server-runtime-services.ts src/gateway/server-runtime-services.test.ts src/gateway/server.impl.ts
  • pnpm tsgo:core
  • pnpm tsgo:core:test
  • git diff --check

Related: #73323

Changed files

  • src/gateway/server-runtime-services.test.ts (modified, +33/-24)
  • src/gateway/server-runtime-services.ts (modified, +12/-12)
  • src/gateway/server.impl.ts (modified, +30/-12)

Code Example

**Startup timeline:**

| Time | Event |
|------|-------|
| `09:49:44` | Gateway starts |
| `09:49:58` | HTTP server listening (12s — fine) |
| `09:52:17` | Browser/server ready (**2m 19s** after HTTP ready) |
| `09:52:57` | OpenRouter + LiteLLM pricing fetch timeout (60s each) |
| `09:53:02` | Telegram provider starts, gateway ready |
| `09:53:33` | `chat.history` and `models.list` respond (29s response time) |
| `09:58:01` | `cron.status` responds after **118,859ms** (nearly 2 minutes) |
| `09:58:00` | Stuck session: `agent:main:main state=processing age=208s` |
| `10:01:50` | Telegram polling stall: `getUpdates stuck for 138.5s`, forced restart |
| `10:04:20` | **First `sendMessage ok`**Telegram finally responds |

**Total time from gateway start to first Telegram response: ~14 minutes 36 seconds.**

On `2026.4.22` the same setup responds in **under 1 minute**.

**Key log excerpts:**

[telegram] Polling stall detected (active getUpdates stuck for 138.5s); forcing restart.
[telegram] polling cycle finished ... outcome=error ... error=Network request for 'getUpdates' failed!
[telegram] polling runner stopped (polling stall detected); restarting in 2.37s.
[ws] ⇄ res ✓ cron.status 118859ms
[diagnostic] stuck session: sessionId=unknown sessionKey=agent:main:main state=processing age=208s queueDepth=1
[agent/embedded] session file repaired: dropped 1 blank user message(s)
[telegram] sendMessage ok chat=8681671742 message=5568

---

C:\Users\<user>\.openclaw\plugin-runtime-deps\openclaw-2026.4.26-<hash>\node_modules\
RAW_BUFFERClick to expand / collapse

Bug type

Regression (worked before, now fails)

Beta release blocker

No

Summary

After updating from 2026.4.22 to 2026.4.26, doctor --fix successfully installs bundled plugin deps in 9s but the gateway startup degrades from ~1 minute to ~14.5 minutes, Telegram polling stalls for 138+ seconds, and cron.status takes 118 seconds. Rolling back to 2026.4.22 immediately restores full functionality.

Steps to reproduce

  1. Start from working OpenClaw 2026.4.22 on Windows 11 (global npm, Telegram channel configured and functional)
  2. openclaw gateway stop
  3. npm i -g openclaw@latest (installs 2026.4.26, commit be8c246)
  4. openclaw doctor --fix → installs 12 bundled plugin deps in 9s into ~/.openclaw/plugin-runtime-deps/openclaw-2026.4.26-<hash>/node_modules/
  5. openclaw gateway start
  6. Observe startup timeline and Telegram behavior

Expected behavior

  • Gateway starts in ~1 minute (same as 2026.4.22)
  • Telegram channel connects and responds normally within ~1 minute
  • Webchat UI responds within seconds
  • No polling stalls or stuck sessions
  • cron.status responds in under 1 second

Actual behavior

  • Gateway takes ~14.5 minutes to become usable
  • Telegram polling stalls for 138+ seconds, then fails with network errors
  • Stuck sessions with age=200+ seconds
  • cron.status takes 118,859ms (nearly 2 minutes)
  • Webchat unresponsive for 6+ minutes
  • Bundled deps installed to ~/.openclaw/plugin-runtime-deps/ instead of package node_modules
  • Multiple versioned runtime-deps roots accumulating on disk

OpenClaw version

2026.4.26 (be8c246) — regression from 2026.4.22 (00bd2cf)

Operating system

Windows 11

Install method

npm global (npm i -g openclaw@latest)

Model

moonshot/kimi-k2.6

Provider / routing chain

openclaw gateway -> moonshot API (direct)

Additional provider/model setup details

Node.js v25.9.0, Telegram channel configured with working bot token (functional on 2026.4.22)

Logs, screenshots, and evidence

**Startup timeline:**

| Time | Event |
|------|-------|
| `09:49:44` | Gateway starts |
| `09:49:58` | HTTP server listening (12s — fine) |
| `09:52:17` | Browser/server ready (**2m 19s** after HTTP ready) |
| `09:52:57` | OpenRouter + LiteLLM pricing fetch timeout (60s each) |
| `09:53:02` | Telegram provider starts, gateway ready |
| `09:53:33` | `chat.history` and `models.list` respond (29s response time) |
| `09:58:01` | `cron.status` responds after **118,859ms** (nearly 2 minutes) |
| `09:58:00` | Stuck session: `agent:main:main state=processing age=208s` |
| `10:01:50` | Telegram polling stall: `getUpdates stuck for 138.5s`, forced restart |
| `10:04:20` | **First `sendMessage ok`** — Telegram finally responds |

**Total time from gateway start to first Telegram response: ~14 minutes 36 seconds.**

On `2026.4.22` the same setup responds in **under 1 minute**.

**Key log excerpts:**

[telegram] Polling stall detected (active getUpdates stuck for 138.5s); forcing restart.
[telegram] polling cycle finished ... outcome=error ... error=Network request for 'getUpdates' failed!
[telegram] polling runner stopped (polling stall detected); restarting in 2.37s.
[ws] ⇄ res ✓ cron.status 118859ms
[diagnostic] stuck session: sessionId=unknown sessionKey=agent:main:main state=processing age=208s queueDepth=1
[agent/embedded] session file repaired: dropped 1 blank user message(s)
[telegram] sendMessage ok chat=8681671742 message=5568

Impact and severity

  • Affected: any Windows user who updates via global npm
  • Severity: complete loss of Telegram channel for 14+ minutes; gateway effectively unusable during startup; stuck sessions prevent normal operation
  • Frequency: reproduced on 2026.4.24, 2026.4.25, and 2026.4.26
  • Consequence: forced rollback to 2026.4.22; 2026.4.26 is unusable on this setup despite the bundled deps fix

Additional information

Last known good version: 2026.4.22 (00bd2cf) — 1 min startup, Telegram fully functional, webchat responds in seconds.

First known bad version: 2026.4.24 (bundled deps missing + performance regression), still broken in 2026.4.25 and 2026.4.26.

Additional finding — deps install location:

doctor --fix installs bundled plugin deps into:

C:\Users\<user>\.openclaw\plugin-runtime-deps\openclaw-2026.4.26-<hash>\node_modules\

...rather than the package's own node_modules. This is a new install path not present in 2026.4.22, and it's unclear whether this path is correctly resolved at runtime under all conditions (global npm install on Windows).

Multiple versioned runtime-deps roots are accumulating on disk:

  • openclaw-2026.4.24-...
  • openclaw-2026.4.25-...
  • openclaw-2026.4.26-...
  • openclaw-unknown-... (artifact from manual workaround attempt)

This is a follow-up to #72967 which was closed as "fixed in 2026.4.26". The bundled deps repair works, but the runtime performance regression persists.

extent analysis

TL;DR

The most likely fix is to investigate and address the performance regression introduced in version 2026.4.24, which causes the gateway to take significantly longer to start and Telegram polling to stall.

Guidance

  1. Verify the installation path: Check if the new installation path for bundled plugin dependencies (C:\Users\<user>\.openclaw\plugin-runtime-deps\openclaw-2026.4.26-<hash>\node_modules\) is correctly resolved at runtime.
  2. Investigate the performance regression: Analyze the differences between versions 2026.4.22 and 2026.4.24 to identify the cause of the performance degradation.
  3. Clean up accumulated runtime-deps roots: Remove the multiple versioned runtime-deps roots accumulating on disk to prevent potential conflicts.
  4. Test with a clean setup: Try installing the latest version on a clean system to see if the issue persists.

Example

No code snippet is provided as the issue seems to be related to the installation and runtime environment rather than a specific code problem.

Notes

The issue is specific to Windows 11 and global npm installation. The performance regression was first introduced in version 2026.4.24 and persists in 2026.4.25 and 2026.4.26.

Recommendation

Apply a workaround by rolling back to version 2026.4.22 until the performance regression is addressed, as the latest version is unusable due to the significant startup delay and Telegram polling stalls.

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

  • Gateway starts in ~1 minute (same as 2026.4.22)
  • Telegram channel connects and responds normally within ~1 minute
  • Webchat UI responds within seconds
  • No polling stalls or stuck sessions
  • cron.status responds in under 1 second

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 - ✅(Solved) Fix [Bug] 2026.4.26 regression: bundled deps fix works but 14.5 min startup and Telegram stalls persist (follow-up to #72967) [1 pull requests, 2 comments, 2 participants]