-
Notifications
You must be signed in to change notification settings - Fork 324
Browser mode loses completed Pro answer after recoverable CDP disconnect (0.16.0) #326
Copy link
Copy link
Open
Labels
P1Urgent regression or broken agent/channel workflow affecting real users now.Urgent regression or broken agent/channel workflow affecting real users now.clawsweeper:linked-pr-openClawSweeper found an open linked pull request for this issue.ClawSweeper found an open linked pull request for this issue.clawsweeper:no-new-fix-prClawSweeper does not recommend queueing a new automated fix PR for this issue.ClawSweeper does not recommend queueing a new automated fix PR for this issue.clawsweeper:source-reproClawSweeper found a high-confidence source-level issue reproduction.ClawSweeper found a high-confidence source-level issue reproduction.impact:message-lossThis issue is about lost, duplicated, misrouted, or suppressed channel messages.This issue is about lost, duplicated, misrouted, or suppressed channel messages.impact:session-stateThis issue is about session, memory, transcript, context, or agent state drift.This issue is about session, memory, transcript, context, or agent state drift.issue-rating: 🦞 diamond lobsterVery strong issue quality with high-confidence source-level or clear reproduction.Very strong issue quality with high-confidence source-level or clear reproduction.
Description
Metadata
Metadata
Assignees
Labels
P1Urgent regression or broken agent/channel workflow affecting real users now.Urgent regression or broken agent/channel workflow affecting real users now.clawsweeper:linked-pr-openClawSweeper found an open linked pull request for this issue.ClawSweeper found an open linked pull request for this issue.clawsweeper:no-new-fix-prClawSweeper does not recommend queueing a new automated fix PR for this issue.ClawSweeper does not recommend queueing a new automated fix PR for this issue.clawsweeper:source-reproClawSweeper found a high-confidence source-level issue reproduction.ClawSweeper found a high-confidence source-level issue reproduction.impact:message-lossThis issue is about lost, duplicated, misrouted, or suppressed channel messages.This issue is about lost, duplicated, misrouted, or suppressed channel messages.impact:session-stateThis issue is about session, memory, transcript, context, or agent state drift.This issue is about session, memory, transcript, context, or agent state drift.issue-rating: 🦞 diamond lobsterVery strong issue quality with high-confidence source-level or clear reproduction.Very strong issue quality with high-confidence source-level or clear reproduction.
Summary
With
@steipete/oracle0.16.0 in browser mode, a long Pro run submitted successfully and ChatGPT later completed a full answer, but Oracle lost its target-level CDP client shortly before completion and reported:Chrome did not close. The persistent browser process remained running, its loopback CDP endpoint remained reachable, and the same page target was still present in
/json/list. ChatGPT completed the response server-side around two minutes later, and the full answer was recoverable manually, but Oracle never captured it.Environment
@steipete/oracle0.16.0gpt-5-pro--browser-attachments neverCommand shape:
Timeline
promptSubmitted=true.runningstate withincompleteReason=chrome-disconnected.https://chatgpt.com/URL and no conversation ID.oracle session <id> --harvestcaptured a generic ChatGPT error banner rather than the completed answer. Follow-up recovery also failed because the session contained no ChatGPT conversation URL.The initiating cause of the CDP WebSocket disconnect is not yet proven. The confirmed problem is that Oracle classified a recoverable client disconnect as a closed Chrome window and could not reconnect to the still-live target.
Source-level behavior
In
src/browser/index.ts, anyclientdisconnect is mapped to:In
src/cli/sessionRunner.ts, the connection-loss path keeps the session marked as running and prints reattach guidance, but it did not automatically reconnect in this run.Recovery was then ineffective because no
/c/...conversation URL had been persisted. Keeping the session inrunningstate is insufficient when the target is still available but Oracle cannot resolve the completed conversation.Expected behavior
When the CDP client disconnects:
connection-lostpath, not only assistant timeouts.status=completedrather than leaving the session permanentlyrunning.Related issues
I have retained the detailed local logs privately. The prompt, response, project names, paths, account details, session IDs, conversation IDs, hostnames, and process IDs have intentionally been omitted.