openclaw - 💡(How to fix) Fix [Bug]: nextcloud-talk bundled plugin broken in 2026.4.5 — missing activate export, empty config schema, channels add unsupported [4 comments, 3 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#61759Fetched 2026-04-08 02:54:52
View on GitHub
Comments
4
Participants
3
Timeline
5
Reactions
1
Author
Timeline (top)
commented ×4cross-referenced ×1

After upgrading from 2026.4.2 to 2026.4.5, the bundled nextcloud-talk plugin fails to load with:

[plugins] nextcloud-talk missing register/activate export
[openclaw] Failed to start CLI: PluginLoadFailureError: plugin load failed: nextcloud-talk: plugin export missing register/activate

This blocks all CLI commands (openclaw agent, openclaw doctor --fix, openclaw plugins disable, etc.). The gateway daemon itself starts but NC Talk is non-functional.

Error Message

[plugins] nextcloud-talk missing register/activate export [openclaw] Failed to start CLI: PluginLoadFailureError: plugin load failed: nextcloud-talk: plugin export missing register/activate

Root Cause

We investigated the bundled extension at dist/extensions/nextcloud-talk/index.js and found:

  1. activate export is undefined — the loader checks for both register AND activate, but the bundled channel entry created by defineBundledChannelEntry() only provides register:
// node --input-type=module test:
import def from ".../dist/extensions/nextcloud-talk/index.js";
console.log(typeof def.register);  // "function" ✓
console.log(typeof def.activate);  // "undefined" ✗

Note: all bundled channel plugins (matrix, telegram, discord, nextcloud-talk) have activate=undefined. Only nextcloud-talk triggers the error — suggesting it's loaded through a different code path than the others.

  1. Config schema is an empty objectconfigSchema returns a generic object type with no defined shape. The config validator therefore rejects every key:

    • channels.nextcloud-talk.baseUrl → "Unrecognized key"
    • channels.nextcloud-talk.enabled → "Unrecognized key"
    • plugins.entries.nextcloud-talk.config.baseUrl → "must NOT have additional properties"
  2. channels add --channel nextcloud-talk returns: Channel nextcloud-talk does not support add.

  3. openclaw doctor --fix migrates allowPrivateNetworknetwork.dangerouslyAllowPrivateNetwork but does not remove the old key, and cannot fix the NC Talk config schema issue.

Fix Action

Fix / Workaround

  • Plugin fails to load, blocking all CLI commands
  • Config schema rejects all configuration keys
  • No migration path exists — manual config editing doesn't help because the schema is empty
  • channels add reports "does not support add"
  • Only workaround is rollback to 2026.4.2

Code Example

[plugins] nextcloud-talk missing register/activate export
[openclaw] Failed to start CLI: PluginLoadFailureError: plugin load failed: nextcloud-talk: plugin export missing register/activate

---

// node --input-type=module test:
import def from ".../dist/extensions/nextcloud-talk/index.js";
console.log(typeof def.register);  // "function" ✓
console.log(typeof def.activate);  // "undefined" ✗
RAW_BUFFERClick to expand / collapse

Bug type

Crash (process/app exits or hangs)

Summary

After upgrading from 2026.4.2 to 2026.4.5, the bundled nextcloud-talk plugin fails to load with:

[plugins] nextcloud-talk missing register/activate export
[openclaw] Failed to start CLI: PluginLoadFailureError: plugin load failed: nextcloud-talk: plugin export missing register/activate

This blocks all CLI commands (openclaw agent, openclaw doctor --fix, openclaw plugins disable, etc.). The gateway daemon itself starts but NC Talk is non-functional.

Root cause analysis

We investigated the bundled extension at dist/extensions/nextcloud-talk/index.js and found:

  1. activate export is undefined — the loader checks for both register AND activate, but the bundled channel entry created by defineBundledChannelEntry() only provides register:
// node --input-type=module test:
import def from ".../dist/extensions/nextcloud-talk/index.js";
console.log(typeof def.register);  // "function" ✓
console.log(typeof def.activate);  // "undefined" ✗

Note: all bundled channel plugins (matrix, telegram, discord, nextcloud-talk) have activate=undefined. Only nextcloud-talk triggers the error — suggesting it's loaded through a different code path than the others.

  1. Config schema is an empty objectconfigSchema returns a generic object type with no defined shape. The config validator therefore rejects every key:

    • channels.nextcloud-talk.baseUrl → "Unrecognized key"
    • channels.nextcloud-talk.enabled → "Unrecognized key"
    • plugins.entries.nextcloud-talk.config.baseUrl → "must NOT have additional properties"
  2. channels add --channel nextcloud-talk returns: Channel nextcloud-talk does not support add.

  3. openclaw doctor --fix migrates allowPrivateNetworknetwork.dangerouslyAllowPrivateNetwork but does not remove the old key, and cannot fix the NC Talk config schema issue.

Steps to reproduce

  1. Have a working OpenClaw 2026.4.2 installation with nextcloud-talk channel configured
  2. npm update -g openclaw (upgrades to 2026.4.5)
  3. openclaw doctor --fix — partially migrates config but fails on NC Talk validation
  4. Any CLI command fails with plugin load failed: nextcloud-talk: plugin export missing register/activate

Expected behavior

  • Bundled nextcloud-talk plugin should load successfully after upgrade
  • Config schema should accept NC Talk configuration keys (baseUrl, botSecret, rooms, etc.)
  • openclaw doctor --fix should fully migrate the NC Talk config from 4.2 → 4.5 format
  • openclaw channels add --channel nextcloud-talk should work

Actual behavior

  • Plugin fails to load, blocking all CLI commands
  • Config schema rejects all configuration keys
  • No migration path exists — manual config editing doesn't help because the schema is empty
  • channels add reports "does not support add"
  • Only workaround is rollback to 2026.4.2

Additional context

We also had a stale ~/.openclaw/extensions/ directory containing @openclaw/[email protected] from a previous manual install. Removing this directory fixed the CLI crash for other plugins but did not fix the nextcloud-talk issue.

The ClawHub version of @openclaw/nextcloud-talk is 2026.3.13 (much older than the bundled 2026.4.5), and openclaw plugins install @openclaw/nextcloud-talk is blocked by the security scanner ("Environment variable access combined with network send").

OpenClaw version

2026.4.5 (3e72c03)

Operating system

Ubuntu Linux (24.04), Node.js v22.22.1

Previous working version

2026.4.2 (d74a122) — nextcloud-talk works perfectly with flat config structure

extent analysis

TL;DR

The most likely fix for the nextcloud-talk plugin load failure is to update the index.js file to export both register and activate functions.

Guidance

  1. Verify the export issue: Check the index.js file of the nextcloud-talk plugin to confirm that it only exports the register function and not the activate function.
  2. Update the plugin code: Modify the index.js file to export both register and activate functions, ensuring that the activate function is properly defined.
  3. Validate the config schema: Review the config schema for the nextcloud-talk plugin to ensure it accepts the required configuration keys, such as baseUrl, botSecret, and rooms.
  4. Run the doctor command: After updating the plugin code and config schema, run the openclaw doctor --fix command to migrate the config to the new format.

Example

// index.js
export function register() {
  // registration code
}

export function activate() {
  // activation code
}

Notes

The issue seems to be specific to the nextcloud-talk plugin, and updating the plugin code to export both register and activate functions should resolve the load failure. However, the config schema issue may require additional changes to accept the required configuration keys.

Recommendation

Apply the workaround by updating the index.js file to export both register and activate functions, and then run the openclaw doctor --fix command to migrate the config. This should allow the nextcloud-talk plugin to load successfully and resolve the CLI command failures.

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

  • Bundled nextcloud-talk plugin should load successfully after upgrade
  • Config schema should accept NC Talk configuration keys (baseUrl, botSecret, rooms, etc.)
  • openclaw doctor --fix should fully migrate the NC Talk config from 4.2 → 4.5 format
  • openclaw channels add --channel nextcloud-talk should work

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 - 💡(How to fix) Fix [Bug]: nextcloud-talk bundled plugin broken in 2026.4.5 — missing activate export, empty config schema, channels add unsupported [4 comments, 3 participants]