
TL;DR
Vercel's Chat SDK can now suspend a Workflow SDK run until someone clicks Approve in a chat thread. One requestApproval call replaces the approvals table, the onAction handler, and the polling loop - with verified decisions, scoped approvers, and a wait that survives deploys.
On August 6, Vercel announced that its Chat SDK can now pause a workflow until a human approves it. A single requestApproval call from the new chat/workflow subpath posts an Approve/Deny card into a chat thread and suspends a Workflow SDK run until someone decides. The wait can be seconds or days, and it survives deploys and restarts. No approvals table, no onAction handler, no polling loop.
The changelog example is a deploy gate:
import { requestApproval } from "chat/workflow";
import type { Thread } from "chat";
export async function deployApproval(opts: { thread: Thread; version: string }) {
"use workflow";
const { approved, user, timedOut } = await requestApproval(opts.thread, {
title: `Deploy Website?`,
fields: { Version: opts.version },
timeout: "24h",
});
if (approved) {
await deploy(opts.version);
}
}
The approval surface is a small API with sharp edges, documented in the approvals guide:
requestApproval suspends the workflow until a click or a timeout. Thread instances serialize across the workflow boundary, and you register your Chat instance as a singleton so the run revives cleanly after a restart.{ approved, timedOut, user }, where user is the person who decided. A timeout is a first-class outcome, not an error you recover from by squinting at logs.user.id on the result is genuinely the person who clicked - important for anything that ends up in an audit trail.approvers with user IDs and clicks from anyone else post a notice while the workflow keeps waiting. The docs say it plainly: set approvers for anything consequential.buildApprovalCard and buildResolvedCard are exported for flows where the buttons should target a webhook you manage yourself.Options are minimal on purpose: title (required), subtitle, description, fields, approveLabel/denyLabel, timeout in ms/s/m/h/d, and approvers. Omit the timeout and the workflow waits indefinitely.
From the archive
Aug 5, 2026 • 7 min read
Aug 5, 2026 • 7 min read
Aug 5, 2026 • 8 min read
Aug 5, 2026 • 6 min read
Durable approvals are the missing primitive in agent deployments. For the past year, teams building agents that do irreversible things - deploys, releases, refunds, credential rotation - have hand-rolled the same three pieces: a place to store pending approvals, an event handler that resumes the run, and a poller that checks whether anything happened. That stack is where agents silently die: the process restarts, the in-memory state is gone, and the "human check" never happens.
This design moves the human into the workflow graph instead of bolting them on next to it. The suspend is a language feature of the Workflow SDK - the same durability model as our AI SDK 7 writeup covered in June, where approval support landed in the SDK proper. What is new here is the chat surface: the approval lives where the operator already is, and the platform signature guarantees who clicked. For Slack or Discord-based ops, that collapses a whole custom approvals service into one function call.
The approvers option is the quietly important part. Most approval UIs let everyone vote; this one lets you enumerate exactly who can decide, which is the difference between a rubber stamp and a control. Combined with verified clicks and the in-place outcome line, you get a decision record you could actually defend later - no custom logging required.
This is Vercel's agent platform assembling itself in public. The v0 API makes app-building agents callable by software; AI Gateway budgets cap what those agents spend; MCP tooling shapes how those agents reach tools. Durable approvals are the gate between the agent and the action - the moment a human explicitly says "yes" instead of the agent guessing.
It also speaks to the approval-fatigue problem we covered in Approval Fatigue Is an Agent Security Bug: the failure mode of bad approval UIs is that they fire constantly and train people to click through. A durable gate is only as good as its placement. If every step of a five-step workflow requires a chat click, this reintroduces fatigue with extra steps. The right shape is what that post argued for - risk-aware autonomy with approvals reserved for irreversible actions - and requestApproval slots into that exactly: a scoped, signed, time-boxed decision on a narrow action.
One honest caveat: this is chat-platform-shaped. The card, the signature check, and the click handling all belong to the platform integration, so the durability guarantees are strongest where Chat SDK integrations exist. And registerSingleton plus the Workflow SDK peer dependency means this is a deliberate architecture choice, not a drop-in snippet. But for teams already on that stack, it is the approval layer that was previously three systems, now one call.
Read next
AI SDK 7 turns Vercel's TypeScript AI layer into a more serious agent runtime: typed tool context, WorkflowAgent durability, approvals, telemetry, realtime voice, and a cleaner migration path from AI SDK 6.
9 min readThe v0 API is now generally available: programmatic, headless access to v0's app-building agent. Send a prompt, get a running app with a live preview URL you can embed, then deploy to Vercel in one call. Here is what changed, how the sync/async/streaming model works, and how it fits in an agent loop.
6 min readVercel MCP now serves both the stateless 2026-07-28 protocol and the 2025 protocol from one endpoint, with mcp-handler 2.x handling the negotiation. The first major hosted MCP server has crossed over - here is what it means for server authors and clients.
7 min readTechnical content at the intersection of AI and development. Building with AI agents, Claude Code, and modern dev tools - then showing you exactly how it works.
Most popular LLM framework. 100K+ GitHub stars. Chains, RAG, vector stores, tool use. LangGraph adds stateful multi-agen...
View ToolOpen-source cloud sandboxes for AI agents. Isolated environments that start in under 200ms, run code in Python, JavaScri...
View ToolOpenAI's coding agent for terminal, cloud, IDE, GitHub, Slack, and Linear workflows. Reads repos, edits files, runs comm...
View ToolVercel's generative UI tool. Describe a component, get production-ready React code with shadcn/ui and Tailwind. Iterate...
View ToolSpec out AI agents, run them overnight, wake up to a verified GitHub repo.
View AppGive your agents a filesystem that branches like git. Crash-safe by default.
View AppQueue and organize repeatable agent workflows before they become production automations.
View AppConfigure Claude Code for maximum productivity -- CLAUDE.md, sub-agents, MCP servers, and autonomous workflows.
AI AgentsAuto-memory that persists across multiple subagent invocations.
Claude CodeCoordinator agent that assigns tasks and synthesizes findings.
Claude Code
Buzz by Block: Open-Source Slack-Style Collaboration for Humans + AI Agents (Demo & Setup) Check out Arcade: https://arcade.dev.plug.dev/xiDRwlA Repo: https://github.com/block/buzz The video introd...

Check out Trae here! https://tinyurl.com/2f8rw4vm In this video, we dive into @Trae_ai a newly launched AI IDE packed with innovative features. I provide a comprehensive demonstration...

In this video, I'll introduce you to VectorShift, a powerful no-code AI automation platform, and show you how to use its functionalities for various use cases, including agents, chatbots, and...

AI SDK 7 turns Vercel's TypeScript AI layer into a more serious agent runtime: typed tool context, WorkflowAgent durabil...

The v0 API is now generally available: programmatic, headless access to v0's app-building agent. Send a prompt, get a ru...

Vercel MCP now serves both the stateless 2026-07-28 protocol and the 2025 protocol from one endpoint, with mcp-handler 2...

Manual approval prompts stop protecting users when coding agents ask too often. The better pattern is risk-aware autonom...

Anthropic's Claude containment writeup points to the next security layer for coding agents: deterministic capability led...

DeepSeek V4 Flash routed to Novita on Vercel AI Gateway is 90% off for Pro customers through August 11, dropping the eff...

New tutorials, open-source projects, and deep dives on coding agents - delivered weekly.