[Bug] using Vertex AI with Claude fails
VSCode Version: 1.99.30031
Void Version: 1.3.7
Commit: 4b86bfa184b176c26649d77fbbe30026de0c3e81
Date: 2025-05-13T03:21:18.587Z
Electron: 34.3.2
ElectronBuildId: undefined
Chromium: 132.0.6834.210
Node.js: 20.18.3
V8: 13.2.152.41-electron.0
OS: Darwin arm64 24.4.0
The current Vertex AI implementation focuses on OpenAI as its interface to the models. https://cloud.google.com/vertex-ai/generative-ai/docs/migrate/openai/overview
However, this implementation notably does not support Claude.
In order to support Claude, the implementation would need to integrate with this interface instead: https://cloud.google.com/vertex-ai/generative-ai/docs/partner-models/use-claude#use_a_curl_command
indeed..great catch, and thanks for flagging it!
zooming out, this is a pattern we’re going to see more and more: new models get surfaced first as “partner” endpoints in vertex, bedrock, cerebras, groq, etc., each possibly with its own slightly-different URL and JSON contract. the current void connector assumes the generic openai-style path, so anything that diverges (like Claude on Vertex) is impacted.
one possible option is a small refactor so each provider can register multiple “routes” (openai-compat, partner, native, …). that should make adding Claude-via-Vertex, or any future partner model..much lighter. until then, the native anthropic or openrouter are probably the easiest work-arounds.
Thanks @vrtnis , actually since we need our model to be FedRAMP certified (since we work within the space industry), we'll have to rely on Claude being within VertexAI since Anthropic does not have a FedRAMP certification for its own cloud offering.
Interesting..appreciate the FedRAMP context. I'll look into resolving this week through a PR. Feel free to ping me on the void discord.
It appears that https://github.com/voideditor/void/pull/694 helps address this?
yep, zpg6's #694 lays the groundwork to support this! the new ModelProvider system abstracts provider setup into a clean, modular interface, so adding claude (via vertex- (which uses the partner-style endpoint) no longer requires bending everything to fit the openai-compatible path. it’s not wired up yet, but with #694 merged (still WIP and under review.. so definitely open to feedback), adding it as a standalone provider is now pretty straightforward and isolated.