Skip to content

Telegram plugin missing npm dependencies in v2026.4.4 #61363

@FriDay026

Description

@FriDay026

Version: OpenClaw 2026.4.4 (0ef2932)
OS: macOS (Darwin 25.4.0, arm64, M4 Mac mini)
Node: v25.8.2

Summary

After updating from v2026.3.27 to v2026.4.4 via git pull + npm ci, the Telegram channel plugin fails to start due to missing npm dependencies that are not listed in package.json but are required by the bundled build artifacts in dist/ and dist-runtime/.

Steps to Reproduce

  1. Fresh git pull from v2026.3.27 to v2026.4.4
  2. npm ci (clean install from lock file)
  3. Start gateway
  4. Telegram plugin crashes in a retry loop

Missing Packages (discovered one by one)

The following packages are imported by dist/bot-Cxx_-JgZ.js and dist-runtime/extensions/telegram/index.js but not listed in package.json:

Package Required by In package.json?
discord-api-types dist-runtime/extensions/telegram/index.js ❌ (only /v10 subpath used)
grammy dist/send-D3eCvsDr.js
@grammyjs/runner dist/bot-Cxx_-JgZ.js ✅ (listed but npm ci didn't resolve it properly initially)
@grammyjs/transformer-throttler dist/bot-Cxx_-JgZ.js
@grammyjs/parse-mode unknown (installed preemptively)
@grammyjs/hydrate unknown (installed preemptively)
@grammyjs/files unknown (installed preemptively)

Additional Issues

Other bundled channels also fail to load (non-blocking if not configured):

  • Discord: Cannot find module '@buape/carbon'
  • Feishu: Cannot find module '@larksuiteoapi/node-sdk'
  • Slack: Cannot find module '@slack/web-api'
  • Google Chat: TypeError: Cannot read properties of undefined

Additional note: npm install removes ~479 packages each time

Running npm install <package> on this repo consistently removes ~479 packages as a side-effect. Only npm ci installs the full dependency tree correctly. This may indicate the package-lock.json and package.json are out of sync, or there's an .npmrc issue (node-linker warning appears on every npm command).

Current State

After manually installing the missing packages, the Telegram provider starts ([telegram] [default] starting provider) and does not crash. However, it does not process incoming messages — /start from a user triggers no pairing response or log entries. getMe and getWebhookInfo via the Telegram API confirm the bot is active and no webhook is set, but getUpdates returns empty (suggesting updates are consumed but silently dropped).

Workaround

Manually install all missing deps:

npm install grammy @grammyjs/transformer-throttler @grammyjs/parse-mode @grammyjs/hydrate @grammyjs/files discord-api-types

Expected Behavior

npm ci should install all required dependencies. The Telegram plugin should start and process messages without manually adding packages.

Environment

openclaw 2026.4.4 (0ef2932)
Node v25.8.2
npm 11.11.1
macOS Darwin 25.4.0 arm64

Metadata

Metadata

Assignees

No one assigned

    Labels

    No labels
    No labels

    Type

    No type
    No fields configured for issues without a type.

    Projects

    No projects

    Milestone

    No milestone

    Relationships

    None yet

    Development

    No branches or pull requests

    Issue actions