Install
openclaw skills install acp-background-runsRoute requests for ACP or external coding agents such as Codex, Claude Code, Gemini CLI, and OpenCode into non-blocking OpenClaw background ACP runs instead...
openclaw skills install acp-background-runsWhen a user asks to use ACP or an external coding agent such as Codex, Claude Code, Gemini CLI, or OpenCode, do not execute the task synchronously in the current chat. Route it through the ACP runtime instead.
sessions_spawn and set runtime: "acp" with the appropriate agentIdmode: "run"thread: true or mode: "session" when the user explicitly asks for an ongoing interactive or thread-bound sessioncwd when the target repository or directory is knowncwd; do not pass ~ directly, expand it firstrunTimeoutSeconds for longer tasks; do not mechanically default to 300sessions_spawn completion notifications to send the final result back to the current conversationstreamTo: "parent" when the user explicitly asks for progress updatesIf the user is simply dispatching an ACP / Codex task and does not explicitly request a persistent interactive session, treat it as a one-shot background run. Do not block the current conversation. Send the result back only when the background run completes.
runTimeoutSeconds: 120-300runTimeoutSeconds: 600runTimeoutSeconds: 12001800-3600 as needed0; only use 0 when the user explicitly wants no timeoutmode / thread Decision Rulesmode: "run"thread: truethread: true and mode: "session"mode: "session"cwd Rulescwd~ before passing the path into sessions_spawnruntime: "acp" firstruntime: "subagent" when the ACP target agentId is clearly unavailable, unconfigured, or ACP cannot be used in the current environmentsubagent, not a native ACP sessionUse this short confirmation by default:
Task accepted. It is running in the background and will report back here when complete.
If streamTo: "parent" is enabled, also say that key progress updates will be streamed back.
sessions_list, sessions_history, or similar tools to track child-session progresssleep or timer-based waiting to fake background orchestrationsessions_spawn completion / announce mechanism for the final result{
"task": "<user request>",
"runtime": "acp",
"agentId": "<codex|claude|gemini|opencode|...>",
"mode": "run",
"cwd": "/abs/path/if-known",
"runTimeoutSeconds": 300
}
thread: true and, if needed, mode: "session"runTimeoutSecondsrunTimeoutSeconds smallstreamTo: "parent"runtime: "subagent"