X·Trillion

Research  ·  The cheaper-agents series  ·  Part 1 of 3

Claude Code already lets you pick cheaper models. Most people never change it.

A two-minute change: keep the strong model for judgment, and let the repetitive work run on a cheaper one — without leaving Claude Code or writing a line of glue code.

Claude Code already lets you pick cheaper models — play video
Watch on the X·Trillion Research channel.

Most people install Claude Code, pick a model once, and never touch the setting again. Everything then runs on that one model — the careful architectural decisions and the mechanical busywork alike, all billed at the same rate.

That is convenient, and for a lot of work it is fine. But a coding session is mostly mechanical: searching the codebase, reading files, applying an agreed change, fixing a typo, re-running a check. Only a handful of moments genuinely need the strongest model. You can keep those moments on the top tier and push the rest down a tier — and the controls to do it are already in front of you.

The main model: /model

The fastest lever is the model your main session runs on. Type /model for an interactive picker, or set it directly:

/model sonnet      # switch the main session to Sonnet
/model opus        # back up to Opus for heavy reasoning

You can name a model alias (opus, sonnet, haiku, fable) — which always resolves to the current version for your account — or a full model id (claude-sonnet-4-6) if you want to pin an exact version. The same value can be set without opening Claude Code at all:

# a single session
export ANTHROPIC_MODEL="claude-sonnet-4-6"

# or a durable default, in settings.json
{ "model": "sonnet" }

That alone is useful. But switching the whole session is a blunt instrument — you lose the strong model exactly when you need it. The sharper tool is to split the work.

The real lever: subagents on a cheaper model

Claude Code can delegate parts of a task to subagents — focused helpers with their own prompt, their own tools, and, crucially, their own model. A subagent is just a markdown file in .claude/agents/. The model is one line of front matter:

# .claude/agents/formatter.md
---
name: formatter
description: Formats and lints changed files. Use after edits.
model: haiku
tools: Read, Edit, Bash
---
You format and lint code. Apply the project's style. Do not
change behaviour. Report what you changed in one line.

Now the formatting work runs on Haiku while your main session stays on Opus or Sonnet. The model: field accepts the same aliases and full ids as /model, plus one special value — inherit — which simply uses whatever the main conversation is running. If you omit the field, inherit is the default.

You may already be doing this

Claude Code ships with a built-in Explore subagent that runs on Haiku by default. Every time Claude searches your codebase, that work is already happening on the cheap tier — and the bulky search output stays out of your main context window, which saves tokens twice over. Splitting work by model is not exotic; it is how the tool already behaves.

Turn the whole fleet down at once

If you want every subagent to run cheaply for a session — regardless of what each file says — there is a single override:

export CLAUDE_CODE_SUBAGENT_MODEL="haiku"   # all subagents → Haiku

Set it back to inherit to restore normal per-agent resolution. This is handy when you are doing a large, mechanical sweep and want the main thread to orchestrate while the workers stay cheap.

Don't just force everything to Haiku

The point is not "cheaper is better." A weaker model in the wrong place produces confident, wrong work that costs you more to unpick than you saved. The pattern that works keeps judgement where judgement is needed:

Because the strong main thread decides when to delegate, the intelligence stays where it earns its price and the volume runs cheap. That is the whole idea:

Match each unit of work to the cheapest model that can do it reliably — not to the cheapest model you can find.

You can go a long way on the built-in controls alone. The next two articles push further: Part 2 looks at why this saves so much (it is as much about context as about price), and Part 3 shows how to route work to a non-Claude model entirely — a cheap open worker doing the iteration, Claude reviewing the result.


The cheaper-agents series: Part 1 — Cheaper models inside Claude Code (this article)  ·  Part 2 — Why splitting the work saves money  ·  Part 3 — Roll your own, across providers

First published on x-trillion.com. A version also appears on Medium.