By Sagar Shankaran, Founder of CallSphere
How Claude Code builds a fresh harness per task: the agent loop, skill discovery, MCP routing, context budget, and subagents, explained end to end.
Key takeaways
The first time you watch Claude Code take a vague instruction like "add rate limiting to the checkout endpoint" and turn it into a sequence of file reads, edits, test runs, and a passing diff, it can feel like magic. It isn't. Underneath is a deliberate architecture that builds a different execution environment — a different harness — for every task, on the fly. There is no fixed pipeline that all requests march through. Instead the system decides, turn by turn, what context to load, which tools to expose, and whether to do the work itself or hand part of it to a subagent.
This article walks the internals end to end: the agent loop at the center, how skills and Model Context Protocol (MCP) servers get discovered and wired in, how context windows are managed against a 1M-token budget, and how parallel subagents fit the picture. If you've only used Claude Code from the outside, this is the map of what's happening under the hood.
A static workflow is a graph you draw ahead of time: step one calls tool A, step two branches on a condition, step three writes output. The path is fixed before the agent ever runs. Claude Code rejects that model for open-ended engineering work because most real tasks don't have a knowable shape in advance. You don't know how many files you'll need to read until you've read the first few.
A dynamic workflow in Claude Code is a sequence of actions chosen at runtime by the model itself, where each step's output reshapes what the next step should be. The control flow lives in the model's reasoning, not in pre-written code. The harness — the surrounding scaffold of tools, context, and permissions — is assembled per task and can change mid-task as the model loads a skill or connects to a new server. That late binding is the whole point: capability is matched to need at the moment of need.
At the heart sits a loop that is conceptually simple. The model receives the conversation so far, decides on one or more tool calls, those calls execute, their results are appended back into context, and the loop repeats until the model emits a final answer with no further tool calls. Everything else is structure layered on top of this primitive.
Hear it before you finish reading
Talk to a live CallSphere AI voice agent in your browser — 60 seconds, no signup.
flowchart TD
A["Task prompt"] --> B["Assemble harness: system prompt & tool list"]
B --> C{"Model: next action?"}
C -->|Read or edit| D["Built-in file tool runs"]
C -->|External data| E["Route to MCP server"]
C -->|Specialized job| F["Spawn subagent"]
D --> G["Append result to context"]
E --> G
F --> G
G --> H{"Done?"}
H -->|No| C
H -->|Yes| I["Final diff & summary"]What makes this loop powerful rather than chaotic is the quality of the decision at node C. The model is choosing among genuinely different categories of action: edit code locally, fetch external state through a server, or delegate a bounded sub-task. Because each tool result is fed back verbatim, the model grounds its next move in real outcomes — a failing test, a 404, an unexpected schema — rather than in its prior assumptions.
Skills are the mechanism that keeps the harness lean. An Agent Skill is a folder of instructions, scripts, and resources that Claude loads only when the current task makes it relevant. Rather than stuffing every procedure your team has ever written into the system prompt, you expose a short index — each skill's name and a one-line description of when to use it. That index costs a handful of tokens.
When the model judges a skill relevant, it reads the skill's full body into context, gaining detailed step-by-step guidance and any helper scripts. This is progressive disclosure: cheap to advertise, expensive to load, loaded only on demand. The result is that a Claude Code instance can have dozens of skills available while paying the context cost of only the one or two actually in play for a given task.
Model Context Protocol is an open standard, introduced in late 2024, that connects Claude to external tools and data through MCP servers. In the architecture, an MCP server is a uniform adapter: it advertises a set of tools with typed schemas, and the agent loop treats those tools exactly like built-in ones when deciding what to call. The difference is purely in routing — a built-in edit runs in-process, while an MCP tool call is dispatched to the server over the protocol and its structured response is fed back into context.
This uniformity is why dynamic workflows scale. Adding a database server, a ticketing server, or an internal API server doesn't change the loop; it just enlarges the menu the model picks from at node C. Skills and MCP servers pair naturally: the server provides the capability, and a skill teaches Claude the team-specific way to use it well — which queries are safe, which fields matter, what order to do things in.
Claude Code can spawn parallel subagents, each with its own fresh context window, to handle bounded pieces of work — searching a large codebase, drafting one module, running an investigation. The orchestrator hands a subagent a focused brief and receives back a condensed result, not the subagent's entire transcript. This is the architecture's answer to context pressure: even with a 1M-token window, you don't want a single linear transcript holding every file you've ever touched.
The tradeoff is real and worth stating plainly. A multi-agent run typically consumes several times more tokens than a single agent doing the same work serially, because each subagent re-reads context and the orchestrator pays to coordinate. So delegation is a deliberate choice the system makes when parallelism or context isolation clearly pays off — not a default. Understanding this is what separates engineers who use Claude Code well from those who burn budget spawning agents for tasks a single loop would have handled.
Still reading? Stop comparing — try CallSphere live.
CallSphere ships complete AI voice agents per industry — 14 tools for healthcare, 10 agents for real estate, 4 specialists for salons. See how it actually handles a call before you book a demo.
Step back and the design philosophy is coherent. The system commits to as little as possible up front. The tool list, the loaded skills, the connected servers, the decision to delegate — all of it is resolved as late as possible, when the model has the most information. A pre-baked pipeline would have to anticipate every branch; the dynamic harness simply reacts to what it finds.
That same late-binding principle is what lets one tool serve a database migration, a flaky-test investigation, and a documentation rewrite without anyone reconfiguring it between tasks. The harness for each is different, but it's built from the same primitives by the same loop.
No. For open-ended tasks the control flow is decided turn by turn by the model inside the agent loop. There's no predetermined node graph the task traverses; the sequence of tool calls emerges from each step's results. You can impose more structure with hooks and skills, but the base mechanism is runtime decision-making.
Through three levers: skills are advertised cheaply and loaded only when relevant, MCP responses return structured data rather than raw dumps, and subagents run in isolated context windows so their intermediate work never pollutes the orchestrator's transcript. The 1M-token window is a ceiling, not a budget you try to fill.
When a piece of work is bounded, benefits from a fresh context, or can run in parallel with other work — for example searching a huge repository or drafting several independent files. Because multi-agent runs cost several times more tokens, the system reserves delegation for cases where the isolation or parallelism clearly earns that cost.
CallSphere builds on these same dynamic-harness ideas for voice and chat: agents that assemble the right tools and context per conversation, call external systems mid-call, and book real work around the clock. See it running at callsphere.ai.
Source & attribution: This is an independent, original explainer inspired by Anthropic's coverage on the Claude blog. Claude, Claude Code, Claude Cowork, Claude Opus, and the Model Context Protocol are products and trademarks of Anthropic. CallSphere is not affiliated with or endorsed by Anthropic.

