Skip to content
Claude & AI · · 1 min

Stop burning your Claude limit on Opus doing chores

Your Claude limit probably is not too small. Opus is doing work Haiku could do for a fraction of the cost, and the switch is already built into Claude Code.

If you keep hitting your limit, the problem is usually not the size of the limit. It is that Opus is handling every subagent task, including the mechanical ones — reading files, running searches, summarising output. Haiku does that work for roughly a fortieth of the cost, and Claude Code already has the switch.

The one-line version

  1. In Claude Code, run /model opusplan.
  2. Carry on working.

That is enough for most people. Opus plans, cheaper models execute.

Making it permanent

  1. Open ~/.claude/settings.json in any editor.
  2. Add this block, or merge it into the env block if you already have one.
  3. Save and restart Claude Code.
"env": {
  "CLAUDE_CODE_SUBAGENT_MODEL": "haiku",
  "CLAUDE_CODE_SUBAGENT_MODEL_FORCE": "1"
}

It is a JSON file, so a trailing comma or a missing brace will stop Claude Code loading your settings at all. If something breaks after editing, that is the first thing to check.

Where this backfires

Someone pushed back on this under the original post and they were right: not every subagent should be on Haiku. Forcing it everywhere means your research, review and debugging subagents get a smaller model too, and those are exactly the jobs where you want the thinking. The _FORCE flag is the blunt version.

My rule: Haiku for fetching, listing, grepping and summarising. Keep the bigger model for anything where being wrong is expensive.

If you would rather route per-task than set one global default, there are two free routers on the links page.