Routing
Who gets the work: the rule Quack gives Claude, by task size and by the chat's model.
Claude Code doesn't let a plugin change the main chat's model or effort. Quack routes work by choosing the duck instead, and each duck has its own. The rule is part of the session rules:
| Situation | Who does it |
|---|---|
| A small or short task | The chat itself |
| Chat on Sonnet or Haiku, big or unclear task | Pia plans, Kit builds, the chat coordinates and checks |
| Chat on Opus | The chat plans itself; only long implementation jobs go to Kit |
| Searching the code | Marco |
| Researching the web | Iris |
| Diary and docs | Dante |
Why short tasks stay in the chat
A subagent starts from an empty context: it has to read the files again, and its summary comes back into the chat. On a short job that startup costs more than it saves. In our tests, Opus finished single tasks of 4 to 12 steps by itself and never called a duck, which is the right call.
Why the Sonnet chat gets Pia and Kit
A long chat re-reads its whole history on every message, so the main chat is where the model price hurts most. Keeping the main chat on Sonnet and sending the hard thinking and the building to Pia and Kit on Opus puts the expensive model only where quality matters, each time in a fresh, small context.
Why the Opus chat plans itself
Pia also runs on Opus. A chat already on Opus that asks Pia for a plan pays for the same thinking twice. Kit still helps an Opus chat on long jobs: the edits, test runs and retries happen in his context, and the chat keeps only the summary.
See the numbers behind these rules in the benchmark.