SDKs & Developer Experience

Switching to AnthropicVertex: Client Setup and Configuration

On Google Cloud, Claude authentication disappears into the platform: no API key, no new secret — just your project, a region, and Application Default Credentials.

Claude 3P 101 · Updated July 2026 · Unofficial guide

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

Know the gaps: Anthropic's Message Batches API and Files API are not available on Vertex AI, code execution and web fetch are absent, and web search is limited to the basic variant. Vertex does offer its own cloud-native batch inference for Claude (BigQuery/GCS-based, at 50% batch pricing) — a different mechanism from Anthropic's Batches API, so "no batch on Vertex" would be wrong. Details in the feature gaps article and workarounds in the Vertex batch workaround.

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.

Sources