Claude Haiku 5.5 Is Cheap Until 100k Tokens. Build a Tiny Price Gate in TypeScript. A developer published a TypeScript price gate for Anthropic's Claude Haiku 5.5, released October 7, 2026, that returns ALLOW, REVIEW, or REFUSE before a request is sent based on prompt size, task type, and effort level. The gate applies Haiku 5.5's short-tier rates ($0.10/$0.50 per million input/output tokens) only up to 100,000 prompt tokens, switching to long-tier rates ($0.50/$2.50) and a REVIEW decision above that line, and flags agentic-coding and computer-use tasks for review even on short prompts, citing Anthropic's Terminal-Bench 4.0 scores of 39.2% for Haiku 5.5 versus 70.6% for Sonnet 5.5. It also accounts for the new tokenizer's roughly 30% higher token count and the model's low/medium/high/xhigh/max effort dial, defaulting to medium when effort is omitted. On October 7, 2026, Anthropic released Claude Haiku 5.5. The model id is claude-haiku-5-5 . For prompts up to 100,000 tokens, input is $0.10 per million tokens and output is $0.50. That is 90% below Haiku 4.5's $1.00 and $5.00. Cross 100,000 tokens and the rates become $0.50 and $2.50. That is a 50% cut, not a 90% cut. Anthropic also says the new tokenizer uses about 30% more tokens than Haiku 4.5 for the same text. A cheaper token is not automatically a cheaper task. And Haiku 5.5 is the first Haiku with an effort dial. The API default is medium . low , high , xhigh , and max are real settings. They change how much the model thinks, which changes the bill. The list price does not tell you that. The useful question is what your code does before the request leaves. This toy does not call Claude. You hand it token counts you already have, a task name, and an effort. It answers ALLOW, REVIEW, or REFUSE, and it prints the list-price bill in USD. Prompt size is input tokens plus cache reads plus cache writes. At or under 100,000, the short rates apply. Over that line, the long rates apply and the decision is REVIEW. ALLOW is only for five narrow jobs: classify , extract , route , summarize , and compact . Effort must be low or medium . If you omit effort, the gate stamps medium , because that is the Claude API default for this model. agentic-coding and computer-use are REVIEW even on a short prompt. Anthropic's own Terminal-Bench 4.0 numbers are 39.2% for Haiku 5.5 and 70.6% for Sonnet 5.5. A lower price is not the same job. high , xhigh , and max are also REVIEW. This program has no eval that says those levels pay for themselves. Bad counts and unknown labels are REFUSE. A negative token count should not become a discount. The full source is below. Save it as src/gate.ts . Node 22 or newer. No packages. No key. node --experimental-strip-types src/gate.ts / Price gate for Claude Haiku 5.5. No network. No API key. Rates are list prices in microdollars per million tokens. Sources, read 2026-10-08: - https://www.anthropic.com/claude-haiku-5-5 October 7, 2026 - https://platform.claude.com/docs/en/models/haiku-5-5/overview - https://platform.claude.com/docs/en/build-with-claude/effort / const MILLION = 1 000 000n; const PROMPT LIMIT = 100 000n; const RECOUNT NUM = 130n; const RECOUNT DEN = 100n; const ALLOW TASKS = new Set "classify", "extract", "route", "summarize", "compact", ; const REVIEW TASKS = new Set "agentic-coding", "computer-use" ; const ALLOW EFFORT = new Set "low", "medium" ; const ALL EFFORT = new Set "low", "medium", "high", "xhigh", "max" ; type Effort = "low" | "medium" | "high" | "xhigh" | "max"; type Ttl = "5m" | "1h"; type Tier = "short" | "long"; type Rates = { input: bigint; output: bigint; cacheRead: bigint; cacheWrite5m: bigint; cacheWrite1h: bigint; }; const HAIKU 55: Record