Written by
Sagar Shankaran· Founder, CallSphere
LinkedInSagar Shankaran is the founder of CallSphere, where he builds production AI voice and chat agents deployed across healthcare, hospitality, real estate, and home services. He writes about agentic AI, LLM engineering, and shipping voice agents that handle real calls in production.
See how AI voice agents work for your industry. Live demo available -- no signup required.
One reschedule text hits your scheduler, package balance, tutor shift and invoice. Here is what MCP changed for tutoring and test-prep center owners in 2026.
Anthropic's Claude Fable 5 and Mythos 5 explained: pricing, availability, frontier benchmarks, the dual-model safeguard architecture, and what they mean for AI agents.
Where Claude Code, MCP, and multi-agent systems are taking GTM engineering next, and how to prepare your team now for standing and multi-agent workflows.
Where Claude Cowork and the Claude agent ecosystem are heading next — standing agents, MCP, skills as a moat — and the concrete moves to prepare your team now.
The metrics, leading signals, and anti-metrics that prove Claude Cowork is working — acceptance rate, time-to-outcome, and why usage counts mislead.
Shipping an agentic GTM workflow is easy; proving it works is hard. The metrics, signals, and eval loops that show a Claude Code rebuild is paying off.
© 2026 CallSphere Inc. All rights reserved.
Made within San Francisco
Watch how CallSphere handles real customer calls, schedules appointments, and processes payments — live.
Try Live DemoBook a DemoCalculate Your ROI