-
-
Notifications
You must be signed in to change notification settings - Fork 80.7k
Bug: google-vertex provider merged into google transport path in 2026.3.28 (regression) #58775
Copy link
Copy link
Open
BingqingLyu/openclaw
#1966Labels
P2Normal backlog priority with limited blast radius.Normal backlog priority with limited blast radius.clawsweeper:linked-pr-openClawSweeper found an open linked pull request for this issue.ClawSweeper found an open linked pull request for this issue.clawsweeper:needs-product-decisionClawSweeper marked this issue as needing a product or behavior decision.ClawSweeper marked this issue as needing a product or behavior decision.clawsweeper:no-new-fix-prClawSweeper does not recommend queueing a new automated fix PR for this issue.ClawSweeper does not recommend queueing a new automated fix PR for this issue.impact:auth-providerAuth, provider routing, model choice, or SecretRef resolution may break.Auth, provider routing, model choice, or SecretRef resolution may break.issue-rating: 🦪 silver shellfishThin issue quality; more reproduction proof or environment detail is needed.Thin issue quality; more reproduction proof or environment detail is needed.staleMarked as stale due to inactivityMarked as stale due to inactivity
Description
Metadata
Metadata
Assignees
Labels
P2Normal backlog priority with limited blast radius.Normal backlog priority with limited blast radius.clawsweeper:linked-pr-openClawSweeper found an open linked pull request for this issue.ClawSweeper found an open linked pull request for this issue.clawsweeper:needs-product-decisionClawSweeper marked this issue as needing a product or behavior decision.ClawSweeper marked this issue as needing a product or behavior decision.clawsweeper:no-new-fix-prClawSweeper does not recommend queueing a new automated fix PR for this issue.ClawSweeper does not recommend queueing a new automated fix PR for this issue.impact:auth-providerAuth, provider routing, model choice, or SecretRef resolution may break.Auth, provider routing, model choice, or SecretRef resolution may break.issue-rating: 🦪 silver shellfishThin issue quality; more reproduction proof or environment detail is needed.Thin issue quality; more reproduction proof or environment detail is needed.staleMarked as stale due to inactivityMarked as stale due to inactivity
Type
Fields
Priority
None yet
Bug Summary
In OpenClaw 2026.3.28, the
google-vertexprovider is incorrectly treated as a Google AI alias byshouldNormalizeGoogleGenerativeAiProviderConfig. This causes Vertex AI requests to use the wrong URL format and auth method, breaking the entiregoogle-vertexprovider.Root Cause
The changelog states:
The intent was to unify model ID resolution (e.g.,
gemini-3.1-pro→gemini-3.1-pro-preview) across all Google aliases. However,shouldNormalizeGoogleGenerativeAiProviderConfigincludedgoogle-vertexin its normalization, which merged not just model ID resolution but also the transport path and auth method — this is an over-merge.Evidence This Is a Bug (Not Intentional)
google-vertexstill exists as a separate provider — if the intent was to merge it, there would be no reason to keep the provider name. Its only purpose is different billing/auth fromgoogle(AI Studio).anthropic-vertexwas NOT merged — in the same version,anthropic-vertexretains independent transport, auth, and stream implementations (anthropic-vertex-CRO19LKV.js,anthropic-vertex-stream.ts). This confirms Vertex AI paths were not intentionally deprecated.SDK still supports Vertex AI —
@google/genaiv1.47.0 fully preservesvertexai: true,project,location, and service account auth. No SDK-side change justifies this.Environment variables still referenced —
GOOGLE_CLOUD_PROJECT,GOOGLE_CLOUD_LOCATION,GOOGLE_APPLICATION_CREDENTIALSare still read in the code, confirming Vertex AI support was not intentionally removed.Impact
/projects/.../locations/.../publishers/google/models/...) to Google AI style (/models/...)google-vertexwith ADC) replaced byGEMINI_API_KEY, making Google Cloud billing credits unusablegoogle-vertex/*model assignment silently routes to the wrong endpoint and failsExpected Behavior
google-vertexshould use Vertex AI transport/auth (service account ADC, Vertex AI URL format) while still benefiting from unified model ID resolution.Workaround
Currently setting
models.providers.google-vertex.api = "google-generative-ai"in config forces the correct adapter, but this loses the Vertex AI-specific URL/auth benefits and is a hack rather than a fix.Environment
google-vertexwith service account ADCgoogle-vertex/gemini-3.1-pro-previewand allgoogle-vertex/*models