For most of its life, the Vercel AI SDK was the library you used to call a model. It normalized providers, streamed tokens to a React component, and gave generateText/streamText a clean shape. Orchestration — retries, durability, human approvals, checkpointing — was your problem, and you solved it with something else. AI SDK 7.0.0, published June 25, 2026, is the release where that stops being true. The interesting part isn't that it added an agent abstraction. It's which problems it decided the SDK should own.
The real move: durability became a primitive#
The headline feature is a new class, WorkflowAgent, and the reason it matters is where it puts the work. It integrates Vercel's Workflow SDK so that each tool call runs as a durable, automatically-retried step. If a tool throws, it retries; if the process dies mid-run, the agent resumes from the last completed step instead of replaying the whole trajectory. That is exactly the guarantee you previously stood up a durable-execution engine like Temporal, Inngest, or Restate to get, or reached into LangGraph's checkpointing for.
Pair that with the second change — tool approvals are now first-class, with signature validation and re-validation baked in per the 7.0.0 release notes — and a pattern emerges. Durability and human-in-the-loop, the two things that separate a demo agent from a production one, moved inside the SDK. You used to assemble them from parts; now they're parameters.
Frameworks announce agent classes constantly. The signal here is subtler: the orchestration layer stopped living next to the SDK and moved into it.
For the common TypeScript case this genuinely collapses a decision. If your durability requirement is "retry a flaky tool call and survive a restart," you may no longer need a second system to get it. The honest boundary: a dedicated engine still wins when you need cross-service orchestration, human waits measured in days, or a language-agnostic workflow layer that isn't tied to your Node runtime. WorkflowAgent folds the common case in; it doesn't erase the hard one.
HarnessAgent inverts build-vs-buy for coding agents#
The other new class, HarnessAgent, points sideways. It exposes a single API for running established coding-agent harnesses — Claude Code, Codex, Pi, OpenCode, Deep Agents — as swappable backends. You don't write the agent loop; you drive a pre-built harness as a library and choose which one answers.
That quietly changes the question developers were asking. It was "do I build on a framework, or adopt a minimal harness like Pi?" Now it's "drive a harness through the SDK, and swap the backend when one gets better." The catch worth stating plainly: each harness brings its own permission model, context management, and defaults. One interface over five harnesses does not give you one behavior — it gives you one call site over five behaviors, which is a different and smaller promise.
The upgrade is not free#
Here's the part the announcement soft-pedals. AI SDK 7 is ESM-only — CommonJS exports are gone, so a project that still require()s the SDK needs to become "type":"module" first — and the minimum Node.js is 22 (supported: 22, 24, 26), dropping 18 and 20. On top of that sit the renames: onFinish became onEnd, system became instructions, experimental_context became a stable, generically-typed context, and removed exports like ToolCallOptions (now ToolExecutionOptions) will surface as build errors, not runtime warnings.
None of these are hard individually. Together they make v7 a meaningfully bigger jump than v6 was — the kind you schedule rather than slip into a Friday. If you maintain a library that re-exports the SDK, the ESM-only change ripples to your consumers too.
Underneath, the plumbing got more honest: telemetry graduated from experimental to stable and moved into a separate @ai-sdk/otel package, and the v7 epic shows the direction — top-level reasoning APIs, remote skills management for Anthropic and OpenAI, Realtime voice. The line is moving fast; ai@7.0.14 already added streaming transcription on July 2, 2026.
If you're choosing a TypeScript agent stack today, the tradeoff against Mastra and LangGraph.js just shifted: the AI SDK now carries durability and approvals itself. That's the thing to weigh — not the new class names, but the fact that the runtime you'd have assembled now ships assembled. Whether that's leverage or lock-in depends on how much of your orchestration you wanted to own.



