Bug: extensions directory not included in package build #2

Closed
opened 2026-02-15 17:04:25 -05:00 by yindo · 1 comment
Owner

Originally created by @rhnvrm on GitHub (Jan 19, 2026).

Description

The gateway-install.sh script doesn't copy the extensions/ directory to the output, even though it exists in the source at the pinned commit. This causes built-in channel plugins (Discord, Telegram, etc.) to not load.

Environment

  • nix-clawdbot: latest main branch
  • Pinned source: commit c21469b282213cbcc1858921dc668b1cc5e29f7e

Root Cause

In nix/scripts/gateway-install.sh, only these directories are copied:

  • dist
  • node_modules
  • package.json
  • ui

The extensions/ directory is missing from this list.

Impact

Channels like Discord don't load because the plugin registration code lives in extensions/discord/. The core Discord functionality exists in dist/discord/ but without the extension wrapper, it's never registered as a channel plugin.

Gateway logs show no Discord initialization - channels list shows empty.

Workaround

Manually extract extensions from the pinned commit to ~/.clawdbot/extensions/:

mkdir -p ~/.clawdbot/extensions
cd ~/.clawdbot/extensions
curl -sL 'https://github.com/clawdbot/clawdbot/archive/c21469b282213cbcc1858921dc668b1cc5e29f7e.tar.gz' \
  | tar xz --strip-components=2 'clawdbot-c21469b282213cbcc1858921dc668b1cc5e29f7e/extensions/discord'

Then restart the gateway - Discord will load from the global extensions directory.

Suggested Fix

Add extensions to the copy list in gateway-install.sh:

cp -r dist node_modules package.json ui extensions "$out/lib/clawdbot/"
Originally created by @rhnvrm on GitHub (Jan 19, 2026). ## Description The `gateway-install.sh` script doesn't copy the `extensions/` directory to the output, even though it exists in the source at the pinned commit. This causes built-in channel plugins (Discord, Telegram, etc.) to not load. ## Environment - nix-clawdbot: latest main branch - Pinned source: commit `c21469b282213cbcc1858921dc668b1cc5e29f7e` ## Root Cause In `nix/scripts/gateway-install.sh`, only these directories are copied: - `dist` - `node_modules` - `package.json` - `ui` The `extensions/` directory is missing from this list. ## Impact Channels like Discord don't load because the plugin registration code lives in `extensions/discord/`. The core Discord functionality exists in `dist/discord/` but without the extension wrapper, it's never registered as a channel plugin. Gateway logs show no Discord initialization - channels list shows empty. ## Workaround Manually extract extensions from the pinned commit to `~/.clawdbot/extensions/`: ```bash mkdir -p ~/.clawdbot/extensions cd ~/.clawdbot/extensions curl -sL 'https://github.com/clawdbot/clawdbot/archive/c21469b282213cbcc1858921dc668b1cc5e29f7e.tar.gz' \ | tar xz --strip-components=2 'clawdbot-c21469b282213cbcc1858921dc668b1cc5e29f7e/extensions/discord' ``` Then restart the gateway - Discord will load from the global extensions directory. ## Suggested Fix Add `extensions` to the copy list in `gateway-install.sh`: ```bash cp -r dist node_modules package.json ui extensions "$out/lib/clawdbot/" ```
yindo closed this issue 2026-02-15 17:04:25 -05:00
Author
Owner

@joshp123 commented on GitHub (Feb 3, 2026):

[🤖 this message brought to you by codex] should be fixed in 94e1f7f7 (bundle gateway extensions). Closing for now — come and yell at me in #golden-path-deployments on discord if you're still having issues! Stability work continues; we are making this better every week.

@joshp123 commented on GitHub (Feb 3, 2026): [🤖 this message brought to you by codex] should be fixed in 94e1f7f7 (bundle gateway extensions). Closing for now — come and yell at me in #golden-path-deployments on discord if you're still having issues! Stability work continues; we are making this better every week.
Sign in to join this conversation.
1 Participants
Notifications
Due Date
No due date set.
Dependencies

No dependencies set.

Reference: openclaw/nix-openclaw#2