ACP Bug Investigation: Protocol Mismatch Causes 'metadata is missing' Error with Local Ollama

Bug Confirmed in ACP/OpenClaw Integration
A developer has identified and documented a bug affecting the ACP (Agent Control Protocol) integration with OpenClaw when using local Ollama models. The issue prevents acpx spawn commands from functioning properly.
Environment Details
- OpenClaw: 2026.3.13
- acpx: Latest (npm -g)
- Ollama: Local (kimi-k2.5:cloud, glm-5:cloud)
- OS: macOS (Apple Silicon)
- Node: v22.19.0
The Bug
Commands that fail:
acpx spawn exec -- "test"
# or
acpx spawn sessions new --name testError messages received:
ACP error (ACP_SESSION_INIT_FAILED): ACP metadata is missing for agent:main:acp:...Failed to parse JSON message: [commands] /help /commands /status...
SyntaxError: Unexpected token 'c', "[commands] ..." is not valid JSONWhat Works vs. What Doesn't
Working:
openclaw acp client --help(client starts)openclaw acp client(standalone mode)acpx config show(config loads)
Not Working:
acpx spawn exec -- "test"(fails with "metadata is missing")acpx spawn sessions new --name test(fails to create session)- Any ACP spawn command
Root Cause Analysis
The issue appears to be a protocol mismatch:
acpxspawns the agent command (openclaw acp client)- The client starts and outputs text (help message, session info)
acpxexpects JSON messages over the pipe- JSON parsing fails → "metadata is missing" → spawn fails
Key log showing the problem:
[acpx] spawning agent: openclaw acp client
[client] initialize (running)
Failed to parse JSON message: [commands] /help /commands...
→ acpx expects JSON, receives textCurrent Status
Workaround: None found. The issue is at the protocol level between acpx and openclaw acp client.
Alternative: Use runtime: "subagent" instead of ACP — works perfectly.
Impact: Cannot use ACP for long-running autonomous agents with local Ollama.
Priority: Medium (subagent works, but ACP would be better for complex workflows).
The developer has requested the OpenClaw team investigate why openclaw acp client outputs text instead of JSON when spawned by acpx, whether there's a missing --json flag or config option, and if this is a known issue with local Ollama setups.
📖 Read the full source: r/openclaw
👀 See Also

Claude Code v2.1.181: /config Syntax, Sandbox Apple Events, Streaming Fixes
Claude Code v2.1.181 adds /config key=value syntax for inline settings, sandbox.allowAppleEvents on macOS, and CLAUDE_CLIENT_PRESENCE_FILE. It also upgrades Bun to 1.4, fixes prompt caching on custom API URLs, network drive write issues, and many startup regressions.

Claude-Code v2.1.84 adds PowerShell tool, environment variables, and multiple fixes
Claude-Code v2.1.84 introduces a PowerShell tool for Windows as an opt-in preview, adds environment variables for model configuration and streaming timeouts, and includes numerous bug fixes and performance improvements.

Reddit Discussion Critiques Reactive AI Assistants, Calls for True Proactivity
A Reddit post argues that current AI assistants are reactive by design, waiting for human prompts rather than proactively identifying issues. The author distinguishes between scheduled checks and true contextual awareness, noting that real proactivity requires persistent memory, event-driven triggers, and cross-time reasoning.

Project Health Check: Bus Factor and Commit Activity Across Claw/Assistant Repos
A Reddit user scraped commit data from major claw/assistant projects and found many with a bus factor of 1—meaning a single author accounts for over 50% of commits. Some projects show drastic drops in April activity.