@kubb/plugin-zod
@kubb/plugin-zod turns your OpenAPI schemas into Zod v4 schemas. Use them to validate API responses at runtime, build form schemas, or feed router libraries that take Zod (tRPC, Hono, Elysia).
Pair it with a client plugin (@kubb/plugin-axios or @kubb/plugin-fetch) and set the client's validator: 'zod' to validate every response.
Installation
shell
bun add -d @kubb/plugin-zod@betashell
pnpm add -D @kubb/plugin-zod@betashell
npm install --save-dev @kubb/plugin-zod@betashell
yarn add -D @kubb/plugin-zod@betaDependencies
@kubb/plugin-zod pairs with @kubb/plugin-ts. Add pluginTs to the plugins list when typed: true, since the generated schemas reference the TypeScript types it produces. Without typed, the schemas stand alone, and inferred: true exports their z.infer types so you do not need pluginTs at all.
Example
typescript
import { } from 'kubb'
import { } from '@kubb/plugin-ts'
import { } from '@kubb/plugin-zod'
export default ({
: { : './petStore.yaml' },
: { : './src/gen' },
: [
(),
({
: { : './zod' },
: { : 'tag', : ({ }) => `${}Schemas` },
: true,
: 'zod',
}),
],
})