Genkit Agents API: Build Full-Stack AI Agents in TypeScript Google shipped the Genkit Agents API on July 1 in preview for TypeScript and Go, offering a single chat() interface for building full-stack AI agents that integrate into existing backends rather than replacing them. The API supports detached turns for long-running tasks, interruptible tools requiring human approval with anti-forgery validation, and two state management models with built-in Firestore, in-memory, and file-based stores. Google shipped the Genkit Agents API on July 1 — in preview for TypeScript and Go — and it makes a bet most agent frameworks are too timid to make: agents belong inside your app, not on top of it. Most frameworks want to become your backend. Genkit wants to be a feature you add to the backend you already have. One chat interface, detached long-running turns, tools that stop and ask a human before proceeding, and state persistence that adapts to your architecture — whether you run on Firebase, Cloud Run, or anything that handles HTTP. If you’ve been stuffing polling loops, job queues, and WebSocket boilerplate into your AI integration, this is worth checking out. One Interface for Every Agent Pattern The design center of the Genkit Agents API is a single chat object that handles every interaction pattern: one-shot replies, streamed multi-turn conversations, tool calls waiting on human approval, and long-running detached tasks. Same interface in development and production. Same interface whether the agent runs in-process or behind an HTTP endpoint. Connecting a frontend to a remote Genkit agent looks like this: js import { remoteAgent } from 'genkit/beta/client'; const agent = remoteAgent