Google Vertex AI is Google Cloud's managed machine-learning platform, and it is the sanctioned route to Claude for GCP-committed enterprises. The official Python SDK — the same anthropic package used for the first-party API — ships a dedicated client class, AnthropicVertex, so moving an application onto Vertex is a constructor swap, not a rewrite. Here is what each parameter means and how credentials actually flow.
Install and construct
# pip install -U "anthropic[vertex]"
from anthropic import AnthropicVertex
client = AnthropicVertex(project_id="my-gcp-project", region="global")
message = client.messages.create(
model="claude-sonnet-5",
max_tokens=1024,
messages=[{"role": "user", "content": "Hello, Claude"}],
)
The [vertex] extra pulls in the Google auth dependencies the client needs. Two constructor parameters do the platform work:
project_id is your Google Cloud project — the boundary that determines whose quota is consumed, whose bill the tokens land on, and which IAM policies govern access. Point it at the project where Claude has been enabled in the Model Garden and where your cost reporting expects the spend to appear.
region selects the endpoint. "global" routes requests to Google's global endpoint; specific regions pin traffic to a location. Choose deliberately: on Google Cloud, regional and multi-region endpoints carry a 10% price premium over the global endpoint for Claude Sonnet 4.5, Haiku 4.5, Opus 4.5, and all later models. If you do not have a residency or latency reason to pin a region, global is the economical default; see global vs regional endpoints for the trade-offs.
How ADC credentials flow through the SDK
Notice what is missing from the constructor: any credential. AnthropicVertex authenticates with Application Default Credentials (ADC) — Google Cloud's standard mechanism by which a client library discovers credentials from its environment instead of being handed them in code. On a developer laptop, ADC typically resolves to the developer's own authenticated Google identity; on Cloud Run, GKE, or Compute Engine, it resolves to the service account attached to the workload. The SDK asks the Google auth libraries for credentials, they answer from wherever the code is running, and the request is authorized against IAM.
The enterprise consequence is significant: there is no Claude API key to issue, leak, or rotate. Access to Claude is a Google Cloud IAM decision, enforced and audited with the same tooling as every other GCP service. Grant the calling service account the appropriate Vertex AI permissions, and the SDK does the rest. The mechanics of setting up ADC for developers and services are covered in the ADC deep dive and service-account authentication.
Model IDs on Vertex
Google Cloud uses bare model IDs, the same as the first-party API: claude-sonnet-5, claude-opus-4-8, claude-fable-5. The exception is older models, which use an @date suffix — Claude Haiku 4.5 is claude-haiku-4-5@20251001. No anthropic. prefix (that is Bedrock's convention). The full cross-platform naming story is in why model IDs differ across platforms.
What stays identical — and what does not
The client.messages.create(...) call keeps the same shape and returns the same structured response as Anthropic(), and the core capabilities are all present: streaming, tool use, vision, extended and adaptive thinking, and prompt caching (5-minute and 1-hour).
Across languages
AnthropicVertex is the Python story. The official TypeScript, Java, Go, Ruby, C#, and PHP SDK READMEs do not document Vertex client classes — for those languages, see the Node path and the Java path, or check current official documentation. The concepts — project, region, ADC, bare model IDs — are language-independent.
Where to go next
Walk through your first Claude call on Vertex AI including Model Garden enablement, then review the feature matrix before you commit workloads.