[Bug] ACP/acpx session accepted but never closes the loop; no history, no announce, no stream log
Summary
Using runtime: "acp" with opencode, the spawned ACP session is accepted but does not close the loop.
Observed behavior:
sessions_spawn returns status: "accepted"
- child
sessionKey is created
session_status remains running
- no completion callback / no visible parent summary
sessions_history for the child session is empty ([])
- no
.acp-stream.jsonl / no streamLogPath evidence found
I ran an A/B test with a single variable:
- A: default/local plugin command source
- B: explicit fixed command source:
/opt/homebrew/lib/node_modules/openclaw/extensions/acpx/node_modules/.bin/acpx
Result:
- A and B behaved the same
- therefore this does not appear to be caused by command source differences
- likely root cause is upstream ACP/acpx completion + transcript/history persistence + announce delivery
Environment
- OpenClaw: 2026.3.2
- Runtime: ACP
- Backend: acpx
- Agent: opencode
- OS: macOS (Darwin arm64)
- Channel under test: Feishu DM (no thread binding)
Minimal repro
Spawn the shortest possible ACP task:
Task A:
Reply exactly: ABTEST_A_OK
Task B:
Reply exactly: ABTEST_B_OK
For both:
- spawn ACP session
- observe
accepted
- inspect child
sessionKey
- poll
session_status
- inspect
sessions_history
- inspect stream log path /
.acp-stream.jsonl
Expected
- ACP session reaches completed state
- completion is surfaced back to parent
- child session history contains assistant output
- stream log exists when applicable
- no orphaned running session remains
Actual
- session stays
running
- no completion/announce visible
- child history is empty
- no stream log evidence
- repeated across A/B with different command source
Notes
This seems consistent with recently reported ACP issues around:
- no completion callback / silent stalls
- ACP run sessions not persisting output to history
- missing transcript / no
.jsonl for ACP sessions
- suppressed completion announcements
[Bug] ACP/acpx session accepted but never closes the loop; no history, no announce, no stream log
Summary
Using
runtime: "acp"withopencode, the spawned ACP session is accepted but does not close the loop.Observed behavior:
sessions_spawnreturnsstatus: "accepted"sessionKeyis createdsession_statusremainsrunningsessions_historyfor the child session is empty ([]).acp-stream.jsonl/ nostreamLogPathevidence foundI ran an A/B test with a single variable:
/opt/homebrew/lib/node_modules/openclaw/extensions/acpx/node_modules/.bin/acpxResult:
Environment
Minimal repro
Spawn the shortest possible ACP task:
Task A:
Reply exactly: ABTEST_A_OKTask B:
Reply exactly: ABTEST_B_OKFor both:
acceptedsessionKeysession_statussessions_history.acp-stream.jsonlExpected
Actual
runningNotes
This seems consistent with recently reported ACP issues around:
.jsonlfor ACP sessions