Teams arriving from AWS often assume the pattern transfers: Bedrock Knowledge Bases explicitly supports Claude as a generation model, so surely Vertex AI RAG Engine does too? It doesn't — at least not anywhere in Google's documentation. Understanding exactly what is and isn't documented saves you from designing an architecture that has no supported implementation.
What the supported-models list actually says
Vertex AI RAG Engine (now documented under Google's "Gemini Enterprise Agent Platform") is "a data framework for developing context-augmented large language model (LLM) applications" — Google's managed retrieval-augmented generation service, the counterpart to Bedrock Knowledge Bases. Its supported generative models page lists: Gemini models (3.5 Flash, 3.1 Pro and Flash-Lite, 3 Flash, and the 2.5 line — fine-tuned Gemini unsupported), self-deployed Model Garden endpoints for open models, and two partner-model families, Mistral and Llama 3.1/3.2.
Claude is not on the list. No mention of Anthropic anywhere on the page — and, importantly, no explicit exclusion either. The accurate phrasing for your architecture review is "Claude is not a documented RAG Engine generation model," not "Google blocks Claude." The gap extends to Google's grounding stack generally: the grounding overview documents many methods — Grounding with Google Search, Google Maps, Agent Search (Vertex AI Search), your own search API, RAG, Elasticsearch, and web grounding options — but its examples are Gemini models, and no Claude-as-grounded-generator path is documented, including inside Vertex AI Search grounded generation.
Why the server-side grounding tools don't attach
The structural reason is a one-liner in Google's Claude documentation: Claude models on the platform "support Client tools, but Server tools are not supported." Server tools are functions the platform executes for the model — Google Search grounding, Vertex AI Search retrieval — and those attach to Gemini, not to partner models like Claude. Client tools (ones your code executes) work fine with Claude on Vertex. The one Anthropic-side exception: Anthropic's own basic web search tool is available for Claude on Vertex — the basic version, without dynamic filtering. The broader implications are covered in why Claude on Vertex has no server tools.
The documented pattern: bring your own retrieval
What is documented — and GA for Claude on Vertex — is Anthropic's citations feature and search_result content blocks. So the working architecture inverts the managed-RAG shape: instead of the platform retrieving for the model, your code retrieves, and Claude grounds its answer in what you pass.
- Retrieve with any backend you like — Vertex AI Search used directly as a search API, Vertex embeddings with a vector database, Elasticsearch, or an existing internal search service.
- Package the top results as
search_resultblocks withcitations: {"enabled": true}. - Generate with Claude via the
AnthropicVertexclient; citations come back assearch_result_locationspans tied to your sources.
from anthropic import AnthropicVertex
client = AnthropicVertex(project_id="my-project", region="global")
results = [{"type": "search_result", "source": r.uri, "title": r.title,
"content": [{"type": "text", "text": r.text}],
"citations": {"enabled": True}} for r in my_retriever(query)]
msg = client.messages.create(
model="claude-sonnet-5", max_tokens=1024,
messages=[{"role": "user",
"content": results + [{"type": "text", "text": query}]}])
Mechanics of the blocks — indexing, granularity, the all-or-nothing citations rule — are in the search_result deep dive; the end-to-end design is the citation-grounding pattern.
What you give up, and what you keep
You give up the managed conveniences: RAG Engine's ingestion and indexing pipeline, and single-call retrieve-and-generate. You own retrieval quality, chunking, and index freshness yourself. You keep — arguably gain — portability: the BYO pattern is identical on all four platforms, whereas Bedrock KB or RAG Engine designs are cloud-specific. Two Vertex-specific notes for the cost model: batch inference on Vertex (BigQuery/GCS-based, 50% pricing) can pair with pre-fetched retrieval for offline workloads, and requests ≥200K tokens are billed at Google's long-context rates — a reason to keep retrieval selective rather than stuffing context (see long context vs RAG economics).
Where to go next
Set up the client with the Vertex SDK guide, check web search grounding on Vertex for the live-data exception, and compare the fully managed alternative in Bedrock RetrieveAndGenerate.