openclaw - 💡(How to fix) Fix [Bug]: Telegram channel missing runtime dependencies (grammy, abort-controller) since 2026.4.22 — must be installed manually after every update, openclaw doctor --fix does nothing [1 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#72088Fetched 2026-04-27 05:35:03
View on GitHub
Comments
1
Participants
2
Timeline
5
Reactions
0
Author
Timeline (top)
labeled ×2closed ×1commented ×1cross-referenced ×1

Since at least 2026.4.22, the Telegram channel requires grammy, abort-controller and related @grammyjs/* packages to be installed manually after every openclaw update. These dependencies are not bundled or declared in the package, and openclaw doctor --fix does not resolve them. Without manual installation, the Telegram channel fails to start.

Error Message

Telegram channel fails to start with Cannot find module 'grammy' (and similar errors for abort-controller, @grammyjs/* packages). On 2026.4.24 this is additionally masked by the ESM URL error (see #72040), but the underlying missing dep issue is present since 2026.4.22. openclaw doctor --fix runs without error but does not install the missing packages. Manual npm install is required after every update. On 2026.4.24 the ESM URL error masks this: see #72040 Last known good version for Telegram without manual dep install: unknown (possibly never worked correctly on Windows with npm global install). Related issues: #72040 (ESM URL error masking this on 2026.4.24), #72042 (postinstall pruning bug on 2026.4.24).

Root Cause

Since at least 2026.4.22, the Telegram channel requires grammy, abort-controller and related @grammyjs/* packages to be installed manually after every openclaw update. These dependencies are not bundled or declared in the package, and openclaw doctor --fix does not resolve them. Without manual installation, the Telegram channel fails to start.

Code Example

On 2026.4.22 (gateway log excerpt):

[telegram] [default] starting provider (@centralpc_openclaw_bot)
[telegram] [default] channel exited: Cannot find module 'grammy'
[telegram] [default] auto-restart attempt 1/10 in 5s

After manual `npm install grammy abort-controller @grammyjs/*`:

[telegram] [default] starting provider (@centralpc_openclaw_bot)
[telegram] [default] connected

On 2026.4.24 the ESM URL error masks this: see #72040
RAW_BUFFERClick to expand / collapse

Bug type

Regression (worked before, now fails)

Beta release blocker

No

Summary

Since at least 2026.4.22, the Telegram channel requires grammy, abort-controller and related @grammyjs/* packages to be installed manually after every openclaw update. These dependencies are not bundled or declared in the package, and openclaw doctor --fix does not resolve them. Without manual installation, the Telegram channel fails to start.

Steps to reproduce

  1. Fresh install or update of OpenClaw 2026.4.22 or 2026.4.24 on Windows 11 via npm install -g openclaw
  2. Configure Telegram channel with a valid bot token
  3. Start the gateway: openclaw gateway start
  4. On 2026.4.22: gateway log shows Cannot find module 'grammy' (and similar for abort-controller, @grammyjs/* packages)
  5. Run openclaw doctor --fix — no change, missing deps remain
  6. Manually install: npm install grammy abort-controller @grammyjs/runner @grammyjs/transformer-throttler @grammyjs/parse-mode @grammyjs/hydrate @grammyjs/files
  7. Telegram channel starts successfully
  8. Run openclaw update to next version → missing deps return, step 6 must be repeated

Expected behavior

All required Telegram runtime dependencies (grammy, abort-controller, @grammyjs/*) are bundled with the openclaw package and installed automatically, so the Telegram channel works out-of-the-box after npm install -g openclaw without any manual intervention. openclaw doctor --fix should also be able to restore any missing deps.

Actual behavior

Telegram channel fails to start with Cannot find module 'grammy' (and similar errors for abort-controller, @grammyjs/* packages). On 2026.4.24 this is additionally masked by the ESM URL error (see #72040), but the underlying missing dep issue is present since 2026.4.22. openclaw doctor --fix runs without error but does not install the missing packages. Manual npm install is required after every update.

OpenClaw version

2026.4.22 (first observed), also present in 2026.4.24

Operating system

Windows 11

Install method

npm global (npm install -g openclaw)

Model

moonshot/kimi-k2.6

Provider / routing chain

openclaw -> moonshot/kimi-k2.6

Additional provider/model setup details

No response

Logs, screenshots, and evidence

On 2026.4.22 (gateway log excerpt):

[telegram] [default] starting provider (@centralpc_openclaw_bot)
[telegram] [default] channel exited: Cannot find module 'grammy'
[telegram] [default] auto-restart attempt 1/10 in 5s

After manual `npm install grammy abort-controller @grammyjs/*`:

[telegram] [default] starting provider (@centralpc_openclaw_bot)
[telegram] [default] connected

On 2026.4.24 the ESM URL error masks this: see #72040

Impact and severity

Affected: All Windows users using the Telegram channel Severity: High — Telegram channel is broken out-of-the-box after every update Frequency: 100% reproducible, every version since 2026.4.22 Consequence: Users must manually install npm packages after every update, openclaw doctor --fix is useless for this

Additional information

Last known good version for Telegram without manual dep install: unknown (possibly never worked correctly on Windows with npm global install). Related issues: #72040 (ESM URL error masking this on 2026.4.24), #72042 (postinstall pruning bug on 2026.4.24).

extent analysis

TL;DR

Manually installing the required dependencies (grammy, abort-controller, and @grammyjs/* packages) after each OpenClaw update resolves the issue.

Guidance

  • The missing dependencies are not bundled with the OpenClaw package and need to be installed manually using npm install.
  • Run npm install grammy abort-controller @grammyjs/runner @grammyjs/transformer-throttler @grammyjs/parse-mode @grammyjs/hydrate @grammyjs/files to install the required dependencies.
  • The openclaw doctor --fix command does not currently resolve the missing dependencies, so manual installation is necessary after each update.
  • Verify that the Telegram channel starts successfully after manual installation by checking the gateway logs for a "connected" message.

Example

No code snippet is necessary for this issue, as it is a dependency installation problem.

Notes

The root cause of the issue is that the required dependencies for the Telegram channel are not included in the OpenClaw package. This issue is specific to Windows users using the Telegram channel with OpenClaw installed via npm install -g openclaw.

Recommendation

Apply the workaround by manually installing the required dependencies after each OpenClaw update, as the issue is not resolved by openclaw doctor --fix.

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

All required Telegram runtime dependencies (grammy, abort-controller, @grammyjs/*) are bundled with the openclaw package and installed automatically, so the Telegram channel works out-of-the-box after npm install -g openclaw without any manual intervention. openclaw doctor --fix should also be able to restore any missing deps.

Still need to ship something?

×6

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

Back to top recommendations

TRENDING