Summary
ACP workflow in OpenClaw could start runs, but I could not reliably observe/completion-check them from the parent session due visibility restrictions. In the same flow, Chrome relay profile expectations also mismatched available browser profiles.
Impact
- ACP task execution can be launched, but parent session cannot verify completion/details.
- User-facing status updates become ambiguous ("run launched" but no readable result stream).
- Browser relay instructions expecting
profile=chrome failed in this environment.
Environment
- Runtime: OpenClaw (Telegram group session)
- Model: codex (
openai-codex/gpt-5.3-codex)
- Browser profiles reported:
niemand, mac, openclaw
Reproduction
- Spawn ACP run:
{"runtime":"acp","agentId":"codex","mode":"run","task":"..."}
- Attempt to read child session output/history from parent session.
- Attempt browser relay tab attach with
profile="chrome" per policy guidance.
Actual behavior
A) ACP session output visibility blocked
session_spawn accepted the run:
{
"status": "accepted",
"childSessionKey": "agent:codex:acp:8dd69e20-35ca-4daf-8a19-5c4b696b1f78",
"runId": "012bbedf-018c-436c-8e2e-afdd2d7c6e44",
"mode": "run",
"note": "initial ACP task queued in isolated session; follow-ups continue in the bound thread."
}
But reading history failed:
{
"status": "forbidden",
"error": "Session history visibility is restricted. Set tools.sessions.visibility=all to allow cross-agent access."
}
B) Browser relay profile mismatch
Attempt with profile="chrome" failed:
{
"status": "error",
"error": "Error: Profile \"chrome\" not found. Available profiles: niemand, mac, openclaw"
}
Expected behavior
- Parent session should have a supported/consistent way to observe ACP run completion + result payload (or an explicit completion callback channel) without requiring global visibility escalation.
- Browser relay guidance should map to available profile names or provide aliasing/clear fallback when
chrome is unavailable.
Suggested fixes
- ACP observability
- Add a first-class
sessions_wait / sessions_result for spawned ACP runs that does not require global sessions.visibility=all.
- Or emit completion payload to parent session automatically for
mode=run.
- Profile aliasing
- Support
chrome alias if relay is connected to a non-default profile, or expose "relay-attached profile" in browser status.
- Error UX
- On
forbidden history read, provide actionable alternative call path for parent-safe completion checks.
Notes
As a workaround, I switched to direct coding-agent workflow (Codex PTY) for implementation work, but that bypasses intended ACP orchestration visibility.
Summary
ACP workflow in OpenClaw could start runs, but I could not reliably observe/completion-check them from the parent session due visibility restrictions. In the same flow, Chrome relay profile expectations also mismatched available browser profiles.
Impact
profile=chromefailed in this environment.Environment
openai-codex/gpt-5.3-codex)niemand,mac,openclawReproduction
{"runtime":"acp","agentId":"codex","mode":"run","task":"..."}profile="chrome"per policy guidance.Actual behavior
A) ACP session output visibility blocked
session_spawnaccepted the run:{ "status": "accepted", "childSessionKey": "agent:codex:acp:8dd69e20-35ca-4daf-8a19-5c4b696b1f78", "runId": "012bbedf-018c-436c-8e2e-afdd2d7c6e44", "mode": "run", "note": "initial ACP task queued in isolated session; follow-ups continue in the bound thread." }But reading history failed:
{ "status": "forbidden", "error": "Session history visibility is restricted. Set tools.sessions.visibility=all to allow cross-agent access." }B) Browser relay profile mismatch
Attempt with
profile="chrome"failed:{ "status": "error", "error": "Error: Profile \"chrome\" not found. Available profiles: niemand, mac, openclaw" }Expected behavior
chromeis unavailable.Suggested fixes
sessions_wait/sessions_resultfor spawned ACP runs that does not require globalsessions.visibility=all.mode=run.chromealias if relay is connected to a non-default profile, or expose "relay-attached profile" inbrowser status.forbiddenhistory read, provide actionable alternative call path for parent-safe completion checks.Notes
As a workaround, I switched to direct coding-agent workflow (Codex PTY) for implementation work, but that bypasses intended ACP orchestration visibility.