-
-
Notifications
You must be signed in to change notification settings - Fork 79.1k
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-live-reproClawSweeper needs live local, crabbox, or manual validation to confirm this issue.ClawSweeper needs live local, crabbox, or manual validation to confirm this issue.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: 🐚 platinum hermitGood issue quality with a plausible reproduction path needing some confirmation.Good issue quality with a plausible reproduction path needing some confirmation.
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-live-reproClawSweeper needs live local, crabbox, or manual validation to confirm this issue.ClawSweeper needs live local, crabbox, or manual validation to confirm this issue.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: 🐚 platinum hermitGood issue quality with a plausible reproduction path needing some confirmation.Good issue quality with a plausible reproduction path needing some confirmation.
Type
Fields
Give feedbackNo fields configured for issues without a type.
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