diff --git a/packages/ai/src/env-api-keys.ts b/packages/ai/src/env-api-keys.ts index fe759320..bff9f360 100644 --- a/packages/ai/src/env-api-keys.ts +++ b/packages/ai/src/env-api-keys.ts @@ -22,9 +22,15 @@ let cachedVertexAdcCredentialsExists: boolean | null = null; function hasVertexAdcCredentials(): boolean { if (cachedVertexAdcCredentialsExists === null) { - // In browser or if node modules not loaded yet, return false + // If node modules haven't loaded yet (async import race at startup), + // return false WITHOUT caching so the next call retries once they're ready. + // Only cache false permanently in a browser environment where fs is never available. if (!_existsSync || !_homedir || !_join) { - cachedVertexAdcCredentialsExists = false; + const isNode = typeof process !== "undefined" && (process.versions?.node || process.versions?.bun); + if (!isNode) { + // Definitively in a browser — safe to cache false permanently + cachedVertexAdcCredentialsExists = false; + } return false; }