Skip to content

v2026.3.22: acpx bundle plugin loads but ACP runtime backend not registered + slash commands return empty 'Done' #53041

@EscalioDev

Description

@EscalioDev

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

  1. Upgrade from v2026.3.13 to v2026.3.22
  2. acpx was previously bundled at node_modules/openclaw/extensions/acpx — that path no longer exists in v2026.3.22
  3. Reinstall acpx via openclaw plugins install [email protected] (resolves from ClawHub/npm)
  4. Plugin installs to ~/.openclaw/extensions/acpx
  5. openclaw plugins list shows: acpx | bundle | loaded
  6. sessions_spawn with runtime: "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-apiopenclaw/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

  1. After upgrading to v2026.3.22, Discord slash commands (/status, /acp doctor, /plugins) return only '✅ Done.' with no actual output.
  2. The commands register via Carbon reconcile (new in v2026.3.22) and show up in Discord's command picker.
  3. 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.

Metadata

Metadata

Assignees

No one assigned

    Labels

    No labels
    No labels

    Type

    No type
    No fields configured for issues without a type.

    Projects

    No projects

    Milestone

    No milestone

    Relationships

    None yet

    Development

    No branches or pull requests

    Issue actions