CLAUDE LABJP
FORK — Claude Code 2.1.212 changes what /fork does: it copies your conversation into a new background session with its own row in claude agents, so you can keep working. The old in-session subagent is now /subtaskLIMITS — WebSearch calls are now capped at 200 per session by default, and subagent spawns get the same 200 ceiling, so a runaway search or delegation loop stops on its ownMCPBG — MCP tool calls running past two minutes now move to the background automatically, keeping the session usable. Tune the threshold with CLAUDE_CODE_MCP_AUTO_BACKGROUND_MSPLANFIX — Fixed plan mode auto-running file-modifying Bash commands such as touch and rm without a permission prompt or an SDK canUseTool callbackSONNET5 — Claude Sonnet 5 is running on introductory pricing of $2 per million input tokens and $10 per million output. After August 31 it moves to $3 and $15IPO — Bankers are reportedly lining up investor meetings for Anthropic ahead of a possible public listing as soon as OctoberFORK — Claude Code 2.1.212 changes what /fork does: it copies your conversation into a new background session with its own row in claude agents, so you can keep working. The old in-session subagent is now /subtaskLIMITS — WebSearch calls are now capped at 200 per session by default, and subagent spawns get the same 200 ceiling, so a runaway search or delegation loop stops on its ownMCPBG — MCP tool calls running past two minutes now move to the background automatically, keeping the session usable. Tune the threshold with CLAUDE_CODE_MCP_AUTO_BACKGROUND_MSPLANFIX — Fixed plan mode auto-running file-modifying Bash commands such as touch and rm without a permission prompt or an SDK canUseTool callbackSONNET5 — Claude Sonnet 5 is running on introductory pricing of $2 per million input tokens and $10 per million output. After August 31 it moves to $3 and $15IPO — Bankers are reportedly lining up investor meetings for Anthropic ahead of a possible public listing as soon as October
Articles/API & SDK
API & SDK/2026-05-25Advanced

A Two-Tier Setup — Haiku 4.5 Orchestrator with Opus 4.6 Worker for Balancing Cost and Quality

How an indie developer's two-tier setup — Haiku 4.5 as the orchestrator and Opus 4.6 as the worker — cuts monthly API spend by roughly 70% without sacrificing the quality readers pay for.

claude-api81haiku3opus2cost-optimization28agent-orchestrationindie-development3

Premium Article

One morning, while scrolling through Anthropic's billing dashboard, I paused on a line that surprised me. "Do I really need to send all of this to Opus?" I am Masaki Hirokawa, an artist and indie developer who has been shipping apps personally since 2014. The cumulative downloads across my catalog crossed 50 million a while back, and these days I run four content sites in parallel, all driven by Claude API pipelines. That billing line was the first time the per-token cost difference between models hit me as a real number tied to my own decisions.

The pattern I want to walk through here is what I call a two-tier setup: Haiku 4.5 sits on top as the orchestrator, and Opus 4.6 is called underneath as a specialist worker. The cheaper model leads. That ordering may feel backwards at first — surely you want the smartest model to decide who does what? — but in my experience that mental flip is exactly where the savings live. The rest of this article unpacks the numbers, the routing criteria, the code I run in production, and the failure modes I tripped through on the way.

Why Put the Orchestrator on Haiku

The natural instinct is "let the smartest model route, let the cheap model do the work." I tried that first. The problem is that when Opus 4.6 acts as the router, its judgment latency and per-token cost compound, and once you measure things per 1M tokens, the routing layer can end up costing more than the actual production work it's dispatching.

Orchestration work is, structurally, short-context structured output. You care less about creative prose than about stable JSON returning the same schema every time. Haiku 4.5 is excellent at exactly this. Opus, by contrast, earns its keep when there's a long context to absorb and a creative or multi-hop output to write. Use each model where its shape fits.

This reminds me of how my grandfathers, who were temple carpenters, divided their work. The craftsperson who marks the timber and the one who shapes it are usually different people. The tool you use to judge the work is not the same as the tool you use to do it. Once you accept that, the work as a whole becomes calmer and more reliable.

Real Cost Breakdown — Comparing per 1M Tokens

Anthropic's prices move, so the numbers here are illustrative reference values as of May 2026, drawn from my own operational logs. Always check current pricing for your own planning.

Per-1M-token reference costs, alongside what I see in my own pipeline:

  • Opus 4.6 only: roughly $15.00 per 1M (skews higher for output-heavy tasks)
  • Sonnet 4.6 only: roughly $3.00 per 1M
  • Haiku 4.5 only: roughly $0.80 per 1M
  • Two-tier (Haiku orchestrator + ~30% Opus escalation): roughly $4.50 per 1M

The 30% figure isn't theoretical — it's what I measured across a hundred articles' worth of routing logs in my own pipeline. The remaining 70% is handled by Haiku itself, sometimes via a lightweight downstream tool call, without ever invoking Opus.

End-to-end, that's a ~70% reduction in monthly API spend compared to my prior Opus-centric setup. Looking at the same month a year earlier, my per-article API cost dropped to roughly a third of what it had been. The first month my membership business (Pro at ~$5 / Premium at ~$15 via Stripe) reliably crossed into healthy margins was, not coincidentally, the same month I shipped this routing change.

Looking at the numbers alone, you might ask why not just go Haiku-only. I tried that. For my use case, the quality gap was not negligible — Opus produces noticeably better logical flow, more nuanced code examples, and better-chosen headlines in the long-form pieces members actually pay for. Keeping Opus reachable, but only when warranted, was the right call for protecting subscription value.

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
A side-by-side cost comparison of Haiku 4.5 and Opus 4.6 per 1M tokens, with the routing math behind a ~70% month-over-month reduction
Five concrete criteria the orchestrator uses to decide when to escalate to Opus, written as a JSON-only system prompt with working Python code
Three operational pitfalls drawn from an indie developer's logs of 50 million+ app downloads since 2014 and four-site automated publishing
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-05-06
Maximizing Profit Margins with Claude Haiku / Sonnet / Opus Model Switching
A complete implementation guide for dynamically routing Claude API requests to the right model based on task complexity. Includes cost calculation formulas, routing engine code, quality fallback logic, and real-world margin impact data.
API & SDK2026-07-13
Coalescing Concurrent Claude API Calls: Single-Flight Against Duplicate Inference and Cache Stampede
A design for collapsing identical prompts that fire at the same instant into a single upstream Claude call, using single-flight (request coalescing). In-process and distributed implementations, jittered retries, and negative caching, with measured results.
API & SDK2026-06-29
When Context Editing Made My Agent Re-run the Same Search — Field Notes on Clear Boundaries and Cache Invalidation
After turning on Context Editing to auto-clear tool results, the agent forgot what it had just read, re-ran the same tool, and the cache rebuilt every turn so costs went up. Field notes on instrumenting the silent regression and setting trigger, keep, and clear_at_least from measured data.
📚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 →