mirror of
https://github.com/openclaw/nix-openclaw.git
synced 2026-07-25 13:45:53 -04:00
extensions/ directory not bundled, causing 'plugin not found' errors for telegram/discord #4
Reference in New Issue
Block a user
Delete Branch "%!s()"
Deleting a branch is permanent. Although the deleted branch may continue to exist for a short time before it actually gets removed, it CANNOT be undone in most cases. Continue?
Originally created by @nakayama900 on GitHub (Jan 25, 2026).
Bug Report
Summary
When using nix-clawdbot to configure Clawdbot with Telegram and/or Discord channels, the Gateway fails to start with:
Root Cause
The nix-clawdbot module does not bundle the `extensions/` directory, which contains the bundled channel plugins:
This is similar to Issue #1768 ("Minimal Docker builds fail: `plugins.slots.memory: plugin not found: memory-core`"), where minimal Docker builds were omitting the `extensions/` directory.
Evidence
Extensions exist in the clawdbot source:
```
$ ls extensions/
discord/ telegram/ slack/ memory-core/
googlechat/ signal/ ...
```
Extensions properly export `clawdbotPlugin`:
```typescript
// extensions/telegram/index.ts
const plugin = {
id: "telegram",
name: "Telegram",
description: "Telegram channel plugin",
register(api: ClawdbotPluginApi) {
setTelegramRuntime(api.runtime);
api.registerChannel({ plugin: telegramPlugin });
},
};
export default plugin;
```
`plugin-auto-enable.ts` correctly adds these to `plugins.entries` when channels are configured
Validation fails because plugins are not in the registry (extensions/ not bundled)
Environment
a55f5a9d)Expected Behavior
nix-clawdbot should bundle the `extensions/` directory so that bundled channel plugins (telegram, discord, slack) are available at runtime.
Reproduction Steps
Configure nix-clawdbot with Telegram and/or Discord:
```nix
programs.clawdbot = {
instances.default = {
enable = true;
configOverrides = {
channels = {
telegram = {
enabled = true;
tokenFile = "/path/to/token";
};
discord = {
enabled = true;
token = "...";
};
};
};
};
};
```
Run `home-manager switch`
Gateway fails to start with "plugin not found" errors
Workaround
Using an activation script to remove `plugins.entries`:
```bash
jq 'del(.plugins.entries)' "$CONFIG_FILE"
```
However, this is not ideal as it prevents `plugin-auto-enable.ts` from working correctly.
Related Issues
Possible Fix
Include the `extensions/` directory in the nix-clawdbot package, similar to how `dist/` and `node_modules/` are included.
@schickling commented on GitHub (Jan 26, 2026):
This also affects the core gateway startup - not just Discord/Telegram:
The gateway fails to start completely because the memory-core plugin is expected but not bundled. This makes nix-clawdbot unusable in its current state.
@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.