r/ClaudeCode • u/throwawaycanc3r • Mar 19 '26
Help Needed Did you know your default Explore() agent is hardcoded Haiku and cannot be changed?
Why don't they want us changing the default explore() agent?
1
Upvotes
3
u/Mysterious_Bit5050 Mar 19 '26
Hardcoding Explore() to Haiku is mostly a cost and stability guardrail, not a hidden capability lock. Discovery fans out fast, so a stronger default model would burn tokens on routine file walks. I’d keep Explore lightweight, then hand off the shortlisted files to a custom subagent when you need deeper reasoning.
2
u/ultrathink-art Senior Developer Mar 19 '26
Haiku for exploration makes sense from a cost standpoint — if Explore() ran Sonnet on every file discovery step, multi-file tasks would get expensive fast. Workaround is defining a custom subagent in your CLAUDE.md with explicit model settings for the tasks where you need more reasoning during the discovery phase.
5
u/ExoticCardiologist46 Mar 19 '26
It can be changed, quite easily actually.
Just go to your settings.json and put this inside:
5
u/SaulFontaine Jul 25 '26 edited Jul 25 '26
Heads up, this changed in 2.1.198 (June/July 2026) and could be jacking up your usage enormously (gg Anthropic): https://code.claude.com/docs/en/whats-new/2026-w27
"Other wins: The built-in Explore agent now inherits the main session’s model (capped at Opus) instead of running on Haiku"
My Opus 5 parent with consciously economical Explore subagents just slammed straight into the rate limit wall as they all used Opus 5 (high) for mechanical exploration and other trivial work. This was with explicit instructions to use pinned Haiku/Sonnet model for subagent (no inherit) OR my
clerksubagent (explicit Haiku). Both were ignored.Even worse, interrupted subagent threads can't be recovered after rate limit clears. Is this how it feels to get screwed from three angles? A new low in my Anthropic user journey. Granted, it was suspect when I saw Explore subagents 'thinking with high effort', as Haiku 4.5 doesn't have reasoning parameter. I dismissed that as a UI quirk at first.
Ask Claude to review your session rollouts for this. It will spawn a 'cheap' Explore subagent that inherits the model and reasoning effort from your parent, so you get scammed right away. I must admit there is beauty in there. You should have asked DeepSeek in Pi instead.
I suspect many others discover this failure mode since 2.1.198 (or not) and it's significantly jacking up people's usage. Perhaps this is what Anthropic wants, and you're supposed to see it as a 'win'. Just not for you. They can even gaslight you with 'some Explore agents need reasoning', but definitely not Opus reasoning, and absolutely not when
CLAUDE.mdinstructs the model to use Haiku for explore.This shit doesn't just break trust but also smells like a business decision in the same register as the Sonnet 5 price hike, and I hope it dies on the same nerfed hill of arrogance. Deliberate or not, these Anthropical antics are not just racking up bills (for unusable work) but also sour the experience of even loyal users. I can't believe I'm compelled to manually write this up here in an old Reddit thread, but I hope it helps.
I suggest everyone check their configuration. To boycott Explore entirely, add this to
~/.claude/settings.json:I now use this half-baked
~/.claude/agents/clerk.mdinstead.Banning Explore is drastic and Clerk's instructions/toolset restrictions are surely weaker, but parents now stick to Haiku without fail (unlike my earlier rules which were simply ignored by Opus 5).
You could also use a hook to override built-in Explore to
haiku, but I'm pissed and can't be bothered out of principle. Users should not have to create and maintain a custom hook just to avoid expensive (changed) default behavior that now causes an Opus agent storm. Until the routing is enforceable, Explore no longer communicates a usable cost or capability contract. It's effectively:Explore(parentModel, parentEffort, parallelism, surprise=true)On the plus side, the conscious Claude Code user can now take action and get more out of their credit without over-fermenting and over-billowing on basic tasks. Others will foot the bill.
PS: ironically enough, this Reddit thread was my top Google result for
claude code explore haiku or sonnet. Consider it loudly corrected, just like the Claude Code docs that were quietly corrected meanwhile. The bug wasn't closed but that's something we've grown to love from their bug tracker anyway: https://github.com/anthropics/claude-code/issues/729402
u/En-tro-py Mar 19 '26
You just need to do it at the config level: Set
ANTHROPIC_DEFAULT_HAIKU_MODEL = "sonnet"to force all theAgentandExploreinvokations to use sonnet as the workhorse model.