CherryHQ/cherry-studio · error · Error
Vertex AI model listing failed: ${reason}
Error message
Vertex AI model listing failed: ${reason} What it means
Error "Vertex AI model listing failed: ${reason}" thrown in CherryHQ/cherry-studio.
Source
Thrown at src/main/ai/provider/listModels/vertex.ts:66
/^gemini[\w.@-]*$/i,
/^learnlm[\w.@-]*$/i,
/^gemma[\w.@-]*$/i,
/^(?:text(?:-multilingual)?-embedding|gemini-embedding|multimodalembedding|textembedding-gecko(?:-multilingual)?|embedding-gecko(?:-multilingual)?)[\w.@-]*$/i,
/^deepseek[\w.@-]*$/i,
/^kimi[\w.@-]*$/i,
/^glm[\w.@-]*$/i,
/^gpt[\w.@-]*$/i,
/^llama[\w.@-]*$/i,
/^qwen[\w.@-]*$/i
] as const
export async function createVertexModelListRequest(
provider: Provider,
options?: { throwOnError?: boolean }
): Promise<VertexModelListRequest | undefined> {
const failOrSkip = (reason: string, context: Record<string, unknown>): undefined => {
if (options?.throwOnError) {
throw new Error(`Vertex AI model listing failed: ${reason}`)
}
logger.warn(`Vertex AI model listing skipped — ${reason}`, context)
return undefined
}
const authConfig = providerService.getAuthConfig(provider.id)
if (authConfig?.type !== 'iam-gcp') {
return failOrSkip('provider is not configured with iam-gcp auth', {
providerId: provider.id,
authType: authConfig?.type
})
}
const { project, location, credentials } = authConfig
const { privateKey, clientEmail } = normalizeVertexCredentials(credentials)
const missing: string[] = []
if (!project) missing.push('project')View on GitHub (pinned to 726446b54c)
Solutions
- Read the reason included in the message to identify the specific Vertex AI listing failure.
- Verify credentials, project id, and location configuration for the Vertex AI provider.
- Check that the Vertex AI API is enabled and the account has model listing permissions, then retry.
Example fix
Correct the provider config: set the proper projectId and location, and re-run the model list refresh.
When it happens
Trigger: createVertexModelListRequest cannot build a valid model-list request for a Vertex provider and options.throwOnError is set — e.g. the provider is not configured with iam-gcp auth.
Common situations: Raised when the Vertex provider lacks iam-gcp auth configuration or another prerequisite for building the listing request. Without throwOnError the same condition is logged and the listing is skipped instead.
AI-assisted analysis of CherryHQ/cherry-studio@726446b54c (2026-08-12).
Data as JSON: /api/errors/0bf802100a0806cc.
Report an issue: GitHub.