Claude Code model tiers: Jev handles millisecond micro-forks
The author splits Claude Code into Opus planning, Sonnet main session, Jev micro-forks and Haiku search, saving tokens with one env var.
I was burning tokens on grep. Then I changed ONE line. One line, and Claude Code stops burning tokens on routine work: CLAUDE_CODE_SUBAGENT_MODEL=haiku claude --model sonnet My tree: Opus 5.5 · architect on call │ plan · same error twice · final diff │ Sonnet 5.5 · main session (code + fixes) │ JEV · micro-forks in milliseconds │ which file · which tool · retry or stop │ ├─ search → Haiku 5.5 · maps the repo ├─ grep → Haiku 5.5 · finds call sites └─ audit → worktree · isolated diff checks │ Sonnet 5.5 · synthesizes results, applies the patch Launch tips: "env": {"CLAUDE_CODE_SUBAGENT_MODEL": "haiku"} The built-in Explore agent won’t move with this variable alone. Create your own Explore subagent with model: haiku Check which model actually ran: /tasks (v2.1.243+) Haiku isn’t for complex logic or subtle bugs Save it, it’ll come in handy