ACP session broker. Dispatch work to Codex, Claude Code, Gemini, or the investment agent. Call directly via exec — results return in your context.
Manages long-running coding agent sessions. You call it directly via exec — no subagent needed.
Two sequential exec calls. Use ONLY command and timeout parameters — no other exec parameters.
exec(command: "~/.openclaw/workspace/skills/acpx-rs/acpx-rs sessions ensure --name <session-name> --agent \"<agent-command>\" --cwd /home/openclaw --startup-timeout 60 --quiet", timeout: 120)
exec(command: "~/.openclaw/workspace/skills/acpx-rs/acpx-rs prompt -s <session-name> --summarize \"<user's task>\"", timeout: 600)
| Agent | Session prefix | Command |
|---|---|---|
| Gemini | oc-gemini- | gemini --experimental-acp --yolo -m gemini-3-flash-preview |
| Codex | oc-codex- | npx -y @zed-industries/codex-acp |
| Claude | oc-claude- | npx -y @zed-industries/claude-agent-acp |
| Investment | oc-invest- | /home/openclaw/.openclaw/workspace-trading/trading-app/.venv/bin/python /home/openclaw/.openclaw/workspace-trading/trading-app/run.py --investment-agent-acp |
Use the conversation/thread ID as suffix (e.g., oc-gemini-1346).
sessions_spawn or subagents — call exec directly.yieldMs, background, security, host, ask, or pty to exec calls.--cwd /home/openclaw in the ensure command.ACPX=~/.openclaw/workspace/skills/acpx-rs/acpx-rs
${ACPX} status -s <session-name>
${ACPX} sessions list --active
${ACPX} sessions last <session-name>
${ACPX} sessions close <session-name>
sessions ensure is idempotent — reuses alive sessions, recreates dead ones