decision
Created: 2026-04-29
Updated: 2026-04-29

Sources:

crew-referencesubagent-pattern
decisionsLast updated 2026-04-29

2026-04-29 — No ACP

Dropped ACP (Agent Communication Protocol) in favor of native `sessions_spawn` with `runtime: "subagent"`. Simpler, more reliable, no permission headaches.

Summary

Dropped ACP (Agent Communication Protocol) in favor of native sessions_spawn with runtime: "subagent". Simpler, more reliable, no permission headaches.

Context

We evaluated multiple ways to run specialized agents:

1. ACP harness (OpenClaw's protocol)

2. Native subagent (OpenClaw's built-in)

3. External API calls (OpenCodeGo, etc.)

Decision

Use native subagent only. No ACP harness. No external APIs for crew work.

Rationale

Factor
ACP
Native
External API
Setup complexity
High (harness, permissions)
Low (built-in)
Medium (keys, rate limits)
Reliability
Permission issues observed
Just works
Network dependent
Filesystem access
Restricted
Full
None
Audit trail
Opaque
Transparent
External logs
Portability
Theoretical
OpenClaw only
Provider dependent

Consequences

  • ✅ Simpler crew architecture
  • ✅ No permission debugging
  • ✅ Full filesystem access for agents
  • ❌ Locked to OpenClaw runtime
  • ❌ Can't easily port to other harnesses

Reversibility

Low. If we need ACP later, we'd need to re-architect. But the pain of ACP was real and immediate.

Relationships

  • subagent-pattern — The pattern this decision enables
  • crew-coordination — File coordination works better with native subagents
  • blinky — DevOps Engineer, primary beneficiary of simpler execution