A subagent is a separate worker Claude can hand jobs to, and it can run on a different model from your main session. That model choice is the entire trick. Anthropic's docs list it as a first-class reason to use subagents: "control costs by routing tasks to faster, cheaper models like Haiku" (Claude Code subagents docs).
.claude/agents/. Create the folder if it isn't there yet. For an agent you want everywhere, use ~/.claude/agents/ instead.executor.md in that folder and paste the block below into it. You can also ask Claude Code to create the file for you, then check the model: line yourself.model: field accepts sonnet, opus, haiku, fable, a full model ID, or inherit. Left out, it defaults to inherit, which means it quietly runs on your expensive model and saves you nothing. Set it to haiku.Here's the whole file. The model: line is the part doing the work:
---
name: executor
description: Executes a plan the main model already wrote. Use for the repetitive, mechanical work, never for big judgment calls.
model: haiku
---
You carry out a plan that has already been decided. Do not redesign it.
- Follow the steps exactly and in order.
- Do the repetitive work: edits, formatting, boilerplate, repeated passes.
- If something is genuinely ambiguous, stop and ask instead of guessing.
- When you finish, list what you changed so it can be reviewed.
executor.md and confirm the model: haiku line is still sitting inside the --- frontmatter block at the top. If that line is missing or reads inherit, the executor is quietly running on your expensive model and saving you nothing.Running Opus 4.8 or Fable 5 on file renames is like paying a senior strategist to do data entry. They'll do it beautifully and it's a waste of the thing you're paying for. Cheaper models cost a small fraction per token of the top tier (Anthropic's pricing), and the grind is where nearly all your tokens go, so moving the grind is where the savings live.
Opus 4.8 or Fable 5. Writes the plan, defines what "done" means, then reviews the finished work before it reaches you. It works twice per job, at the start and at the end, and that's where its power actually pays off.
Fast and far cheaper per token, so it grinds through everything in between: the edits, the boilerplate, the repeated passes. Same volume of work, a fraction of the budget.
Paste this into your main session to run all three in one go:
Here's the job: [describe the task, e.g. "reformat these 20 blog posts and add a summary to each"].
Work as the manager, not the worker:
1. First, write a clear plan and define what "done" looks like as a checklist I can see.
2. Then hand the actual execution to my executor subagent to do the repetitive work.
3. When it's finished, review its output against your own checklist, fix what's off, and only then show me the result.
Do not do the grunt work yourself. Your job is to plan and to check.
Two native Claude Code commands take you from "run it each time" to "it keeps going without me". Both are built in, so there's nothing to install (Claude Code commands docs).
/loop 30m re-run the executor on the next batch and report what changed, or leave the interval off and Claude paces itself between passes./goal every post is reformatted and each one has a summary under 40 words. Use /goal clear to remove it afterwards.They stack, and stacking them is the point. /goal decides what passing means, so your top model has something specific to review against instead of eyeballing it, and /loop keeps the passes coming while you're doing something else.