Claude Code self-orchestrates work with Dynamic Workflows

Quick Summary
Thariq Shihipar from Anthropic's Claude Code team has unveiled Dynamic Workflows, a feature that lets Claude design its own operating procedures instead of just following commands. This capability addresses three critical AI agent failure modes: Agentic Laziness, Self-Preferential Bias, and Goal Drift. Rather than increasing raw model intelligence, Anthropic builds architectural constraints into the workflow, enabling Claude to write custom JavaScript harnesses, isolate sub-agent contexts, and apply six reusable orchestration patterns. The announcement garnered over 22,000 bookmarks within 3 days, marking it as the most significant upgrade since skills and subagents.
Thariq Shihipar's post from the Claude Code team has drawn significant attention in the AI user community. He revealed Dynamic Workflows, a feature that allows Claude to design its own workflows instead of just waiting for commands, and this is considered the most important upgrade since Claude Code gained skills and subagents. This feature uses the harness concept as its foundation to handle technical requirements.
Three fatal errors that cause AI agents to fail at complex tasks
Before discussing the solution, Thariq points out an uncomfortable reality: most AI agents today face serious problems when handling complex, multi-step tasks within a single context window. He categorizes them into three core failure modes that nearly every agent system encounters.
Agentic laziness: when AI declares done after finishing only half the work
This is the phenomenon of Agentic Laziness, where an agent completes part of the work and then self-reports as finished. A specific example: you ask an agent to review 50 code files, but it only looks through 20 files and concludes that everything is fine. The cause lies in context window limitations, and when the amount of information is too large, the agent tends to take shortcuts to finish faster.
Will an agent be biased toward itself?
An agent being biased toward itself is called Self-Preferential Bias, and this occurs when you ask an agent to review its own results. Like asking a student to grade their own exam, the agent tends to favor the results it already produced, leading to uncritical validation and overlooking potential errors. This is particularly dangerous in tasks requiring high accuracy.
How to prevent an agent from losing its original intent step by step
Goal Drift is the phenomenon where an agent gradually forgets its original goal after many processing steps or after context compaction. Specific constraints like "don't do X" or important edge cases can be dropped when memory is summarized, so the final result deviates from the original requirement without the agent ever realizing it.
Dynamic Workflows helps Claude write its own work orchestration framework
Anthropic's solution is not to make the model smarter, but to change how Claude organizes work. Dynamic Workflows transforms Claude from a code-writing agent into an agent that designs operational workflows for complex tasks. The core concept here is self-organization: Claude can analyze goals on its own, choose the appropriate working mode, and create an internal workflow before starting execution.
Custom harness instead of a fixed workflow
Instead of operating within a fixed environment, Claude writes a harness framework in JavaScript designed specifically for each task. This harness acts like a project manager: it breaks down the work, initializes specialized sub-agents for each part, assigns appropriate tools, routes work to different models, and performs adversarial verification to ensure quality.
How does a harness work?
To understand more clearly, imagine the harness as a theatrical script that Claude writes for itself before performing. When given a complex task, Claude does not dive straight in but pauses to write a JavaScript snippet describing the entire workflow: how many sub-agents are needed, what each agent does, what order things happen in, and how results from one agent are passed to the next.
A concrete example: if you ask Claude to audit 1,000 Slack messages to find recurring incidents, the harness might look like this logically:
- Agent 1 (classification): reads all messages and assigns labels by topic
- Agent 2, 3, 4 (parallel processing): each agent deeply analyzes one topic group
- Agent 5 (synthesis): collects results from the three agents above and removes duplicates
- Agent 6 (cross-check): re-reads the synthesized results and provides independent critique
The important point is that Claude writes this harness based on the specific characteristics of each task, not according to a rigid template. Different tasks produce different harnesses, and that is exactly why this feature is called "dynamic."
Context isolation to prevent context degradation
One of the smartest design choices in Dynamic Workflows is the Isolation feature. Each sub-agent is given its own separate context window, completely independent from other agents. This prevents the phenomenon of context rot, meaning the quality degradation that occurs when a context window becomes overloaded, while also eliminating both Agentic Laziness and Goal Drift since each agent focuses only on its assigned piece of work.



