@ai-sdk/provider breaking changes
Every breaking API change we have recorded in @ai-sdk/provider on npm: 22 breaking changes in 2 versions. Below are its newest 2 versions, removals and renames first, each with its source.
Newest change June 25, 2026

On this page
4.0.0
- Removed
Experimental_VideoModelV3CallOptions.frameImages
Experimental_VideoModelV3CallOptions.frameImages was removed in @ai-sdk/provider 4.0.0 npmjs.com - Removed
Experimental_VideoModelV3CallOptions.inputReferences
Experimental_VideoModelV3CallOptions.inputReferences was removed in @ai-sdk/provider 4.0.0 npmjs.com - Removed
Experimental_VideoModelV3FrameImage
Experimental_VideoModelV3FrameImage was removed in @ai-sdk/provider 4.0.0 npmjs.com - Removed
Experimental_VideoModelV3FrameType
Experimental_VideoModelV3FrameType was removed in @ai-sdk/provider 4.0.0 npmjs.com - Removed
LanguageModelV3FilePart.originalUrl
LanguageModelV3FilePart.originalUrl was removed in @ai-sdk/provider 4.0.0 npmjs.com - Signature changed
Experimental_VideoModelV3CallOptions
Was type VideoModelV3CallOptions = {prompt: string | undefined; n: number; aspectRatio: `${number}:${number}` | 'adaptive' | undefined; /** * Resolution of the video to generate. * Format: `{width}x{height}` (e.g., '1280x720', '1920x1080')... npmjs.com - Signature changed
Experimental_VideoModelV3CallOptions.aspectRatio
Was aspectRatio: `${number}:${number}` | 'adaptive' | undefined; now aspectRatio: `${number}:${number}` | undefined. npmjs.com - Signature changed
Experimental_VideoModelV3File
Was type VideoModelV3File = {type: 'file'; mediaType: string; data: string | Uint8Array; providerOptions?: SharedV3ProviderMetadata;} | {type: 'url'; url: string; mediaType?: string; providerOptions?: SharedV3ProviderMetadata;}; now type... npmjs.com - Signature changed
ImageModelV3
Was type ImageModelV3 = {readonly specificationVersion: 'v3'; readonly provider: string; readonly modelId: string; readonly maxImagesPerCall: number | undefined | GetMaxImagesPerCallFunction$1; doGenerate(options: ImageModelV3CallOptions)... npmjs.com - Signature changed
ImageModelV3.doGenerate
Was doGenerate(options: ImageModelV3CallOptions): PromiseLike<{images: Array<string> | Array<Uint8Array>; isRetryable?: boolean; warnings: Array<SharedV3Warning>; providerMetadata?: ImageModelV3ProviderMetadata; response: {timestamp: Date... npmjs.com
And 2 more in this version.
3.0.0
- Removed
LanguageModelV2FilePart.originalUrl
LanguageModelV2FilePart.originalUrl was removed in @ai-sdk/provider 3.0.0 npmjs.com - Removed
LanguageModelV2ProviderDefinedTool
LanguageModelV2ProviderDefinedTool was removed in @ai-sdk/provider 3.0.0 npmjs.com - Signature changed
ImageModelV2
Was type ImageModelV2 = {readonly specificationVersion: 'v2'; readonly provider: string; readonly modelId: string; readonly maxImagesPerCall: number | undefined | GetMaxImagesPerCallFunction; doGenerate(options: ImageModelV2CallOptions)... npmjs.com - Signature changed
ImageModelV2.doGenerate
Was doGenerate(options: ImageModelV2CallOptions): PromiseLike<{images: Array<string> | Array<Uint8Array>; isRetryable?: boolean; warnings: Array<ImageModelV2CallWarning>; providerMetadata?: ImageModelV2ProviderMetadata; response... npmjs.com - Signature changed
JSONObject
Was type JSONObject = {[key: string]: JSONValue;}; now type JSONObject = {[key: string]: JSONValue | undefined;}. npmjs.com - Signature changed
LanguageModelV2CallOptions
Was type LanguageModelV2CallOptions = {prompt: LanguageModelV2Prompt; maxOutputTokens?: number; temperature?: number; stopSequences?: string[]; topP?: number; topK?: number; presencePenalty?: number; frequencyPenalty?: number... npmjs.com - Signature changed
LanguageModelV2CallOptions.tools
Was tools?: Array<LanguageModelV2FunctionTool | LanguageModelV2ProviderDefinedTool>; now tools?: Array<LanguageModelV2FunctionTool | LanguageModelV2ProviderTool>. npmjs.com - Signature changed
LanguageModelV2CallWarning
Was type LanguageModelV2CallWarning = {type: 'unsupported-setting'; setting: Omit<keyof LanguageModelV2CallOptions, 'prompt'>; details?: string;} | {type: 'unsupported-tool'; tool: LanguageModelV2FunctionTool |... npmjs.com - Signature changed
NoSuchModelError.constructor
Was constructor({errorName, modelId, modelType, message}: {errorName?: string; modelId: string; modelType: 'languageModel' | 'textEmbeddingModel' | 'imageModel' | 'transcriptionModel' | 'speechModel'; message?: string;}); now... npmjs.com - Signature changed
NoSuchModelError.modelType
Was readonly modelType: 'languageModel' | 'textEmbeddingModel' | 'imageModel' | 'transcriptionModel' | 'speechModel'; now readonly modelType: 'languageModel' | 'embeddingModel' | 'imageModel' | 'transcriptionModel' | 'speechModel' |... npmjs.com
Check your code
These are the changes. To see which of them reach your code, scan a public repository, or have your coding agent call check_code with your manifest or lockfile over MCP. The API reads every change in every version, not only the newest. On Team and up, a fix pull request opens for the changes that reach a connected repository. Nothing merges or deploys.

Put your code on continuous management.
Scan a public repository now, or give your agent one line.
See how out of date your code is.
Tell your agent what changed since it was trained.
claude mcp add --transport http since https://api.since.dev/mcp