Skip to content

fix(google): make urlMetadata optional in urlContextMetadata schema#12701

Merged
dancer merged 3 commits intovercel:mainfrom
sleitor:fix/google-url-context-empty
Mar 4, 2026
Merged

fix(google): make urlMetadata optional in urlContextMetadata schema#12701
dancer merged 3 commits intovercel:mainfrom
sleitor:fix/google-url-context-empty

Conversation

@sleitor
Copy link
Copy Markdown
Contributor

@sleitor sleitor commented Feb 19, 2026

Summary

The Gemini API can return urlContextMetadata: {} (empty object without urlMetadata key) when Google Search grounding is used but no URLs were fetched via the URL context tool. The Zod schema expected urlMetadata to always be an array, causing an AI_APICallError on an otherwise valid 200 response.

Changes

  • google-generative-ai-language-model.ts: Make urlMetadata field .nullish() in the getUrlContextMetadataSchema() schema.
  • Tests: Added test case for empty object without urlMetadata key.

All urlContextMetadata-related tests pass.

Fixes #12698

The Gemini API can return `urlContextMetadata: {}` (empty object
without urlMetadata key) when Google Search grounding is used but
no URLs were fetched via the URL context tool. The Zod schema
expected urlMetadata to always be an array, causing a validation
error on an otherwise valid 200 response.

Fixes vercel#12698
@tigent tigent bot added ai/provider related to a provider package. Must be assigned together with at least one `provider/*` label bug Something isn't working as documented provider/google Issues related to the @ai-sdk/google provider reproduction provided labels Feb 19, 2026
@dancer dancer self-requested a review March 4, 2026 23:01
@dancer dancer enabled auto-merge (squash) March 4, 2026 23:05
@dancer
Copy link
Copy Markdown
Collaborator

dancer commented Mar 4, 2026

ty @sleitor

@dancer dancer merged commit 89d8b45 into vercel:main Mar 4, 2026
19 checks passed
@vercel-ai-sdk
Copy link
Copy Markdown
Contributor

vercel-ai-sdk bot commented Mar 4, 2026

🚀 Published in:

Package Version
@ai-sdk/google 3.0.40
@ai-sdk/google-vertex 4.0.77

@sleitor sleitor deleted the fix/google-url-context-empty branch March 5, 2026 01:10
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

ai/provider related to a provider package. Must be assigned together with at least one `provider/*` label bug Something isn't working as documented provider/google Issues related to the @ai-sdk/google provider reproduction provided

Projects

None yet

Development

Successfully merging this pull request may close these issues.

@ai-sdk/google: AI_APICallError when urlContextMetadata is empty object {} (Gemini grounding response)

2 participants