Mastra `@mastra/core@1.27.0` adds browser automation and Tavily tools
The `@mastra/core@1.27.0` release introduces CLI-driven browser automation with live screencasts, a new `@mastra/tavily` integration package, S3 prefix mounts for workspace sandboxes, and fixes for parallel `foreach` workflow resumes and observational memory duplication.
Score breakdown
The parallel `foreach` `suspendPayload` fix directly unblocks reliable human-in-the-loop and tool-approval workflows in Mastra agents, while the new browser automation and Tavily integrations expand the out-of-the-box capabilities available to agentic pipelines.
- 01New `@mastra/browser-viewer` package launches Chrome via Playwright with remote debugging and automatic CDP URL injection for browser CLIs (`agent-browser`, `browser-use`, `browse`).
- 02Live browser screencasts stream directly to Mastra Studio; external CDP endpoints (e.g. browser-use cloud) are also supported.
- 03New `@mastra/tavily` package exposes four tools — `createTavilySearchTool`, `createTavilyExtractTool`, `createTavilyCrawlTool`, `createTavilyMapTool` — with full Zod schemas.
The `@mastra/core@1.27.0` release, authored by PaulieScanlon and published April 24, 2026, centers on two major additions. First, CLI-driven browser automation arrives via `@mastra/core` and the new `@mastra/browser-viewer` package. `BrowserViewer` launches Chrome through Playwright with remote debugging, while `BrowserCliHandler` automatically detects browser CLIs (`agent-browser`, `browser-use`, `browse`) and injects the CDP URL into commands without manual wiring. Sessions are thread-isolated with automatic lifecycle management, live screencasts stream directly to Studio, and external CDP endpoints such as browser-use cloud are also supported. Second, the new `@mastra/tavily` package wraps `@tavily/core` as four first-class Mastra tools — `createTavilySearchTool`, `createTavilyExtractTool`, `createTavilyCrawlTool`, and `createTavilyMapTool` — each with full Zod input/output schemas and lazy client initialization. A convenience `createTavilyTools()` function returns all four with shared config, and the API key resolves from config or the `TAVILY_API_KEY` environment variable.
Suspended iterations now retain their `suspendPayload` across resume cycles, while completed iterations still have it cleared to keep snapshots compact.
On the bug-fix side, a significant workflow correctness issue is resolved: in parallel `foreach` iterations, resuming one sibling previously cleared the `suspendPayload` on all other suspended iterations, causing them to lose context such as `__streamState` needed for tool-call approvals. Suspended iterations now retain their `suspendPayload` across resume cycles, while completed iterations still have it cleared to keep snapshots compact. Observational memory also receives two improvements: a new opt-in `observationalMemory.temporalMarkers: true` flag injects a persisted time-gap marker before any user message arriving more than 10 minutes after the previous one, and `savePerStep` is now force-disabled when observational memory is enabled to prevent message duplication caused by the two features conflicting. Additionally, workspace packages `@mastra/s3`, `@mastra/daytona`, `@mastra/e2b`, and `@mastra/blaxel` gain a `prefix` option for mounting an S3 subdirectory rather than an entire bucket. No breaking changes are noted in this release.
Key facts
- 01New `@mastra/browser-viewer` package launches Chrome via Playwright with remote debugging and automatic CDP URL injection for browser CLIs (`agent-browser`, `browser-use`, `browse`).
- 02Live browser screencasts stream directly to Mastra Studio; external CDP endpoints (e.g. browser-use cloud) are also supported.
- 03New `@mastra/tavily` package exposes four tools — `createTavilySearchTool`, `createTavilyExtractTool`, `createTavilyCrawlTool`, `createTavilyMapTool` — with full Zod schemas.