CLAUDE LABJP
SUNSET — The legacy Workbench and experimental prompt tool APIs retire tomorrow, August 17, one day outLATEST — Version 2.1.233, released August 15, is current: GitLab merge request URLs now work with --worktree and the claude agents view, where MRs appear as !NSECURITY — Windows paths written with the NT \??\ device prefix no longer bypass UNC validation, closing an NTLM credential-leak vectorTODO — Todo and task tracking tools are off by default on Opus 4.8, Sonnet 5, Fable 5, Mythos 5, and newer models; set CLAUDE_CODE_ENABLE_TODO_TOOLS=1 to bring them backFORK — Version 2.1.232, released August 14, makes subagent_type: 'fork' the default, so a forked subagent inherits the full conversation and prompt cacheMENTION — Typing @ in the prompt now mentions another Claude session by name, and SendMessage reaches that session directlySUNSET — The legacy Workbench and experimental prompt tool APIs retire tomorrow, August 17, one day outLATEST — Version 2.1.233, released August 15, is current: GitLab merge request URLs now work with --worktree and the claude agents view, where MRs appear as !NSECURITY — Windows paths written with the NT \??\ device prefix no longer bypass UNC validation, closing an NTLM credential-leak vectorTODO — Todo and task tracking tools are off by default on Opus 4.8, Sonnet 5, Fable 5, Mythos 5, and newer models; set CLAUDE_CODE_ENABLE_TODO_TOOLS=1 to bring them backFORK — Version 2.1.232, released August 14, makes subagent_type: 'fork' the default, so a forked subagent inherits the full conversation and prompt cacheMENTION — Typing @ in the prompt now mentions another Claude session by name, and SendMessage reaches that session directly
Articles/API & SDK
API & SDK/2026-07-02Intermediate

Introductory Pricing Has an End Date — Effective-Dated Cost Forecasts for the Sonnet 5 Price Step

Claude Sonnet 5's introductory $2/$10 pricing ends on 2026-08-31 and reverts to $3/$15. A static price map will quietly understate your September forecast by a third. Here is an effective-dated price table and forecast design that absorbs the step.

Claude API117Sonnet 57cost optimization13pricing6automation101

Premium Article

On the first morning of July I was switching my automation over to Claude Sonnet 5, which had just become the default model. The change itself took a few lines. But while updating the monthly cost sheet that goes with it, I stopped. Would this estimate still be true in September?

Sonnet 5's $2 / $10 per million tokens (input / output) is an introductory price that runs through August 31, 2026. From September it reverts to the standard $3 / $15. The estimate I had just written would be wrong in two months — and it would go wrong silently, with no exception and no failing test. As an indie developer running several unattended pipelines on a thin budget, I worry less about code that breaks loudly than about billing forecasts that drift quietly. This article is the design I settled on: making price validity windows a first-class part of the cost model.

What changes, when, and by how much

First, the facts. Sonnet 5 shipped on 2026-06-30 with this price structure:

ModelWindowInput (/MTok)Output (/MTok)
claude-sonnet-5 (introductory)2026-06-30 – 2026-08-31$2$10
claude-sonnet-5 (standard)2026-09-01 –$3$15
claude-opus-4-8open-ended$5$25

Notice that both input and output multiply by exactly 1.5. That detail matters later: whatever your input/output mix, the Sonnet 5 portion of your bill goes up by exactly 50%.

One more subtlety is the cutover boundary. Which timezone's "August 31" closes the window depends on the billing system, and for forecasting purposes you do not need to know. Round toward the expensive side. I assume the standard price applies from August 31 in my local time — one day early. A forecast that comes in slightly high never hurts a decision; one that comes in low does.

A static price map starts lying in September

Here is the shape of the problem — the common implementation with unit prices hard-coded:

// Before: prices frozen at "today's value"
const PRICING: Record<string, { inPerMTok: number; outPerMTok: number }> = {
  "claude-sonnet-5": { inPerMTok: 2, outPerMTok: 10 },  // introductory price, hard-coded
  "claude-opus-4-8": { inPerMTok: 5, outPerMTok: 25 },
};
 
function estimateCost(model: string, inTok: number, outTok: number): number {
  const p = PRICING[model];
  if (!p) throw new Error(`unknown model: ${model}`);
  return (inTok / 1e6) * p.inPerMTok + (outTok / 1e6) * p.outPerMTok;
}

This is correct through August 31 and uniformly too cheap from September 1. No exception. Types check. Tests stay green. The only thing that disagrees is the invoice.

Let me size the gap with my own numbers. My pipelines consume roughly 6.0M input and 0.9M output tokens per day on the Sonnet line — 180M in, 27M out per 30-day month.

  • Introductory: 180 × $2 + 27 × $10 = $360 + $270 = $630/month
  • Standard: 180 × $3 + 27 × $15 = $540 + $405 = $945/month

That is $315 a month of difference, and the static map forecasts September at $630 against a real $945 — an understatement of about 33%. A forecast that is off by a third is barely a forecast.

Thank you for reading this far.

Continue Reading

What follows includes implementation code, benchmarks, and practical content we hope you'll find useful. This site runs without ads — server and development costs are supported entirely by members like you. If it's been helpful, we'd be truly grateful for your support.

WHAT YOU'LL LEARN
How much your monthly bill actually jumps when the introductory window closes, worked out from real token volumes
A working TypeScript price book with validFrom / validUntil windows that fails closed on gaps and overlaps
How the model-selection break-even shifts across the price step, and how to separate permanent decisions from window-limited ones
Secure payment via Stripe · Cancel anytime

Unlock This Article

Get full access to the rest of this article. Buy once, read anytime. This site is ad-free — your support goes directly toward keeping it running.

or
Unlock all articles with Membership →
Share

Thank You for Reading

Claude Lab is ad-free, supported entirely by members like you. We publish practical guides daily with implementation code, benchmarks, and production-ready patterns. If you've found it useful, we'd love to have you on board.

  • Copy-paste ready implementation code
  • New advanced guides published daily
  • $5/mo or $10 for lifetime access
View Membership →

Related Articles

API & SDK2026-07-05
Fable 5 Is Back Worldwide and Sonnet 5 Is the Default — Where Each of the Three Models Belongs in a Solo Automation Stack
With Fable 5 redeployed worldwide and Sonnet 5 now the default, solo automation suddenly has three capable top-tier models to reach for. Instead of ranking them, this piece assigns each a role and captures that in a policy object with a fallback ladder and run-level logging.
API & SDK2026-03-30
Claude API Pricing Guide 2026 — Complete Cost Breakdown for Every Model, Batch API, and Prompt Caching
A complete guide to Claude API pricing in 2026. Learn the per-token costs for Opus 4.6, Sonnet 4.6, and Haiku 4.5, how to save up to 95% with Batch API and Prompt Caching, and see real-world cost estimates for common use cases.
API & SDK2026-07-03
A 40% Lower Price Doesn't Mean a 40% Lower Bill — Measuring the Opus 4.8 to Sonnet 5 Migration by Cost per Completed Task
Sonnet 5's intro pricing looks ~40% cheaper than Opus 4.8, yet extra tool turns can flip the math. Working TypeScript for consumption vectors, a paired-run harness, and break-even turn counts.
📚RECOMMENDED BOOKS
Build a Large Language Model (From Scratch)
Sebastian Raschka
LLM Dev
Prompt Engineering for LLMs
Berryman & Ziegler
Prompting
AI Engineering
Chip Huyen
AI Eng
* Contains affiliate links
See all →