Orchestrate The plan lives in a script research preview ยท v2.1.154+ ⓘ legend

Dynamic workflows

A JavaScript script Claude writes that orchestrates subagents at scale — dozens to hundreds — runs in the background, cross-checks its own findings, and returns only the synthesis. The plan moves into code, so your context window only ever sees the final answer.

Analogy โ€” the difference between a manager personally briefing each worker (agent teams) and writing a build pipeline / assembly line that dispatches, gates, and merges work automatically. The pipeline is readable, rerunnable, and doesn’t hold the whole job in its head.

Why it’s genuinely different With subagents, skills, and teams, Claude is the orchestrator and every result lands in a context window. A workflow script holds the loop, branching, and intermediate results itself — so you get more agents without context bloat, plus a repeatable quality pattern (independent agents adversarially review each other’s findings before anything is reported).

Mechanism

You describe the task; Claude writes a script; a runtime executes it in an isolated environment, separate from your conversation, while the session stays responsive. Intermediate results live in script variables, not context. Every run writes its script under ~/.claude/projects/ so you can read, diff, edit, or re-launch it.

describe
You ask, using the word workflow (or run a saved one).
approve
Claude shows the planned phases; you approve before it runs.
run + watch
/workflows opens a live progress view (phases, agent counts, tokens).
report
One cited synthesis lands in your session; failed-cross-check claims filtered out.
Limits, saving & turning it off

Up to 16 concurrent agents (fewer on limited CPUs), 1,000 total per run. No mid-run user input (only agent permission prompts pause it). Resumable within the same session. Save a good run’s script with s in /workflows โ†’ it becomes a /command (.claude/workflows/ or ~/.claude/workflows/). Disable via /config, "disableWorkflows": true, or CLAUDE_CODE_DISABLE_WORKFLOWS=1.

ultracode

ultracode = xhigh reasoning + automatic workflow orchestration. With it on, Claude decides when a task warrants a workflow without you asking — one request can become several workflows in a row (understand โ†’ change โ†’ verify). Session-only; reset with /effort high. Available only on models that support xhigh (Opus 4.8/4.7).

When to reach for it

โœ“
A task needs more agents than one conversation can coordinate: codebase-wide bug sweep, 500-file migration, security audit.
โœ“
A research question whose sources must be cross-checked against each other.
โœ“
A hard plan worth drafting from several independent angles before committing.
โœ“
You want the orchestration codified as a script you can read and rerun. Try /deep-research first to see one in action.

When not to

โœ•
A handful of deep peers that must discuss โ†’ agent teams.
โœ•
Quick, interactive, single-thread work โ†’ just one session.

Best practices

โ˜…
Trial on a small slice (one directory, a narrow question) to gauge spend before the full run.
โ˜…
Pre-add the shell/MCP commands agents need to your allowlist so the run doesn’t stall on prompts.
โ˜…
Route shallow stages to a cheaper model; keep the strong model for synthesis.
โ˜…
Save runs that work as /commands for repeatable processes (e.g. a per-branch review).
Proof point Jarred Sumner used dynamic workflows to port Bun from Zig to Rust — ~750k lines, 99.8% of the test suite passing, 11 days first-commit-to-merge. Anthropic’s framing: “a harness for every task”; quarter-long work in days.

Sources