This Reddit post shows how to point a custom Claude Code subagent, or all subagents, to Haiku 5.5. The author later found that forcing the setting globally harmed implementation tasks that needed Opus, so Haiku is better reserved for search, reading, and mechanically verifiable work, with API prices and Claude Code subscription usage checked separately.
Suitable tasks: Codebase search, reading files, finding call relationships, pattern matching, summarization, and other mechanical sub-tasks that a larger model can review.
Not suitable for: Forcing all Explore, Plan, implementation, and review subagents onto Haiku without evaluation. Tasks requiring complex judgment, architecture design, or high-quality implementation should keep separate model and effort settings.
Applicable model versions: Claude Haiku 5.5. The post says that from Claude Code 2.1.293 onward, the haiku alias points to Haiku 5.5 on the Anthropic API. Verify alias and fixed-model-ID behavior against the current runtime.
Applicable clients, agents, or APIs: Claude Code custom subagents, Explore/Plan subagents, and settings.json environment variables. The post discusses Anthropic API pricing, but the configuration entry point is Claude Code.
Recommended reasoning tier and parameters: The read-only explorer example uses effort: low; the post does not provide a universal parameter set. Keep separate configurations for the main model, implementation subagents, and high-risk work rather than forcing a global override because the price is lower.
The post's method is to add model: haiku to the custom subagent's frontmatter:
model: haikuThe post says that from Claude Code 2.1.293 onward, this alias points to Haiku 5.5 on the Anthropic API. The version and alias information is the author's statement and should be confirmed again in actual usage output.
The settings.json environment variables given in the post are:
"env": {
"CLAUDE_CODE_SUBAGENT_MODEL": "haiku",
"CLAUDE_CODE_SUBAGENT_MODEL_FORCE": "1"
}The author says that without the second line, Explore and Plan ignore the setting; with it, even subagents explicitly assigned a larger model are overridden. The author reviewed 129 subagent launches over two weeks and found that only 2 were Explore launches, while most were implementation tasks that were intended to continue using Opus. The final choice was therefore to set model: haiku only on research subagents and not enable the global FORCE setting.
Commenter u/zaibatsu provided this complete .claude/agents/explorer.md:
---
name: explorer
description: Read-only codebase search. Finds functions, reads files,
greps patterns. Never edits.
tools: Read, Glob, Grep
model: claude-haiku-5-5
effort: low
---
You are a read-only explorer. Answer with file:line references and
short quotes. If you did not find it, say so. Never guess, never edit.The same comment recommends pinning the full model ID to avoid an alias pointing to a different model after a version change. In the main session, use an invocation intent such as:
use the explorer agent to map every caller of X.This explorer is read-only, uses only Read, Glob, and Grep, returns file and line references with short quotes, does not edit files, and does not guess about content it did not find.
Confirm the current Claude Code version, actual provider, and model ID shown in usage output. The post's haiku alias mapping is self-reported by the author.
Create a separate .claude/agents/*.md for search or reading tasks, grant only the required tools, and set model: haiku or the fixed model: claude-haiku-5-5 in the frontmatter.
Specify the read-only subagent's output format, such as file paths, line numbers, short quotes, and an explicit statement when nothing was found. Do not assign implementation or architecture judgment to it.
Explicitly call the research subagent from the main session. Record the actual serving model, effort, tool-call count, context size, input/cache-read/output tokens, and task result.
Consider CLAUDE_CODE_SUBAGENT_MODEL_FORCE in settings.json only after confirming that every subagent is suitable for Haiku. First test in a test project whether Explore, Plan, and subagents explicitly assigned a larger model are overridden.
Configure Sonnet or Opus separately for implementation, review, and complex judgment tasks. Do not override them with global FORCE. The post author's two-week statistics led them to abandon FORCE because implementation subagents were the majority.
If the context approaches 100k, narrow the repository scope, reduce the tools, start a new session, or compress old tool results into a summary, then compare rerun and rework costs.
Record API billing and Claude Code subscription usage for the same task separately. Do not directly convert the provider's per-million-token price into subscription quota consumption.
API prices in the post: The author writes that Haiku 5.5 costs $0.10/$0.50 per million tokens when the prompt is no more than 100k tokens, and $0.50/$2.50 above 100k; Opus 5.5 is $4/$20. The post provides no bill or independent price verification; this note records the post's figures only.
100k threshold: The post explicitly divides Haiku 5.5 pricing into requests at or below and above 100k tokens. The actual calculation of input, output, and cache charges after the threshold should still use the target API provider's current price list.
Built-in Claude Code Explore: The author says the built-in Explore no longer uses Haiku and instead uses the main model; if the main model is Opus 5.5, each Explore call uses Opus. This is an observation from the post's environment, not an independently verified product specification.
Single-agent configuration: model: haiku; the complete example also includes tools: Read, Glob, Grep, model: claude-haiku-5-5, and effort: low.
Global configuration: CLAUDE_CODE_SUBAGENT_MODEL=haiku; CLAUDE_CODE_SUBAGENT_MODEL_FORCE=1.
Author's later choice: There were 129 subagent launches over two weeks, with only 2 Explore launches. Because most work was implementation, the author switched to setting model: haiku only on research subagents.
Commenter's workflow: Opus as the driver, Sonnet as the middle layer, and Haiku as the low-cost layer for mechanically verifiable tasks. The commenter recommends using whether a task can be mechanically checked with grep, diff, or tests as the routing condition. This is the commenter's workflow, not a controlled evaluation.
The post only shows that the author and commenter tried these settings in their own Claude Code workflows. It does not show that model: haiku behaves consistently across all versions, accounts, providers, or subscription plans.
$0.10/$0.50, $0.50/$2.50, and $4/$20 are the API prices per million tokens reported in the post. Claude Code subscription plans, quotas, and deductions are not equivalent to API billing; these figures cannot directly predict remaining subscription quota.
The post divides pricing by whether the prompt exceeds 100k tokens. Check the provider's current rules separately for cache reads, cache writes, output, and other billing details; they cannot be inferred from this post.
CLAUDE_CODE_SUBAGENT_MODEL_FORCE=1 overrides subagents explicitly assigned a larger model, which the author says harmed implementation tasks. Audit by subagent type before enabling it rather than turning it on globally by default.
The model: haiku alias may move across Claude Code versions. The commenter recommends pinning a full model ID, but the availability of a pinned ID must also be confirmed with the current account and provider.
The read-only explorer's output format and tool limits are reusable. Its quality, omission rate, rework time, and token cost still need to be validated against your own repository and tasks.
In a controlled codebase, create three subagents: a read-only explorer pinned to claude-haiku-5-5, an explorer using the default model, and an implementation agent explicitly assigned a larger model.
Run a single-file lookup, a cross-directory call-relationship lookup, and a task that requires code changes. Record file/line accuracy, omissions, rework, tool calls, effort, context size, and token breakdowns.
Add CLAUDE_CODE_SUBAGENT_MODEL=haiku in a test project only, without FORCE at first, and inspect the actual serving model for Explore, Plan, and custom subagents.
Then add CLAUDE_CODE_SUBAGENT_MODEL_FORCE=1, confirm whether subagents explicitly assigned a larger model are overridden, and record that result separately from Claude Code subscription usage.
Split long tasks into shorter sub-tasks, specify file ranges, reduce tools, and start new sessions. Compare the rate of crossing 100k and API billing, calculating with the actual price list instead of using the post's “40x” or “5x” slogans in place of a cost breakdown.
Claude Haiku 5.5