Sooner or later, someone on your team will open the Google Cloud console's Quotas & System Limits page, look at Claude's token consumption, compare it against another source — a Metrics Explorer chart, the usage object in API responses, or a finance report — and file a bug because the numbers do not match. Save yourself the investigation: this mismatch is documented behavior, and Google names both the cause and the fix.
The documented caveat
Google's Claude quota documentation carries an explicit warning: because of Anthropic's token estimation and refund system, the token usage displayed on the console Quota page may be inaccurate. For accurate usage, Google directs you to the token counting API or to token_count metrics in Metrics Explorer.
The mechanics behind this are about how quota is enforced versus how usage is finally settled. To protect capacity, token quota consumption has to be assessed when a request arrives — before anyone knows exactly how many tokens it will really use. That means working from estimates, with later corrections ("refunds") when actual consumption turns out lower. The Quota page reflects this enforcement-side accounting, estimates and all. Metrics Explorer's token_count metrics reflect measured token consumption. When you need a number you can defend — chargeback, forecasting, reconciliation against your bill — use the metrics, not the quota display.
Reading the quota lineage metrics
Claude quota on Vertex is itself metric-based, and since May 26, 2026, Claude models launched after that date use shared model-lineage quotas: one bucket per model family per location, rather than one per individual model version. The lineage metrics you will encounter on the Quotas & System Limits page (and can chart in Metrics Explorer) are:
global_online_prediction_requests_per_base_model— request rate per lineage on the global endpointglobal_online_prediction_input_tokens_per_minute_per_base_model— input tokens per minute per lineageglobal_online_prediction_output_tokens_per_minute_per_base_model— output tokens per minute per lineage
Each carries a base_model dimension identifying the lineage: anthropic-claude-opus, anthropic-claude-sonnet, anthropic-claude-haiku, or anthropic-claude-fable. So "all Opus versions in this project on the global endpoint" is a single filter — base_model = anthropic-claude-opus — which is convenient for dashboards and means adopting a new Opus version needs no new quota request. The flip side: lineage quotas cannot tell two Opus versions apart. For per-model splits, use the token_count usage metrics or group your own logging by model ID.
Two more structural details prevent misreadings. First, global-endpoint quota and each multi-region-endpoint quota are independent buckets — usage on one does not consume the other, so a chart filtered to global metrics will not show regional traffic (see global vs regional endpoints). Second, models launched before May 26, 2026 still use per-model quotas with different metric names (for example online_prediction_requests_per_base_model and TPM variants), so a mixed estate needs both metric families in its dashboards. The full quota model is covered in the Vertex lineage quota model.
A practical reconciliation workflow
When token numbers disagree, work down this ladder:
- Per-request truth: the
usageobject in each Messages API response (input_tokens,output_tokens, cache fields). Anthropic documents this object as consistent across all platforms, Vertex included. - Aggregate truth:
token_countmetrics in Metrics Explorer — Google's stated authoritative source for Claude token accounting on Vertex. - Pre-flight estimates: the count-tokens API, for sizing requests before you send them.
- Quota headroom only: the Quotas & System Limits page — useful for spotting approaching limits, documented as potentially inaccurate for token usage.
If your finance process reconciles Vertex bills against usage, build it on layers 1 and 2. If your capacity alerts fire off quota metrics, that is fine — they are the enforcement signal — but do not let anyone quote those figures as consumption.
Where to go next
See the pre-built model observability dashboard for the operational view built on these same metrics, and Vertex quota types for how requests-per-minute and token quotas fit together. For raising limits, start with quota increase requests.