Description
After upgrading to OpenClaw 2026.4.11, anthropic-vertex/claude-opus-4-6 and anthropic-vertex/claude-sonnet-4-6 show as missing in openclaw models list and all requests fall back to the next available provider.
Steps to Reproduce
- Configure anthropic-vertex as primary model with GCP Application Default Credentials (
gcloud auth application-default login)
- Upgrade to OpenClaw 2026.4.11
- Run
openclaw models list
Expected
anthropic-vertex/claude-opus-4-6 text+image 1M no yes default,configured
Actual
anthropic-vertex/claude-opus-4-6 - - - - default,configured,missing
Root Cause
Three issues combine to break anthropic-vertex model discovery:
-
Provider discovery .ts → .js resolution: openclaw.plugin.json references providerDiscoveryEntry: "./provider-discovery.ts", but dist builds only emit .js files. The jiti source loader fails silently (catch { return []; }), causing the entire provider discovery to return empty results.
-
ADC detection fails with config-derived env: resolveAnthropicVertexAdcCredentialsPathCandidate has an env !== process.env identity check that skips the default ADC file path when env is not the exact process.env reference. The config runtime creates a spread copy ({ ...process.env, ...configEnvVars }), so this check always fails, causing catalog.run() to return null.
-
Missing resolveSyntheticAuth hook: The anthropic-vertex plugin and discovery entry lack resolveSyntheticAuth, so credential discovery (resolvePiCredentialsForDiscovery) never recognizes gcp-vertex-credentials as valid auth, and hasConfiguredAuth returns false.
Environment
- OpenClaw 2026.4.11
- GCP ADC via
~/.config/gcloud/application_default_credentials.json
- Vertex AI project configured via
GOOGLE_CLOUD_PROJECT + GOOGLE_CLOUD_LOCATION
Description
After upgrading to OpenClaw 2026.4.11,
anthropic-vertex/claude-opus-4-6andanthropic-vertex/claude-sonnet-4-6show asmissinginopenclaw models listand all requests fall back to the next available provider.Steps to Reproduce
gcloud auth application-default login)openclaw models listExpected
Actual
Root Cause
Three issues combine to break anthropic-vertex model discovery:
Provider discovery
.ts→.jsresolution:openclaw.plugin.jsonreferencesproviderDiscoveryEntry: "./provider-discovery.ts", but dist builds only emit.jsfiles. The jiti source loader fails silently (catch { return []; }), causing the entire provider discovery to return empty results.ADC detection fails with config-derived env:
resolveAnthropicVertexAdcCredentialsPathCandidatehas anenv !== process.envidentity check that skips the default ADC file path when env is not the exactprocess.envreference. The config runtime creates a spread copy ({ ...process.env, ...configEnvVars }), so this check always fails, causingcatalog.run()to return null.Missing
resolveSyntheticAuthhook: The anthropic-vertex plugin and discovery entry lackresolveSyntheticAuth, so credential discovery (resolvePiCredentialsForDiscovery) never recognizesgcp-vertex-credentialsas valid auth, andhasConfiguredAuthreturns false.Environment
~/.config/gcloud/application_default_credentials.jsonGOOGLE_CLOUD_PROJECT+GOOGLE_CLOUD_LOCATION