openclaw - ✅(Solved) Fix anthropic-vertex models missing after upgrade to 2026.4.11 [1 pull requests, 1 participants]

Official PRs (…)
ON THIS PAGE

Recommended Tools

×6

Utilities matched from this issue’s tags and category — try them while you read without losing context.

GitHub issue graph ai analysis

Paste a GitHub issue URL. We fetch that issue, discover linked issues from bodies/comments/timeline, collect linked pull requests, and produce a structured English report.

The report is written in English Markdown for sharing and archival.

Helpful · Quick feedback

Loading…
GitHub stats
openclaw/openclaw#65715Fetched 2026-04-14 05:40:40
View on GitHub
Comments
0
Participants
1
Timeline
1
Reactions
0
Author
Participants
Timeline (top)
cross-referenced ×1

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.

Root Cause

Three issues combine to break anthropic-vertex model discovery:

  1. 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.

  2. 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.

  3. 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.

Fix Action

Fix / Workaround

  1. Configure anthropic-vertex as primary model with GCP Application Default Credentials (gcloud auth application-default login)
  2. Upgrade to OpenClaw 2026.4.11
  3. Run openclaw models list

PR fix notes

PR #65716: fix(anthropic-vertex): resolve model discovery and auth for GCP ADC

Description (problem / solution / changelog)

Fixes #65715

Regression introduced in f0ea5bf393 ("plugins: add lightweight anthropic vertex discovery"), which added a provider discovery fast-path for anthropic-vertex. Three issues in that change prevented models from being discovered and authenticated when using GCP Application Default Credentials:

  1. .ts.js fallback in manifest-registry: The plugin manifest references providerDiscoveryEntry: "./provider-discovery.ts", but dist builds only emit .js. The jiti source loader fails to find the .ts file, and the catch { return []; } swallows the error silently — so the entire provider discovery returns empty. Add a fallback in resolvePluginSourcePath so the source loader finds the compiled file.

  2. Remove env !== process.env identity guard: resolveAnthropicVertexAdcCredentialsPathCandidate skips the default ADC file check when the env object is not the exact process.env reference. The config runtime creates a spread copy ({ ...process.env, ...configEnvVars }), so this identity check always fails, causing catalog.run() to return null even when ADC credentials exist on disk. Remove the guard.

  3. Add resolveSyntheticAuth hook: The discovery entry and plugin registration lack resolveSyntheticAuth, so credential discovery (resolvePiCredentialsForDiscovery) never recognizes gcp-vertex-credentials as valid auth. Add the hook to both the discovery entry and the plugin index.

Also adds augmentModelCatalog to the plugin registration and isSyntheticCredentialMarker to model-auth-markers so resolveUsableCustomProviderApiKey treats synthetic credential markers as usable.

Testing

  • All existing anthropic-vertex tests pass (12 tests across 4 files)
  • Added 2 new tests for resolveSyntheticAuth (ADC present / absent)
  • Verified locally: openclaw models list shows text+image, 1M ctx, Auth: yes for anthropic-vertex models after the fix

Changed files

  • extensions/anthropic-vertex/index.test.ts (modified, +52/-1)
  • extensions/anthropic-vertex/index.ts (modified, +18/-0)
  • extensions/anthropic-vertex/provider-discovery.ts (modified, +15/-3)
  • extensions/anthropic-vertex/region.ts (modified, +0/-3)
  • src/plugins/manifest-registry.ts (modified, +21/-1)

Code Example

anthropic-vertex/claude-opus-4-6    text+image 1M   no  yes  default,configured

---

anthropic-vertex/claude-opus-4-6    -          -    -   -    default,configured,missing
RAW_BUFFERClick to expand / collapse

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

  1. Configure anthropic-vertex as primary model with GCP Application Default Credentials (gcloud auth application-default login)
  2. Upgrade to OpenClaw 2026.4.11
  3. 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:

  1. 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.

  2. 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.

  3. 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

extent analysis

TL;DR

Update the openclaw.plugin.json to reference the .js file instead of .ts for providerDiscoveryEntry to fix the provider discovery issue.

Guidance

  • Verify that the providerDiscoveryEntry in openclaw.plugin.json is updated to point to the correct .js file, as the dist builds only emit .js files.
  • Check the resolveAnthropicVertexAdcCredentialsPathCandidate function to ensure it correctly handles the config-derived env, potentially by removing the env !== process.env identity check.
  • Implement the resolveSyntheticAuth hook in the anthropic-vertex plugin and discovery entry to enable credential discovery for gcp-vertex-credentials.
  • Review the GCP ADC configuration and Vertex AI project setup to ensure they are correctly configured via GOOGLE_CLOUD_PROJECT and GOOGLE_CLOUD_LOCATION.

Example

No code snippet is provided as the issue is more related to configuration and setup.

Notes

The provided information suggests that there are three separate issues contributing to the problem. Addressing each of these issues may require updates to the openclaw.plugin.json file, modifications to the resolveAnthropicVertexAdcCredentialsPathCandidate function, and implementation of the resolveSyntheticAuth hook.

Recommendation

Apply the workaround by updating the openclaw.plugin.json file and implementing the necessary changes to the resolveAnthropicVertexAdcCredentialsPathCandidate function and the resolveSyntheticAuth hook, as a fixed version is not mentioned in the issue.

Vote matrix · Quick signals

Works
Did the solution work? Tap to confirm.
Easy Fix
Was it a quick fix?
Time Saver
Did it save you time?
Blocking
Was it severely blocking?
Common Issue
Are others likely hitting this too?
Flaky / Intermittent
Is it intermittent?
Verified / Reproducible
Can you reproduce it reliably?
Loading…

Still need to ship something?

×6

Another batch ranked right after the header list — different links, same matching logic.

Back to top recommendations

TRENDING