Skip to content

Add Claude native browser use through the shared facade runtime - #2905

Open
miguelg719 wants to merge 19 commits into
evals/consolidation-15-shared-cua-bridgefrom
evals/consolidation-16-claude-cua
Open

Add Claude native browser use through the shared facade runtime#2905
miguelg719 wants to merge 19 commits into
evals/consolidation-15-shared-cua-bridgefrom
evals/consolidation-16-claude-cua

Conversation

@miguelg719

@miguelg719 miguelg719 commented Sep 8, 2026

Copy link
Copy Markdown
Collaborator

Adds Claude native browser use through the shared CUA bridge and canonical facade. Native tool instructions remain separate from internal mount instructions, and the shared autonomy policy is injected once through the native system channel. Includes package, build, and CI registration.

Retains thinking, tool-result blocks, usage presence, and screenshot evidence. API history can discard older screenshots without mutating verification events. Unmatched calls carry a missing-result failure instead of appearing successful. Diagnostic logs contain tool name/status/duration; original tool inputs stay in session evidence, and abort diagnostics are sanitized.

Tab operations use the canonical visible context and readonly page.pageId. Keeper pages cannot enter tab inventory or be selected/closed; legitimate visible blank pages remain available. Explicit tab_id actions refresh active identity before executing. A first reference action without cached tab state adds one inventory call to obtain real IDs. Typed canonical session-loss errors or runner-owned telemetry stop execution; page error text alone cannot impersonate browser loss.

Drag uses the SDK dragAndDrop primitive. Separate held-button down/up gestures and modifier clicks receive actionable unsupported errors; complete drag and ordinary clicks are supported. Partial toolset configuration preserves member defaults, literal Space is accepted, find text is capped, and transcript clipping preserves surrogate pairs.

Validation: 72 tests pass across 8 files, including 55 Claude SDK tests, native eval/runner/mount tests, and the compiled facade/MCP fixture. Tests execute generated snippets through actual canonical StagehandFacadeTools and SDK Page/BrowserContext objects over in-memory RPC. Claude SDK and full eval typechecks, matching core/Claude SDK builds, and scoped formatting pass. Generated test artifacts under dist/.turbo/node_modules leave the task cache inputs and hash unchanged. Provider responses are scripted; these checks do not establish live browser gestures, model performance, or disconnect recovery.

Stack position: 16/17. Base: evals/consolidation-15-shared-cua-bridge. Review the diff against the immediate predecessor.

Reviewer entry points:

@changeset-bot

changeset-bot Bot commented Sep 8, 2026

Copy link
Copy Markdown

⚠️ No Changeset found

Latest commit: fc53cee

Merging this PR will not cause a version bump for any packages. If these changes should not result in a new version, you're good to go. If these changes should result in a version bump, you need to add a changeset.

This PR includes no changesets

When changesets are added to this PR, you'll see the packages that this PR includes changesets for and the associated semver types

Click here to learn what changesets are, and how to add one.

Click here if you're a maintainer who wants to add a changeset to this PR

@cubic-dev-ai cubic-dev-ai Bot left a comment

Copy link
Copy Markdown
Contributor

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

All reported issues were addressed

Reply with feedback, questions, or to request a fix.

Re-trigger cubic

Comment thread packages/integrations/claude-cua-sdk/src/executor.ts Outdated
Comment thread packages/integrations/claude-cua-sdk/src/executor.ts Outdated
Comment thread packages/integrations/claude-cua-sdk/ARCHITECTURE.md
Comment thread packages/integrations/claude-cua-sdk/ARCHITECTURE.md Outdated
Comment thread turbo.json Outdated
Comment thread packages/integrations/claude-cua-sdk/src/executor.ts Outdated
Comment thread packages/integrations/claude-cua-sdk/src/executor.ts Outdated
Comment thread packages/integrations/claude-cua-sdk/src/session.ts
Comment thread packages/integrations/claude-cua-sdk/ARCHITECTURE.md Outdated
Comment thread packages/integrations/claude-cua-sdk/src/transcript.ts Outdated

@cubic-dev-ai cubic-dev-ai Bot left a comment

Copy link
Copy Markdown
Contributor

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

All reported issues were addressed across 3 files (changes from recent commits).

Tip: Review your code locally with the cubic CLI to iterate faster.

Re-trigger cubic

Comment thread packages/integrations/claude-cua-sdk/tests/sdk-boundary.test.ts
@miguelg719
miguelg719 force-pushed the evals/consolidation-15-shared-cua-bridge branch from 70b194d to 55f180a Compare September 8, 2026 16:27
@miguelg719
miguelg719 force-pushed the evals/consolidation-16-claude-cua branch from c5983f0 to 32a7a95 Compare September 8, 2026 16:27
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

None yet

Projects

None yet

Development

Successfully merging this pull request may close these issues.

1 participant