-
-
Notifications
You must be signed in to change notification settings - Fork 69.8k
v2026.3.22: acpx bundle plugin loads but ACP runtime backend not registered + slash commands return empty 'Done' #53041
Description
Environment
- OpenClaw version: v2026.3.22 (upgraded from v2026.3.13)
- OS: macOS Sequoia (arm64, Mac mini M4)
- Node.js: v25.8.1
- acpx version: 0.3.1
- Channel: Discord
Issue 1: ACP runtime backend not configured despite acpx plugin loaded
Steps to reproduce
- Upgrade from v2026.3.13 to v2026.3.22
- acpx was previously bundled at
node_modules/openclaw/extensions/acpx— that path no longer exists in v2026.3.22 - Reinstall acpx via
openclaw plugins install [email protected](resolves from ClawHub/npm) - Plugin installs to
~/.openclaw/extensions/acpx openclaw plugins listshows:acpx | bundle | loadedsessions_spawnwithruntime: "acp"returns:"ACP runtime backend is not configured. Install and enable the acpx runtime plugin."
Expected behavior
acpx plugin should register as ACP runtime backend when loaded, as it did in v2026.3.13.
Actual behavior
acpx loads as a bundle format plugin. Bundle plugins map skills/tools but do NOT register ACP runtime backends. In v2026.3.13, acpx was bundled internally with special wiring that registered the runtime. That wiring was removed in the plugin SDK migration (openclaw/extension-api → openclaw/plugin-sdk/*).
Relevant config
{
"acp": {
"enabled": true,
"backend": "acpx",
"defaultAgent": "claude"
},
"plugins": {
"allow": ["acpx"],
"load": { "paths": ["~/.openclaw/extensions/acpx"] },
"entries": {
"acpx": {
"enabled": true,
"config": {
"expectedVersion": "any",
"command": "~/.openclaw/extensions/acpx/dist/cli.js"
}
}
}
}
}Gateway log
[plugins] acpx | bundle | loaded | ~/.openclaw/extensions/acpx
[WARN] acp startup identity reconcile (renderer=v1): checked=40 resolved=0 failed=40
Issue 2: Discord slash commands return empty 'Done' response
Steps to reproduce
- After upgrading to v2026.3.22, Discord slash commands (
/status,/acp doctor,/plugins) return only '✅ Done.' with no actual output. - The commands register via Carbon reconcile (new in v2026.3.22) and show up in Discord's command picker.
- Selecting and running any command produces an ephemeral '✅ Done.' response with no content.
Expected behavior
Slash commands should return their actual output (status info, doctor results, plugin list, etc.)
Actual behavior
All slash commands return a generic '✅ Done.' message. The command handler acknowledges the interaction but doesn't produce output.
Notes
- This may be related to the Carbon reconcile migration (
Discord/commands: switch native command deployment to Carbon reconcile by default) - Normal text messages and mentions work fine — only slash commands are affected
- Multi-gateway PM2 setup with 4 agents sharing one Discord guild
Workaround
Rolling back to v2026.3.13 restores both features. Config changes (Anthropic-only models, Whisper audio, etc.) are version-independent and persist across versions.