Announcing Genkit Dart 1.0: Build production-ready agentic apps with Dart and Flutter
Announcing the stable 1.0 release of Genkit Dart, an open-source framework for building production-ready agentic apps and AI features in Dart.

Dart and Flutter let you build high-quality apps for mobile, web, and desktop from a single codebase. With Genkit Dart, you can bring that same productivity to full-stack, agentic apps.
Today, we're announcing Genkit Dart 1.0, the first stable, production-ready release of Google's open-source framework for building AI-powered features and agents in Dart. Since our preview launch earlier this year, feedback from the Dart and Flutter community has helped us refine the core APIs and expand the toolkit for production workloads.
We've published the full walkthrough and code deep dives on the Flutter blog.
To get started right away, add genkit to your Dart or Flutter project:
dart pub add genkit
You can also install the agent skill to give AI coding assistants like Antigravity, Claude Code, and Codex up-to-date knowledge of Genkit Dart APIs:
npx skills add genkit-ai/skills
Highlights in Genkit Dart 1.0
#Genkit Dart 1.0 brings a unified model interface, end-to-end type safety, and agentic primitives to any Dart environment, whether you're building backend services, CLI tools, or full-stack Flutter apps:
- One API across model providers: Swap between Google Gemini, Anthropic Claude, OpenAI, and OpenAI-compatible models without rewriting your application logic.
-
End-to-end type safety with
schemantic: Define your data schemas once in Dart usingschemanticto generate structured model output, wrap AI logic in observable flows, and share types between your Dart server and client. -
Flexible deployment across client and server: Run flows on a Dart server
with
GenkitRouter, invoke them from a client usingdefineRemoteAction, or keep your AI logic on the client while routing model requests through a secure backend withdefineRemoteModel. -
Human-in-the-loop tool interrupts: Pause tool execution inside
defineToolby returning.interrupt(...)when an action requires user confirmation, and then resume generation from where it left off. -
Composable generation middleware: Attach prepackaged middleware from
genkit_middleware(including automatic retries, dynamicSKILL.mdloading, and tool approval rules) or write custom middleware withdefineGenerateMiddleware. -
Prompt management with Dotprompt: Keep prompt templates, model
configuration, and schemas together in
.promptfiles with Dotprompt. -
Local Developer UI and OpenTelemetry: Test flows and inspect execution
traces locally with
genkit start, and export production traces and metrics withgenkit_otel. -
Experimental stateful agents and A2UI: Try out multi-turn persistent
agents (
defineAgentandremoteAgentinpackage:genkit/experimental.dart) and stream interactive native UI surfaces withgenkit_a2ui.
@Schema()
abstract class $TripRequest {
String get destination;
int get days;
}
// ...plus an Itinerary schema for the result.
final ai = Genkit(plugins: [googleAI()]);
final planTrip = ai.defineFlow(
name: 'planTrip',
inputSchema: TripRequest.$schema,
outputSchema: Itinerary.$schema,
fn: (request, _) async {
final response = await ai.generate(
model: googleAI.gemini('gemini-flash-latest'),
prompt: 'Plan a ${request.days}-day trip to ${request.destination}.',
outputSchema: Itinerary.$schema,
);
return response.output!;
},
);
await (GenkitRouter()..addAction(planTrip)).serve(port: 8080); // POST /planTrip
Read the full announcement
#For complete code examples covering multi-model generation, remote actions and models, tool interrupts, middleware, Dotprompt, OpenTelemetry, stateful agents, and generative UI with A2UI, read the full Genkit Dart 1.0 announcement on the Flutter blog.
-
Get started: Follow the
quickstart guide and check out
genkiton pub.dev. - Explore samples: Browse the sample apps on GitHub.
-
Join the community: Chat with the team on
Discord and open issues in the
genkit-dartGitHub repository.
More from Dart
Skills CLI 1.0: Bundle and distribute AI agent skills for your packages
Ship official AI agent skills directly with your packages to improve discoverability.
The Flutter missing link: Why full-stack Dart changes everything
With Cloud Functions for Firebase support for Dart, we can treat the entire stack as a single, unified application.