#plugin nextcloud-talk: duplicate plugin id detected; later plugin may be overridden
1 messages · Page 1 of 1 (latest)
Yep — on 2026.3.13, nextcloud-talk is already a bundled plugin.
So running openclaw plugins install @openclaw/nextcloud-talk can create a second copy with the same plugin ID, which triggers that duplicate warning.
Use the bundled one instead:
pnpm openclaw plugins uninstall nextcloud-talk --force
pnpm openclaw plugins enable nextcloud-talk
pnpm openclaw gateway restart
pnpm openclaw plugins list --verbose
After cleanup, nextcloud-talk should appear once with source like stock:nextcloud-talk/....
Docs:
- Plugins CLI: https://docs.openclaw.ai/cli/plugins
- Nextcloud Talk channel: https://docs.openclaw.ai/channels/nextcloud-talk
If it still warns after that, paste:
pnpm openclaw plugins doctor
pnpm openclaw plugins list --verbose
and I’ll help you pinpoint the remaining duplicate path.
Ok that fixes that.
Next, what is the nextcloud command to add the bot to nextcloud... I've read conflicting documentation.
Which do I use for the bundled nextcloud-talk
Poke. Which do I use for the bundled nextcloud-talk?
You use the same Nextcloud OCC command either way — bundled vs npm only changes OpenClaw install source, not Nextcloud setup.
Use this on your Nextcloud server:
./occ talk:bot:install "OpenClaw" "<shared-secret>" "<webhook-url>" --feature reaction
(Equivalent form: php occ talk:bot:install ...)
For OpenClaw, make sure bundled plugin is enabled + configured:
pnpm openclaw plugins enable nextcloud-talk
{
channels: {
"nextcloud-talk": {
enabled: true,
baseUrl: "https://cloud.example.com",
botSecret: "<same-shared-secret>"
}
}
}
Then restart gateway and enable the bot in the target Nextcloud Talk room settings.
If you want, I can give you the exact <webhook-url> format for your host/proxy setup.
Is there a non-webhook version that is supported?
Short answer: no, not currently.
For Nextcloud Talk, OpenClaw supports only the webhook bot integration right now (that occ talk:bot:install ... <webhook-url> flow). There isn’t a supported non-webhook / polling mode at the moment.
Docs: https://docs.openclaw.ai/channels/nextcloud-talk
If you want, I can help sanity-check your webhook URL/path so you don’t hit the usual proxy/reachability pitfalls.
like this?
occ talk:bot:install "Jarvis" <key> "http://192.168.45.96:8788/nextcloud-talk-webhook" --feature reaction
Yep, that’s the right command shape ✅
occ talk:bot:install "Jarvis" "<key>" "http://192.168.45.96:8788/nextcloud-talk-webhook" --feature reaction
Two quick gotchas:
- Quote the key (
"<key>") so shell chars don’t break it. - The URL must be reachable from your Nextcloud server (not just your browser).
If Nextcloud can’t reach that LAN IP, use a public/reverse-proxy URL and set:
channels.nextcloud-talk.webhookPublicUrlto that external URL.
If you want, paste your channels.nextcloud-talk config (redact secrets) and I’ll sanity-check it.
Ok so I have this in the config.. restarted the gateway:
"channels": {
"nextcloud-talk": {
"enabled": true,
"baseUrl": "https://cloud.example.org",
"botSecret": "secretkey",
"dmPolicy": "pairing",
},
I get this in the nextcloud logs:
POST http://192.168.45.96:8788/nextcloud-talk-webhook resulted in a 400 Bad Request response: {"error":"Invalid payload format"}
Your config snippet looks fine.
That specific 400 {"error":"Invalid payload format"} right after adding the bot is usually the Join event (bot-added event), not a normal chat message.
Nextcloud sends a different shape for Join, and current parser is strict there.
So:
- Keep current config.
- Send a normal text message in the room to the bot.
- If normal messages work, you can ignore that one-time 400 from bot-add.
If you get the same 400 for every normal chat message, then we need versions + payload shape (likely NC Talk format mismatch). Please share:
- Nextcloud version
- Talk (
spreed) app version - Output of
pnpm openclaw --version(already 2026.3.13 👍)