#ACP Agent Spawn

1 messages ยท Page 1 of 1 (latest)

valid umbra
#

Can a persistent ACP agent spawn another persistent ACP agent?

obtuse trailBOT
#

To help others find answers, you can mark your question as solved via Right click solution message -> Apps -> โœ… Mark Solution

nova stormBOT
icy chasmBOT
#

Yes, but not by default.

A persistent ACP session can spawn another persistent ACP session if all of these are true:

  • nested spawns are allowed, set agents.defaults.subagents.maxSpawnDepth >= 2
    • default is 1, which means no nested spawns
  • the parent session has sessions_spawn available at its depth
  • the ACP target is allowed by acp.allowedAgents (or acp.defaultAgent is set)
  • for a persistent child on Discord, spawn with runtime: "acp", thread: true, mode: "session"
  • and channels.discord.threadBindings.spawnAcpSessions: true is enabled if OpenClaw needs to create/bind the thread automatically

One more gotcha: ACP spawns are blocked from sandboxed sessions.

So the short version is: yes, a depth-1 persistent ACP agent can spawn a depth-2 persistent ACP agent, but the depth-2 child is a leaf and cannot keep spawning further.

Docs:

valid umbra
#

Does pluginToolsMcpBridge: true expose sessions_spawn to ACPX runtimes? Or only plugin-registered tools?

icy chasmBOT
#

Only plugin-registered tools.

pluginToolsMcpBridge: true injects the openclaw-plugin-tools MCP server, and that server exposes tools resolved from installed/enabled plugins, not core OpenClaw built-ins like sessions_spawn.

So:

  • pluginToolsMcpBridge: true โ†’ exposes plugin tools
  • sessions_spawn โ†’ available only through the normal OpenClaw tool surface, if that ACP session is allowed to have it by policy/depth
  • enabling the MCP bridge does not magically add sessions_spawn to ACPX

The docs are pretty explicit here: ACP agents get access only to plugin tools already active in the gateway.

Refs:

If you want, I can also map out the exact conditions under which an ACPX session will see sessions_spawn.