Stagehand Updates & Release Notes
62 updates curated from 1 source by the Releasebot Team. Last updated: Jul 22, 2026
- Jul 21, 2026
- Date parsed from source:Jul 21, 2026
- First seen by Releasebot:Jul 22, 2026
stagehand/server-v3 v3.7.4
Stagehand adds OpenAI endpoint format support and eval run grouping in the latest server-v3 update.
What's Changed
- feat(evals): group trajectories by run and cross-link Braintrust experiments by @miguelg719 in #2177
- chore(docs): Add docs ownership and review rules by @Kylejeong2 in #2226
- feat(core): support OpenAI Chat Completions via openaiEndpointFormat by @miguelg719 in #2347
- feat(server-v3): expose OpenAI endpoint format by @miguelg719 in #2374
Full Changelog: stagehand-server-v3/v3.7.3...stagehand-server-v3/v3.7.4
Original source - Jul 16, 2026
- Date parsed from source:Jul 16, 2026
- First seen by Releasebot:Jul 17, 2026
stagehand/server-v3 v3.7.3
Stagehand adds new docs, fixes AI SDK warning noise, updates the browse CLI with a safer .env auto-loading opt-out, and expands evals with OdysseysBench plus updated model pricing in Braintrust UI publisher.
What's Changed
- [docs]: add docs for setDomainPolicy by @seanmcguire12 in #2289
- fix: silence AI SDK "system message in messages" warning in act/extract/observe by @shrey150 in #2359
- [STG-2510] fix: source eval browser skill from packages/cli browse SKILL.md by @shrey150 in #2334
- chore(evals): add sonnet-5, gpt-5.6, and grok pricing to braintrust UI publisher by @miguelg719 in #2318
- feat: warn and add opt-out flag for browse CLI .env auto-loading by @shrey150 in #2361
- chore(docs): Replace “LLM model” wording in Stagehand docs by @Kylejeong2 in #2366
- feat(evals): add OdysseysBench agent benchmark by @miguelg719 in #2275
- chore: cut stagehand-server-v3 catchup release by @shrey150 in #2367
Full Changelog: https://github.com/browserbase/stagehand/compare/@browserbasehq/[email protected]/v3.7.3
Original source All of your release notes in one feed
Join Releasebot and get updates from Browserbase and hundreds of other software products.
- Jul 13, 2026
- Date parsed from source:Jul 13, 2026
- First seen by Releasebot:Jul 14, 2026
@browserbasehq/[email protected]
Stagehand adds domain policy controls, letting users allow or block specific domains and automatically close violating popups. It also improves agent reliability with cleaner logging, better model options, stronger CUA handling, and support for Gemini 3.5 Flash computer-use tools.
Minor Changes
- #2283 871ca7e Thanks @seanmcguire12! - add context.setDomainPolicy({ allowedDomains: ["allowed.domain"] }) which allows users to define a set of domains that are accessible to stagehand
- #2274 f31980f Thanks @seanmcguire12! - add context.setDomainPolicy({blockedDomains: ["some.domain"]}) which allows users to define a list of domains that will be blocked by stagehand
Patch Changes
- #2305 cd1daad Thanks @shrey150! - Remove the noisy AI SDK "system message in messages" warning logged on every hybrid/DOM agent.execute() call.
- #2328 d287ff4 Thanks @miguelg719! - Allow modelName "auto" in the constructor and per-primitive model overrides when running through the Stagehand API
- #2294 3938590 Thanks @seanmcguire12! - automatically close popups that violate user defined domain policy
- #2298 892701a Thanks @seanmcguire12! - Fix CUA keypress actions to press key combinations as a single chord.
- #2345 21826c7 Thanks @monadoid! - Repair malformed UTF-16 snapshot text before it reaches model prompts.
- #2306 8dcef1b Thanks @seanmcguire12! - Use the screenshot provider's declared media type when sending CUA image payloads. The setScreenshotProvider callback now returns ScreenshotProviderResult ({ base64, mediaType }) instead of a bare base64 string.
- #2273 93a23d3 Thanks @miguelg719! - Add support for the new google/gemini-3.5-flash computer-use tools model
- #2278 022d68f Thanks @shrey150! - Fix TypeError: Converting circular structure to JSON when creating an agent with MCP integrations that include a Client instance (e.g. a local/stdio server from connectToMCPServer). The agent-creation log serialized the raw integrations array, and a live MCP Client is circular. It now logs a safe descriptor (URL strings kept, client instances summarized) so agent({ integrations: [client] }) works.
- #2288 bb5ffa6 Thanks @seanmcguire12! - clean up cdp session event handlers on target detach
- Jul 9, 2026
- Date parsed from source:Jul 9, 2026
- First seen by Releasebot:Jul 10, 2026
Release [email protected] (#2346)
Stagehand prepares the [email protected] release on main, updating the package version and changelog and consuming pending changesets so the release workflow can publish. It also adds a new browse skills show command to print the bundled skill and reference it from --help.
Prepare the next browse release by versioning the package on main.
What this PR does:
- bumps packages/cli/package.json to 0.9.5
- updates the browse changelog
- consumes the pending browse changesets
After this PR merges, the Release workflow on main will publish
[email protected] from that exact commit using pnpm pack + npm publish --provenance.Summary by cubic
Prepare the [email protected] release on main. Bumps the package version,
updates the changelog, and consumes the pending changeset so the Release
workflow can publish.New Features
Add browse skills show to print the bundled skill and reference it
from --help.Written for commit e01be37.
Summary will update on new commits.
Co-authored-by: github-actions[bot] <41898282+github-actions[bot]@users.noreply.github.com>
Original source - Jul 7, 2026
- Date parsed from source:Jul 7, 2026
- First seen by Releasebot:Jul 7, 2026
Release [email protected] (#2322)
Stagehand releases [email protected] with a cleaner browse snapshot default that prints only the accessibility tree to reduce noisy output. It also includes the package version bump and changelog updates for publishing, while --full restores the previous detailed output.
Prepare the next browse release by versioning the package on main.
What this PR does:
- bumps packages/cli/package.json to 0.9.4
- updates the browse changelog
- consumes the pending browse changesets
After this PR merges, the Release workflow on main will publish
[email protected] from that exact commit using pnpm pack + npm publish --provenance.Summary by cubic
Release [email protected], which makes browse snapshot print only the
accessibility tree by default to reduce noisy output. Includes version
bump and changelog update for publishing.Migration
To get the previous full output (including xpathMap/urlMap), run
browse snapshot --full. Ref-based element commands are unchanged.Written for commit 72cbd19.
Summary will update on new commits.
Co-authored-by: github-actions[bot] <41898282+github-actions[bot]@users.noreply.github.com>
Original source Similar to Stagehand with recent updates:
- Claude Code updates403 release notes · Latest Jul 22, 2026
- Claude updates116 release notes · Latest Jul 14, 2026
- Claude Developer Platform updates143 release notes · Latest Jul 22, 2026
- Anthropic updates54 release notes · Latest Jul 22, 2026
- 1Password Browser updates52 release notes · Latest Jul 14, 2026
- Gemini updates358 release notes · Latest Jul 22, 2026
- Jul 3, 2026
- Date parsed from source:Jul 3, 2026
- First seen by Releasebot:Jul 3, 2026
Release [email protected] (#2311)
Stagehand prepares the [email protected] release by bumping the package version, updating the changelog, and consuming the pending changeset. The release workflow on main will publish the package from the merged commit, with a new Docker image noted at ghcr.io/browserbase/browse.
Prepare the next browse release by versioning the package on main.
What this PR does:
- bumps packages/cli/package.json to 0.9.3
- updates the browse changelog
- consumes the pending browse changesets
After this PR merges, the Release workflow on main will publish
[email protected] from that exact commit using pnpm pack + npm publish --provenance.Summary by cubic
Prepare the [email protected] release by bumping the package version,
updating the changelog, and consuming the pending changeset. On merge,
the Release workflow on main will publish via pnpm pack + npm publish --provenance; this release also notes the new Docker image at
ghcr.io/browserbase/browse.Written for commit 32f3a51.
Summary will update on new commits.Co-authored-by: github-actions[bot] <41898282+github-actions[bot]@users.noreply.github.com>
Original source - Jul 2, 2026
- Date parsed from source:Jul 2, 2026
- First seen by Releasebot:Jul 3, 2026
Release [email protected] (#2287)
Stagehand prepares the next browse release, bumping the CLI to 0.9.2 and updating the changelog.
Prepare the next browse release by versioning the package on main.
What this PR does:
- bumps packages/cli/package.json to 0.9.2
- updates the browse changelog
- consumes the pending browse changesets
After this PR merges, the Release workflow on main will publish [email protected] from that exact commit using pnpm pack + npm publish --provenance.
Co-authored-by: github-actions[bot] <41898282+github-actions[bot]@users.noreply.github.com>
Original source - Jun 27, 2026
- Date parsed from source:Jun 27, 2026
- First seen by Releasebot:Jun 27, 2026
Release [email protected] (#2285)
Stagehand releases [email protected], bumping the CLI package and updating the changelog as it prepares the next main-branch publish. It also adds anonymous install attribution for CLI-driven Browserbase usage with new session metadata and client headers.
Prepare the next browse release by versioning the package on main.
What this PR does:
- bumps packages/cli/package.json to 0.9.1
- updates the browse changelog
- consumes the pending browse changesets
After this PR merges, the Release workflow on main will publish [email protected] from that exact commit using pnpm pack + npm publish --provenance.
Summary by cubic
Prepare [email protected] by bumping the CLI version and updating the changelog; merging will trigger the Release workflow to publish.
New Features
Attribute CLI-driven Browserbase usage to an anonymous install. Sessions stamp install_id and cli_version in userMetadata. Cloud Search/Fetch send x-bb-client and x-bb-install-id. Best-effort and non-blocking.
Written for commit f2eca53.
Summary will update on new commits.
Co-authored-by: github-actions[bot] <41898282+github-actions[bot]@users.noreply.github.com>
Original source - Jun 25, 2026
- Date parsed from source:Jun 25, 2026
- First seen by Releasebot:Jun 26, 2026
Stagehand adds clearer screenshot handling and reliability fixes. Browse screenshot now saves a file by default, with a new --base64 option to keep legacy stdout output, plus Windows install fixes and timeouts for stuck skill installs and fetches.
Minor Changes
#2246 303ab2c Thanks @shrey150! - browse screenshot now writes a file by default instead of printing base64 to stdout. Bare invocations save to screenshot-<yyyymmdd-hhmmss>.<type> in the current directory (with a collision counter instead of overwriting) and print { "saved": "<path>" }. A new --base64 flag preserves the legacy behavior of printing { "base64": "..." } to stdout; it is mutually exclusive with --path. --path behavior is unchanged.
Note for scripts that parsed the bare-invocation base64 output: pass --base64 to keep the old stdout contract.
Patch Changes
#2250 8b83bb7 Thanks @shrey150! - Fix browse skills add on Windows and bound the unbounded installer stages.
Quote the npx command and arguments when spawning through cmd.exe (shell: true for .cmd/.bat shims), so the default C:\Program Files\nodejs\npx.cmd path and install paths with spaces (e.g. C:\Users\First Last...) no longer split at the space and fail with "'C:\Program' is not recognized".
Kill the npx skills add child after a 180s deadline (SIGTERM, then SIGKILL) and fail with a clear message and a distinct skill_install_timeout telemetry result code instead of hanging forever.
Bound the catalog and skill-file fetches with a 10s abort timeout, preserving the existing catalog-unavailable fallback semantics when a fetch hangs.
Original source - Jun 19, 2026
- Date parsed from source:Jun 19, 2026
- First seen by Releasebot:Jun 19, 2026
@browserbasehq/[email protected]
Stagehand adds WebMCP support, Azure OpenAI Microsoft Entra ID auth, and claude-fable-5 capabilities with native structured outputs, adaptive thinking, and tool-choice improvements. It also improves cache URL normalization, shadow-root XPath targeting, and verifier handling.
Minor Changes
- #2178 c49a3fc Thanks @seanmcguire12! - add support for WebMCP
Patch Changes
- #2217 147e310 Thanks @monadoid! - Add Azure OpenAI Microsoft Entra ID model auth support.
- #2231 cf3603d Thanks @miguelg719! - Add claude-fable-5 support: native structured outputs via the @ai-sdk/anthropic bump, adaptive thinking (including the new "xhigh" effort) on the agent path, the API's built-in server-side refusal fallback to claude-opus-4-8, and auto tool choice for the final done call on models that reject forced tool use.
- #2233 8d7d414 Thanks @seanmcguire12! - Normalize URLs in ActCache key derivation by sorting query parameters before hashing. Semantically equivalent URLs that differ only in parameter order (e.g. ?utm_source=email&id=42 vs ?id=42&utm_source=email) now hit the cache instead of silently missing. Fragments and duplicate keys are preserved.
- #2229 fd42e65 Thanks @seanmcguire12! - launch local browser with --enable-features=WebMCPTesting,DevToolsWebMCPSupport by default
- #2220 a64c6b7 Thanks @monadoid! - Fix Stagehand-generated shadow-root XPath resolution so deterministic actions can target elements inside web components.
- #2132 ed3e566 Thanks @miguelg719! - Add canonical verifier evidence normalization for screenshots and text signals without requiring image dependencies in core installs.
- #2133 840aac8 Thanks @miguelg719! - Add the rubric-based verifier engine with normalized public rubric output and bounded failure-step parsing.
- Jun 17, 2026
- Date parsed from source:Jun 17, 2026
- First seen by Releasebot:Jun 18, 2026
Release [email protected] (#2260)
Stagehand releases [email protected] with a package version bump and updated changelog, plus fixes for focus stealing in headed local sessions and stronger command handling with suggestions, telemetry, retry backoff, Chrome launch-arg flags, and skill_id reporting.
Prepare the next browse release by versioning the package on main.
What this PR does:
- bumps packages/cli/package.json to 0.8.5
- updates the browse changelog
- consumes the pending browse changesets
After this PR merges, the Release workflow on main will publish
[email protected] from that exact commit using pnpm pack + npm publish --provenance.Summary by cubic
Release [email protected] by bumping the package version and updating the changelog.
This patch fixes focus stealing in headed local sessions, adds suggestions and telemetry for unknown commands, improves driver errors with retry backoff, adds Chrome launch-arg flags for managed-local sessions, and emits a skill_id on command-completed telemetry.
Written for commit b405ea9.
Summary will update on new commits.
Co-authored-by: github-actions[bot] <41898282+github-actions[bot]@users.noreply.github.com>
Original source - Jun 11, 2026
- Date parsed from source:Jun 11, 2026
- First seen by Releasebot:Jun 16, 2026
@browserbasehq/[email protected]
Stagehand ships a broad changelog of browser automation upgrades, adding agent and MCP support, stronger computer-use model coverage, faster act and extract flows, and steady fixes for popups, iframes, shadow DOM, logging, and API reliability.
@browserbasehq/stagehand
2.5.8
Patch Changes
- #1710 df76207 Thanks @seanmcguire12! - handle target closed errors on rapidly opening/closing popups
2.5.7
Patch Changes
- #1593 159f6d3 Thanks @tkattkat! - Update extract tool
2.5.6
Patch Changes
- #1396 b7bc0b6 Thanks @seanmcguire12! - deprecate drawOverlay parameter in observe
2.5.5
Patch Changes
- #1389 575226f Thanks @seanmcguire12! - Retry DOM.getDocument on max depth exceeded with exponential backoff
- #1386 dbffb75 Thanks @seanmcguire12! - Remove deprecated internal usage of page.evaluate
2.5.4
Patch Changes
- #1368 fb74c90 Thanks @miguelg719! - Version bump to 2.5.4
2.5.3
Patch Changes
- #1275 a372b3c Thanks @miguelg719! - Remove process exit on signal handler
- #1143 fc06d40 Thanks @seanmcguire12! - add logger param to external aisdk client
- #1137 2dbac99 Thanks @miguelg719! - Add haiku 4.5 computer use support
- #1116 b419fc3 Thanks @tkattkat! - patch stagehand agent api support
- #1362 f26333e Thanks @seanmcguire12! - use CDP to find scrollable nodes instead of injected JS
- #1125 cbff109 Thanks @tkattkat! - update cua agents key & system prompt handling
- #1363 223e158 Thanks @seanmcguire12! - add causedBy to StagehandDefaultError
- #1123 f426ba5 Thanks @tkattkat! - Add pageUrl & timestamp to agent actions
- #1365 2f71b02 Thanks @seanmcguire12! - export getAccessibilityTree()
- #1366 e098b0d Thanks @miguelg719! - Update finding scrollable nodes using CDP
2.5.2
Patch Changes
- #1114 c0fbc51 Thanks @seanmcguire12! - configure default viewport when running on browserbase
2.5.1
Patch Changes
- #1082 8c0fd01 Thanks @tkattkat! - Pass stagehand object to agent instead of stagehand page
- #1104 a1ad06c Thanks @miguelg719! - Fix logging for stagehand agent
- #1066 9daa584 Thanks @tkattkat! - Add playwright arguments to agent execute response
- #1077 7f38b3a Thanks @tkattkat! - adds support for stagehand agent in the api
- #1032 bf2d0e7 Thanks @miguelg719! - Fix for zod peer dependency support
- #1014 6966201 Thanks @tkattkat! - Replace operator handler with base of new agent
- #1089 536f366 Thanks @miguelg719! - Fixed info logs on api session create
- #1103 889cb6c Thanks @tkattkat! - patch custom tool support in anthropic cua client
- #1056 6a002b2 Thanks @chrisreadsf! - remove need for duplicate project id if already passed to Stagehand
- #1090 8ff5c5a Thanks @miguelg719! - Improve failed act error logs
- #1014 6966201 Thanks @tkattkat! - replace operator agent with scaffold for new stagehand agent
- #1107 3ccf335 Thanks @seanmcguire12! - fix: url extraction not working inside an array
- #1102 a99aa48 Thanks @miguelg719! - Add current page and date context to agent
- #1110 dda52f1 Thanks @miguelg719! - Add support for new Gemini Computer Use models
2.5.0
Minor Changes
- #981 8244ab2 Thanks @sameelarif! - Added support for stagehand.agent to interact with MCP servers as well as custom tools to be passed in. For more information, reference the MCP integrations documentation
Patch Changes
- #959 09b5e1e Thanks @filip-michalsky! - add webvoyager evals
- #1049 e3734b9 Thanks @miguelg719! - Support local MCP server connections
- #1025 be85b19 Thanks @tkattkat! - add support for custom baseUrl within openai provider
- #1040 88d1565 Thanks @miguelg719! - Allow OpenAI CUA to take in an optional baseURL
- #1046 ab5d6ed Thanks @tkattkat! - Add support for gpt-5 in operator agent
2.4.4
Patch Changes
- #1012 9e8c173 Thanks @miguelg719! - Fix disabling api validation whenever a customLLM client is provided
2.4.3
Patch Changes
- #951 f45afdc Thanks @miguelg719! - Patch GPT-5 new api format
- #954 261bba4 Thanks @seanmcguire12! - add support for shadow DOMs (open & closed mode) when experimental: true
- #944 8de7bd8 Thanks @seanmcguire12! - Bump zod version compatibility and add pathing spec
- #919 3d80421 Thanks @seanmcguire12! - enable scrolling inside of iframes
- #963 0ead63d Thanks @tkattkat! - Properly handle images in evaluator + clean up response parsing logic
- #961 8422828 Thanks @tkattkat! - Add more evals for stagehand agent
- #946 b769206 Thanks @seanmcguire12! - fix: unable to act on/get content from some same process iframes
- #962 72d2683 Thanks @seanmcguire12! - handle namespaced elements in xpath build step
2.4.2
Patch Changes
- #865 6b4e6e3 Thanks @seanmcguire12! - improve type safety for trimTrailingTextNode
- #897 e77d018 Thanks @miguelg719! - Fix selfHeal to remember intially received arguments
- #920 c20adb9 Thanks @seanmcguire12! - fix: tab handling on API
- #882 b86df93 Thanks @seanmcguire12! - remove elements that don't have xpaths from observe response
- #905 023c2c2 Thanks @tkattkat! - Delete old images from anthropic cua client
- #925 8c28647 Thanks @miguelg719! - Remove _refreshPageFromApi()
- #887 87e09c6 Thanks @seanmcguire12! - fix: allow xpaths with prepended 'xpath=' for targeted extract
- #864 a611115 Thanks @miguelg719! - Temporarily patch custom clients serialization error on api
- #881 69913fe Thanks @miguelg719! - Pass sdk version number to API for debugging
- #913 b1b83a1 Thanks @seanmcguire12! - move iframe out of 'experimental'
- #891 be8497c Thanks @seanmcguire12! - fix: nested iframe xpath bug
- #883 98704c9 Thanks @seanmcguire12! - add timeout for JS click
- #907 04978bd Thanks @seanmcguire12! - store mapping of CDP frame ID -> page
2.4.1
Patch Changes
- #856 8a43c5a Thanks @seanmcguire12! - set download behaviour by default
- #857 890ffcc Thanks @miguelg719! - return "not-supported" for elements inside the shadow-dom
- #844 64c1072 Thanks @seanmcguire12! - don't automatically close tabs
- #860 b077d3f Thanks @miguelg719! - Set default schema on extract options with no schema
- #842 8bcb5d7 Thanks @seanmcguire12! - improved handling for OS level dropdowns
- #846 7bf10c5 Thanks @miguelg719! - Filter attaching to target worker / shared_worker
2.4.0
Minor Changes
- #819 6a18c1e Thanks @seanmcguire12! - try playwright click and fall back to JS click event
Patch Changes
- #826 124e0d3 Thanks @seanmcguire12! - fix issue where we are unable to take actions on text nodes
- #818 1660751 Thanks @miguelg719! - Added CUA support for Claude 4 models
- #821 cadac9d Thanks @seanmcguire12! - use playwright instead of playwright test
- #832 759da55 Thanks @miguelg719! - Fix _refreshPageFromAPI to use parametrized apiKey
- #810 a175a51 Thanks @miguelg719! - Update logos
- #822 8527a80 Thanks @miguelg719! - Add model with date tag for OpenAI CUA
- #833 55fca2f Thanks @seanmcguire12! - adjust stagehandLogger.warn() level to be 1 instead of 0
2.3.1
Patch Changes
- #796 12a99b3 Thanks @miguelg719! - Added a experimental flag to enable the newest and most experimental features
- #807 2451797 Thanks @seanmcguire12! - include version number in StagehandDefaultError message
- #803 1d631a5 Thanks @miguelg719! - Enable session affinity for cache optimization
- #804 9c398bb Thanks @seanmcguire12! - update operatorResponseSchema based on new openai spec
- #786 c19ad7f Thanks @miguelg719! - Handle reroute to account for rollout
2.3.0
Minor Changes
- #737 6ef6073 Thanks @seanmcguire12! - deprecate useTextExtract and remove functionality
Patch Changes
- #741 5680d25 Thanks @seanmcguire12! - use safeparse for zod validation
- #783 4de92a8 Thanks @miguelg719! - Fix the readme logo link
2.2.1
Patch Changes
- #721 be8652e Thanks @miguelg719! - Fix stagehand.close() functionality to include calling browser.close()
- #724 6b413b7 Thanks @seanmcguire12! - rm refine step in extract
- #712 7eafbd9 Thanks @seanmcguire12! - deprecated onlyVisible param and remove its functionality
- #725 1b50aa6 Thanks @seanmcguire12! - dont overwrite .describe() when user defines a zod schema with z.string().url().describe()
- #717 f2b7f1f Thanks @seanmcguire12! - don't publish uncompiled ts to npm
- #719 c8d672f Thanks @seanmcguire12! - fix Invalid schema for response_format error when extracting links
- #722 bebf204 Thanks @seanmcguire12! - replace NBSP with regular space & remove special characters from dom+a11y tree
- #714 37d6810 Thanks @miguelg719! - Fix the native AI SDK client implementation to optionally take in an API key
2.2.0
Minor Changes
- #655 8814af9 Thanks @seanmcguire12! - extract links
- #675 35c55eb Thanks @tkattkat! - Added Gemini 2.5 Flash to Google supported models
- #668 5c6d2cf Thanks @miguelg719! - Added a new class - Stagehand Evaluator - that wraps around a Stagehand object to determine whether a task is successful or not. Currently used for agent evals
Patch Changes
- #706 18ac6fb Thanks @seanmcguire12! - remove unused fillInVariables fn
- #692 6b95248 Thanks @miguelg719! - Updated the list of OpenAI models (4.1, o3...)
- #688 7d81b3c Thanks @seanmcguire12! - wrap page.evaluate to make sure we have injected browser side scripts before calling them
- #664 b5ca00a Thanks @miguelg719! - remove unnecessary log
- #683 8f0f97b Thanks @seanmcguire12! - use javsacript click instead of playwright
- #705 346ef5d Thanks @miguelg719! - Fixed removing a hanging observation map that is no longer used
- #698 c145bc1 Thanks @sameelarif! - Fixing LLM client support to natively integrate with AI SDK
- #687 edd6d3f Thanks @miguelg719! - Fixed the schema input for Gemini's response model
- #678 5ec43d8 Thanks @seanmcguire12! - allow form filling when form is not top-most element
- #694 b8cc164 Thanks @seanmcguire12! - add telemetry for cua agents to stagehand.metrics
- #699 d9f4243 Thanks @seanmcguire12! - rm deprecated primitives from stagehand object
- #710 9f4ab76 Thanks @seanmcguire12! - support targeted extract for domExtract
- #677 bc5a731 Thanks @miguelg719! - Fixes a redundant unnecessary log
2.1.0
Minor Changes
- #659 f9a435e Thanks @miguelg719! - Added native support for Google Generative models (Gemini)
Patch Changes
- #647 ca5467d Thanks @seanmcguire12! - collapse redundant text nodes into parent elements
- #636 9037430 Thanks @seanmcguire12! - fix token act metrics and inference logging being misplaced as observe metrics and inference logging
- #648 169e7ea Thanks @seanmcguire12! - add mapping of node id -> url
- #654 57a9853 Thanks @seanmcguire12! - fix repeated up & down scrolling bug for clicks inside act
- #624 cf167a4 Thanks @seanmcguire12! - export stagehand error classes so they can be referenced from @dist
- #640 178f5f0 Thanks @yash1744! - Added support for stagehand agents to automatically redirect to https://google.com when the page URL is empty or set to about:blank, preventing empty screenshots and saving tokens.
- #661 bf823a3 Thanks @kamath! - fix press enter
- #633 86724f6 Thanks @miguelg719! - Fix the getBrowser logic for redundant api calls and throw informed errors
- #656 c630373 Thanks @seanmcguire12! - parse out % signs from variables in act
- #637 944bbbf Thanks @kamath! - Fix: forward along the stack trace in StagehandDefaultError
2.0.0
Major Changes
- #591 e234a0f Thanks @miguelg719! - Announcing Stagehand 2.0! 🎉
We're thrilled to announce the release of Stagehand 2.0, bringing significant improvements to make browser automation more powerful, faster, and easier to use than ever before.
🚀 New Features
Introducing stagehand.agent: A powerful new way to integrate SOTA Computer use models or Browserbase's Open Operator into Stagehand with one line of code! Perfect for multi-step workflows and complex interactions. Learn more
Lightning-fast act and extract: Major performance improvements to make your automations run significantly faster.
Enhanced Logging: Better visibility into what's happening during automation with improved logging and debugging capabilities.
Comprehensive Documentation: A completely revamped documentation site with better examples, guides, and best practices.
Improved Error Handling: More descriptive errors and better error recovery to help you debug issues faster.
🛠️ Developer Experience
Better TypeScript Support: Enhanced type definitions and better IDE integration
Better Error Messages: Clearer, more actionable error messages to help you debug faster
Improved Caching: More reliable action caching for better performance
We're excited to see what you build with Stagehand 2.0! For questions or support, join our Slack community.
For more details, check out our documentation.Minor Changes
- #588 ba9efc5 Thanks @sameelarif! - Added support for offloading agent tasks to the API.
- #600 11e015d Thanks @sameelarif! - Added a stagehand.history array which stores an array of act, extract, observe, and goto calls made. Since this history array is stored on the StagehandPage level, it will capture methods even if indirectly called by an agent.
- #601 1d22604 Thanks @seanmcguire12! - add custom error classes
- #599 75d8fb3 Thanks @miguelg719! - cleaner logging with pino
- #609 c92295d Thanks @kamath! - Removed deprecated fields and methods from Stagehand constructor and added cdpUrl to localBrowserLaunchOptions for custom CDP URLs support.
- #571 73d6736 Thanks @miguelg719! - You can now use Computer Using Agents (CUA) natively in Stagehand for both Anthropic and OpenAI models! This unlocks a brand new frontier of applications for Stagehand users 🤘
- #619 7b0b996 Thanks @sameelarif! - add disablePino flag to stagehand constructor params
- #620 566e587 Thanks @kamath! - You can now pass in an OpenAI instance as an llmClient to the Stagehand constructor! This allows you to use Stagehand with any OpenAI-compatible model, like Ollama, Gemini, etc., as well as OpenAI wrappers like Braintrust.
- #586 c57dc19 Thanks @sameelarif! - Added native Stagehand agentic loop functionality. This allows you to build agentic workflows with a single prompt without using a computer-use model. To try it out, create a stagehand.agent without passing in a provider.
Patch Changes
- #580 179e17c Thanks @seanmcguire12! - refactor _performPlaywrightMethod
- #608 71ee10d Thanks @seanmcguire12! - added support for "scrolling to next/previous chunk"
- #594 e483484 Thanks @seanmcguire12! - pass observeHandler into actHandler
- #569 17e8b40 Thanks @seanmcguire12! - you can now call stagehand.metrics to get token usage metrics. you can also set logInferenceToFile in stagehand config to log the entire call/response history from stagehand & the LLM.
- #617 affa564 Thanks @seanmcguire12! - use a11y tree for default extract
- #589 0c4b1e7 Thanks @miguelg719! - Added CDP support for screenshots, find more about the benefits here: https://docs.browserbase.com/features/screenshots#why-use-cdp-for-screenshots%3F
- #584 c7c1a80 Thanks @miguelg719! - Fix to remove unnecessary healtcheck ping on sdk
- #616 2a27e1c Thanks @miguelg719! - Fixed new opened tab handling for CUA models
- #582 dfd24e6 Thanks @seanmcguire12! - support api usage for extract with no args
- #563 98166d7 Thanks @seanmcguire12! - support scrolling in act
- #598 53889d4 Thanks @miguelg719! - Fix the open operator handler to work with anthropic
- #605 b8beaec Thanks @sameelarif! - Added support for resuming a Stagehand session created on the API.
- #612 cd36068 Thanks @seanmcguire12! - remove all logic related to dom based act
- #577 4fdbf63 Thanks @seanmcguire12! - remove debugDom
- #603 2a14a60 Thanks @seanmcguire12! - rm unused handlePossiblePageNavigation
- #614 a59eaef Thanks @kamath! - override whatwg-url to avoid punycode warning
- #573 c24f3c9 Thanks @seanmcguire12! - return act result in actFromObserve
1.14.0
Minor Changes
- #518 516725f Thanks @sameelarif! - act() can now use observe() under the hood, resulting in significant performance improvements. To opt-in to this change, set slowDomBasedAct: false in ActOptions.
- #483 8c9445f Thanks @seanmcguire12! - When using textExtract, you can now do targetted extraction by passing an xpath string into extract via the selector parameter. This limits the dom processing step to a target element, reducing tokens and increasing speed. For example:
const weatherData = await stagehand.page.extract({ instruction: "extract the weather data for Sun, Feb 23 at 11PM", schema: z.object({ temperature: z.string(), weather_description: z.string(), wind: z.string(), humidity: z.string(), barometer: z.string(), visibility: z.string(), }), modelName, useTextExtract, selector: xpath, // xpath of the element to extract from }); - #556 499a72d Thanks @kamath! - You can now set a timeout for dom-based stagehand act! Do this in act with timeoutMs as a parameter, or set a global param to actTimeoutMs in Stagehand config.
- #544 55c9673 Thanks @seanmcguire12! - you can now deterministically get the full text representation of a webpage by calling extract() (with no arguments)
- #538 d898d5b Thanks @sameelarif! - Added gpt-4.5-preview and claude-3-7-sonnet-latest as supported models.
- #523 44cf7cc Thanks @kwt00! You can now natively run Cerebras LLMs! cerebras-llama-3.3-70b and cerebras-llama-3.1-8b are now supported models as long as CEREBRAS_API_KEY is set in your environment.
- #542 cf7fe66 Thanks @sankalpgunturi! You can now natively run Groq LLMs! groq-llama-3.3-70b-versatile and groq-llama-3.3-70b-specdec are now supported models as long as GROQ_API_KEY is set in your environment.
Patch Changes
- #506 e521645 Thanks @miguelg719! - fixing 5s timeout on actHandler
- #535 3782054 Thanks @miguelg719! - Adding backwards compatibility to new act->observe pipeline by accepting actOptions
- #508 270f666 Thanks @miguelg719! - Fixed stagehand to support multiple pages with an enhanced context
- #559 18533ad Thanks @seanmcguire12! - fix: continuously adjusting chunk size inside act
- #554 5f1868b Thanks @seanmcguire12! - fix targetted extract issue with scrollintoview and not chunking correctly
- #555 fc5e8b6 Thanks @seanmcguire12! - fix issue where processAllOfDom doesnt scroll to end of page when there is dynamic content
- #552 a25a4cb Thanks @seanmcguire12! - accept xpaths with 'xpath=' prepended to the front in addition to xpaths without
- #534 f0c162a Thanks @seanmcguire12! - call this.end() if the process exists
- #528 c820bfc Thanks @seanmcguire12! - handle attempt to close session that has already been closed when using the api
- #520 f49eebd Thanks @miguelg719! - Performing act from a 'not-supported' ObserveResult will now throw an informed error
1.13.1
Patch Changes
- #509 a7d345e Thanks @miguelg719! - Bun runs will now throw a more informed error
1.13.0
Minor Changes
- #486 33f2b3f Thanks @sameelarif! - [Unreleased] Parameterized offloading Stagehand method calls to the Stagehand API. In the future, this will allow for better observability and debugging experience.
- #494 9ba4b0b Thanks @pkiv! - Added LocalBrowserLaunchOptions to provide comprehensive configuration options for local browser instances. Deprecated the top-level headless option in favor of using localBrowserLaunchOptions.headless
- #500 a683fab Thanks @miguelg719! - Including Iframes in ObserveResults. This appends any iframe(s) found in the page to the end of observe results on any observe call.
- #504 577662e Thanks @sameelarif! - Enabled support for Browserbase captcha solving after page navigations. This can be enabled with the new constructor parameter: waitForCaptchaSolves.
- #496 28ca9fb Thanks @sameelarif! - Fixed browserbaseSessionCreateParams not being passed in to the API initialization payload.
Patch Changes
- #459 62a29ee Thanks @seanmcguire12! - create a11y + dom hybrid input for observe
- #463 e40bf6f Thanks @seanmcguire12! - include 'Scrollable' annotations in a11y-dom hybrid
- #480 4c07c44 Thanks @miguelg719! - Adding a fallback try on actFromObserveResult to use the description from observe and call regular act.
- #487 2c855cf Thanks @seanmcguire12! - update refine extraction prompt to ensure correct schema is used
- #497 945ed04 Thanks @kamath! - add gpt 4o november snapshot
1.12.0
Minor Changes
- #426 bbbcee7 Thanks @miguelg719! - Observe got a major upgrade. Now it will return a suggested playwright method with any necessary arguments for the generated candidate elements. It also includes a major speedup when using a11y tree processing for context.
- #452 16837ec Thanks @kamath! - add o3-mini to availablemodel
- #441 1032d7d Thanks @seanmcguire12! - allow act to accept observe output
Patch Changes
- #458 da2e5d1 Thanks @miguelg719! - Updated getAccessibilityTree() to make sure it doesn't skip useful nodes. Improved getXPathByResolvedObjectId() to account for text nodes and not skip generation
- #448 b216072 Thanks @seanmcguire12! - improve handling of radio button clicks
- #445 5bc514f Thanks @miguelg719! - Adding back useAccessibilityTree param to observe with a deprecation warning/error indicating to use onlyVisible instead
1.11.0
Minor Changes
- #428 5efeb5a Thanks @seanmcguire12! - temporarily remove vision
1.10.1
Patch Changes
- #422 a2878d0 Thanks @miguelg719! - Fixing a build type error for async functions being called inside evaulate for observeHandler.
1.10.0
Minor Changes
- #412 4aa4813 Thanks @miguelg719! - Includes a new format to get website context using accessibility (a11y) trees. The new context is provided optionally with the flag useAccessibilityTree for observe tasks.
- #417 1f2b2c5 Thanks @sameelarif! - Simplify Stagehand method calls by allowing a simple string input instead of an options object.
- #405 0df1e23 Thanks @seanmcguire12! - in ProcessAllOfDom, scroll on large scrollable elements instead of just the root DOM
- #373 ff00965 Thanks @sameelarif! - Allow the input of custom instructions into the constructor so that users can guide, or provide guardrails to, the LLM in making decisions.
Patch Changes
- #386 2cee0a4 Thanks @kamath! - add demo gif
- #362 9c20de3 Thanks @seanmcguire12! - reduce collisions and improve accuracy of textExtract
- #413 737b4b2 Thanks @seanmcguire12! - remove topMostElement check when verifying visibility of text nodes
- #388 e93561d Thanks @kamath! - Export LLMClient type
1.9.0
Minor Changes
- #374 207244e Thanks @sameelarif! - Pass in a Stagehand Page object into the on("popup") listener to allow for multi-page handling.
- #367 75c0e20 Thanks @kamath! - Logger in LLMClient is inherited by default from Stagehand. Named rather than positional arguments are used in implemented LLMClients.
- #381 db2ef59 Thanks @kamath! - make logs only sync
- #385 5899ec2 Thanks @sameelarif! - Moved the LLMClient logger paremeter to the createChatCompletion method options.
- #364 08907eb Thanks @kamath! - exposed llmClient in stagehand constructor
Patch Changes
- #383 a77efcc Thanks @sameelarif! - Unified LLM input/output types for reduced dependence on OpenAI types
- b7b3701 Thanks @kamath! - Fix $1-types exposed to the user
- #353 5c6f14b Thanks @kamath! - Throw custom error if context is referenced without initialization, remove act/extract handler from index
- #360 89841fc Thanks @kamath! - Remove stagehand nav entirely
- #379 b1c6579 Thanks @seanmcguire12! - dont require LLM Client to use non-ai stagehand functions
- #371 30e7d09 Thanks @kamath! - pretty readme :)
- #382 a41271b Thanks @sameelarif! - Added example implementation of the Vercel AI SDK as an LLMClient
- #344 c1cf345 Thanks @kamath! - Remove duplicate logging and expose Page/BrowserContext types
1.8.0
Minor Changes
- #324 cd23fa3 Thanks @kamath! - Move stagehand.act() -> stagehand.page.act() and deprecate stagehand.act()
- #319 bacbe60 Thanks @kamath! - We now wrap playwright page/context within StagehandPage and StagehandContext objects. This helps us augment the Stagehand experience by being able to augment the underlying Playwright
- #324 cd23fa3 Thanks @kamath! - moves extract and act -> page and deprecates stagehand.extract and stagehand.observe
Patch Changes
- #320 c0cdd0e Thanks @kamath! - bug fix: set this.env to LOCAL if BROWSERBASE_API_KEY is not defined
- #325 cc46f34 Thanks @pkiv! - only start domdebug if enabled
1.7.0
Minor Changes
- #316 902e633 Thanks @kamath! - rename browserbaseResumeSessionID -> browserbaseSessionID
- #296 f11da27 Thanks @kamath! - - Deprecate fields in init in favor of constructor options
Deprecate initFromPage in favor of browserbaseResumeSessionID in constructor
Rename browserBaseSessionCreateParams -> browserbaseSessionCreateParams - #304 0b72f75 Thanks @seanmcguire12! - add textExtract: an optional, text based approach to the existing extract method. textExtract often performs better on long form extraction tasks. By default extract uses the existing approach domExtract.
- #298 55f0cd2 Thanks @kamath! - Add sessionId to public params
Patch Changes
- #283 b902192 Thanks @sameelarif! - allowed customization of eval config via .env
- #299 fbe2300 Thanks @sameelarif! - log playwright actions for better debugging
1.6.0
Minor Changes
- #286 9605836 Thanks @kamath! - minor improvement in action + new eval case
- #279 d6d7057 Thanks @kamath! - Add support for o1-mini and o1-preview in OpenAIClient
- #282 5291797 Thanks @kamath! - Added eslint for stricter type checking. Streamlined most of the internal types throughout the cache, llm, and handlers. This should make it easier to add new LLMs down the line, maintain and update the existing code, and make it easier to add new features in the future. Types can be checked by running npx eslint . from the project directory.
Patch Changes
- #270 6b10b3b Thanks @sameelarif! - add close link to readme
- #288 5afa0b9 Thanks @kamath! - add multi-region support for browserbase
- #284 474217c Thanks @kamath! - Build wasn't working, this addresses tsc failure.
- #236 85483fe Thanks @seanmcguire12! - reduce chunk size
1.5.0
Minor Changes
- #266 0e8f34f Thanks @kamath! - Install wasn't working from NPM due to misconfigured build step. This attempts to fix that.
1.4.0
Minor Changes
- #253 598cae2 Thanks @sameelarif! - clean up contexts after use
Patch Changes
- #225 a2366fe Thanks @sameelarif! - Ensuring cross-platform compatibility with tmp directories
- #249 7d06d43 Thanks @seanmcguire12! - fix broken evals
- #227 647eefd Thanks @kamath! - Fix debugDom still showing chunks when set to false
- #250 5886620 Thanks @seanmcguire12! - add ci specific evals
- #222 8dff026 Thanks @sameelarif! - Streamline type definitions and fix existing typescript errors
- #232 b9f9949 Thanks @kamath! - Minor changes to package.json and tsconfig, mainly around the build process. Also add more type defs and remove unused dependencies.
1.3.0
Minor Changes
- #195 87a6305 Thanks @kamath! - - Adds structured and more standardized JSON logging
Doesn't init cache if enableCaching is false, preventing tmp/.cache from being created
Updates bundling for browser-side code to support NextJS and serverless
1.2.0
Minor Changes
- #179 0031871 Thanks @navidkpr! - Fixes:
The last big change we pushed out, introduced a small regression. As a result, the gray outline showing the elements Stagehand is looking out is missing. This commit fixes that. We now process selectorMap properly now (using the updated type Record<number, string[]
Improved the action prompt:
Improved the structure
Made it more straightforward
Improved working for completed arg and prioritized precision over recall
1.1.0
Minor Changes
- 9206ec6 Thanks @kamath! - Connect to a minor session
- Jun 10, 2026
- Date parsed from source:Jun 10, 2026
- First seen by Releasebot:Jun 10, 2026
Release [email protected] (#2228)
Stagehand prepares the next browse release with a CLI version bump to 0.8.4, updated changelog entries, and pending changesets consumed. It also fixes browse templates listing and makes browse skills add fail fast on unknown skills with better error output and guidance.
Prepare the next browse release by versioning the package on main.
What this PR does:
- bumps packages/cli/package.json to 0.8.4
- updates the browse changelog
- consumes the pending browse changesets
After this PR merges, the Release workflow on main will publish [email protected] from that exact commit using pnpm pack + npm publish --provenance.
Summary by cubic
Prepare the [email protected] release by bumping the CLI version, updating the changelog, and consuming pending changesets. After merge, the Release workflow on main will publish from this commit using pnpm pack + npm publish --provenance.
Bug Fixes
- browse templates list now shows the full catalog (requests with scope=all).
- browse skills add now fails fast on unknown skills, surfaces real error output, records telemetry, and prints guidance when no arg is provided.
Written for commit 9bdef79.
Summary will update on new commits.
Co-authored-by: github-actions[bot] <41898282+github-actions[bot]@users.noreply.github.com>
Original source - Jun 9, 2026
- Date parsed from source:Jun 9, 2026
- First seen by Releasebot:Jun 10, 2026
stagehand/server-v3 v3.7.2
Stagehand adds Azure Entra model auth support, expands browser docs and the full browse command surface, and ships cleanup updates like branch installs and publish-file allowlisting.
What's Changed
docs: add Anthropic Managed Agents browser guide by @ziruihao in #2199
[STG-2188] docs(cli): document full browse command surface + fix license badge by @shrey150 in #2198
[chore]: use allowlist for published files by @seanmcguire12 in #2214
[chore]: enable branch installs by @seanmcguire12 in #2215
test: cover disabling --site-per-process default (#2202) by @seanmcguire12 in #2218
[docs]: add docs for ignoreDefaultArgs by @seanmcguire12 in #2222
[STG-2090] Add Azure Entra model auth support by @monadoid in #2217
Full Changelog: https://github.com/browserbase/stagehand/compare/[email protected]/v3.7.2
Original source - Jun 5, 2026
- Date parsed from source:Jun 5, 2026
- First seen by Releasebot:Jun 6, 2026
Stagehand improves onboarding with clearer API key errors for cloud commands and local browser automation.
Patch Changes
- #2192 e7d3b55 Thanks @shrey150! - Lead-with-local onboarding: the missing-API-key error on cloud commands now tells users that local browser automation needs no key and points them to browse open <url> --local. The remote-mode driver error is clearer about when a key is required versus when local mode works without one.
Curated by the Releasebot team
Releasebot is an aggregator of official product update announcements from hundreds of software vendors and thousands of sources.
Our editorial process involves the manual review and audit of release notes procured with the help of automated systems.