Everyone fixates on the headline number — up to a thousand agents. But the real difference isn't scale. It's where the plan lives. Get that, and everything else falls out of it.
With subagents, Claude is the orchestrator. It decides turn by turn what to spawn, and every result lands back in its context window. The plan lives in Claude's head — durable only as long as the conversation.
With a workflow, the plan lives in a JavaScript script that a separate runtime executes. The loop, the branching, and every intermediate result sit in script variables — not in Claude's context. Claude only ever sees the final answer.
The thousand-agent ceiling isn't an arbitrary limit — it's a consequence. Two hundred results from two hundred subagents would blow up a context window. In a workflow those results never touch it, so you can keep fanning out.
Because the script controls flow, it can have independent agents adversarially review each other's findings before anything is reported, or draft a plan from several angles and weigh them against each other. That's a structural guarantee baked into code — not "hope Claude remembers to double-check."
The confusion is fair — "deep research" has lived in a few forms. Only one of them ships inside Claude Code with nothing to install.
/modelCheck it before a large run — a 20-agent fan-out on Opus is a very different bill than the same run on Sonnet.route stagesAsk Claude to send the grunt stages to a smaller model and reserve the strong one for the parts that need it./workflowsStop a runaway or mis-scoped run any time without losing the work already completed.Tokens are payroll — so a workflow is less a new line item and more a question of how many "employees" you put on the problem, and at what pay grade.
When you want to course-correct turn by turn, the path isn't fully known up front, or the task is small enough that one conversation can hold it. Flexibility over repeatability.
When the plan is clear enough to commit to code, the scale would flood a context window, you'll rerun it (audits, migrations, reviews on every branch), or a wrong answer is costly enough to want adversarial cross-checks.