releases.shpreview

Stagehand puts vision into extract and lowers the barrier to local automation

June 1–7, 2026

Stagehand 3.5.0 ships a screenshot-aware extract mode for visual content, and the browse CLI now steers new users toward local-first automation. Meanwhile, Crawlee v3.17.0 hardens sitemap discovery and fixes a Puppeteer page-binding bug.

Extract with eyes

The biggest story this week is that Stagehand 3.5.0 gives extract() a new screenshot option. When you pass screenshot: true, the method sends the current viewport screenshot alongside the accessibility tree to the model. This matters because charts, data visualizations, and layout-dependent content are invisible to the a11y tree alone. The same release adds native clipboard API support for copy/paste flows, expands Claude Opus 4.8 support for Computer Use, and introduces Google Vertex AI auth parameters across the SDK and API schemas. You can also now use ignoreDefaultArgs to strip chrome-launcher's built-in flags when running locally. The Browserbase changelog provides a more detailed walkthrough of the vision feature and the smaller additions.

Lead with local

Alongside the SDK update, Stagehand browse@0.8.3 reworks the onboarding experience for the CLI. The error message when a user hasn't set an API key now explicitly tells them that local browser automation needs no key and points them to browse open <url> --local. The remote-mode driver error has also been clarified so users can more easily determine when a key is required versus when local mode is appropriate. This is a small but thoughtful change; every new developer who hits that error is now redirected to the fastest path to running a Stagehand step.

Crawlee stability patch

Apify's Crawlee v3.17.0 fixes two bugs that could cause frustrating hangs. The discoverValidSitemaps function now applies network timeouts on each request, preventing indefinite waits when a sitemap server is unresponsive. Separately, Browser.pages() is now correctly bound in the PuppeteerPlugin via a standalone one-liner, which prevents a Cannot read properties of undefined error when calling pages() after the browser has been used. Both are the kind of reliability fixes that keep a crawler running unattended — exactly what you want from a framework that's meant to run for hours.

Releases covered