Repository navigation
Conversation
This file contains hidden or bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
Sign up for free
to join this conversation on GitHub.
Already have an account?
Sign in to comment
Add this suggestion to a batch that can be applied as a single commit.This suggestion is invalid because no changes were made to the code.Suggestions cannot be applied while the pull request is closed.Suggestions cannot be applied while viewing a subset of changes.Only one suggestion per line can be applied in a batch.Add this suggestion to a batch that can be applied as a single commit.Applying suggestions on deleted lines is not supported.You must change the existing code in this line in order to create a valid suggestion.Outdated suggestions cannot be applied.This suggestion has been applied or marked resolved.Suggestions cannot be applied from pending reviews.Suggestions cannot be applied on multi-line comments.Suggestions cannot be applied while the pull request is queued to merge.Suggestion cannot be applied right now. Please check back later.
This is steal (10) from the 2026-10-23 competitor check (internal note, Q3).
A burst of Haiku agents, such as Explore searches, asked like any other fan-out, though Haiku draws far less on a plan's usage than larger models. This PR leaves Haiku agents out of the running (4) and starts (12 per 10 min) limits. They still count toward the subagent token budget, the burn rule and every plan-window rule.
How the model is known
agent.spawn'smodel(the Agent tool's parameter, alias or id), orparentModelfor a fork. When Claude names Haiku, the running and starts trips are skipped.next(e)resolves the model the agent really runs on. An agent whose own definition picks Haiku (the call names no model) is judged like any agent at the gate, then stops counting once it starts: its reserved start is released and its record is markedcheap.SendMessagefollow the agent's recordedcheap.runningAgentsskipscheapagents, so the peer record other sessions read leaves them out too. A Haiku agent still counts briefly while it starts (pendingStarts). That keeps its ownSubagentStartfrom being counted as an unclaimed fork.Default (my call, reversible): on.
AGENT_GUARD_HAIKU_EXEMPT=0counts Haiku agents like any other. It's a new switch, read by name, andclaude plugin validatelists it.Test plan
claude-haiku-4-5) never counts;AGENT_GUARD_HAIKU_EXEMPT=0refuses the 5th Haiku agentclaude plugin test .on 2.1.310: 106 pass. Withcore/andhooks/register.tsstashed, the two exemption tests fail.claude plugin validate . --strictlistsAGENT_GUARD_HAIKU_EXEMPT;tscis clean