Quick answer
Choose the Microsoft Agent Framework Harness when one agent needs a batteries-included runtime for a long, multi-step task. Choose Squad when the task benefits from a coordinator and persistent specialists with distinct charters, skills, and GitHub Copilot-backed tooling.
They solve different problems:
- Harness packages history, optional compaction, todo and mode, memory, skills, approvals, optional tools, and telemetry around one chat client.
- Squad coordinates a team of specialist agents and wraps the team as a standard Agent Framework
AIAgentthroughSquad.Agents.AI.
Do not select from the product names alone. Decide whether the workload needs one controlled runtime or durable role specialization, then compare package lifecycle, provider requirements, permissions, storage, and evaluation evidence.
Side-by-side decision table
| Dimension | Harness | Squad |
|---|---|---|
| Primary shape | One opinionated long-task agent runtime | Coordinator plus persistent specialists |
| Main provider | Any supported chat client, subject to feature compatibility | GitHub Copilot CLI and SDK through the provider |
| Current lifecycle | Stable Python and .NET core announced July 22, 2026; optional features can differ | Copilot provider announced v1.0 July 30; Squad adapter currently installed as prerelease |
| Built-in context | Service-call history, optional compaction, todo, mode, file memory, skills | Coordinator context, specialist charters, team decisions, skills, corrections |
| Tool model | Harness tools with approval and optional auto-approval | Copilot shell, files, URL, MCP, and coding permissions plus per-specialist scope |
| Best fit | One accountable runtime that must sustain a long task | Work needing stable roles and repeated specialist delegation |
| Main risk | Broad optional tools, hidden compaction loss, uncontrolled loops | Permission multiplication, unsafe persistent memory, unclear delegation ownership |
Read the exact Harness setup guide or GitHub Copilot and Squad guide before implementing either path.
Choose Harness when
Use Harness when the task has one owner and a shared context, such as investigating and fixing one repository issue, processing a bounded research brief, or completing a multi-call support operation. It is useful when you want a coherent set of history, compaction, todo, memory, skills, approval, and tracing behaviors without designing a team protocol.
Keep optional capabilities explicit. At its July 22 release, Microsoft distinguished the stable core from background agents, file access, looping, and shell tools that were not yet fully released. Current Learn documentation exposes those features, but the exact package can still report its own lifecycle warning. Verify rather than generalize.
Choose Squad when
Use Squad when role separation produces durable value: for example, one specialist owns tests, another owns implementation, and another owns documentation across repeated tasks. Squad uses .squad/ charters and configuration, runs on GitHub Copilot, and can expose the whole team as an Agent Framework agent.
The additional roles add controls you must design:
- which specialist can read or write which paths;
- whether shell, URL, and MCP permissions are shared or isolated;
- what decisions and corrections enter persistent memory;
- how stale or malicious memory is corrected and deleted;
- who owns cancellation, retries, budgets, and the final result receipt.
The prerelease adapter is a reason to test a narrow workflow, not a reason to claim the underlying provider or all of Agent Framework is experimental.
When a workflow is a better answer
If the order is known, use a deterministic function or declarative workflow instead. A model-driven runtime is not needed for a fixed sequence that ordinary code can express reliably.
Agent Framework’s own guidance is direct: if you can write a function, do that instead of using an AI agent. Use agents for open-ended decisions and tools; use workflows for defined steps, routing, checkpoints, and human review.
Can they be combined?
Squad can be wrapped as an AIAgent, so a workflow or another Agent Framework component can call the team. A Harness-based architecture can also participate in a broader application. Composition is technically possible, but nesting two autonomous loops can multiply cost, retries, tool authority, and cancellation ambiguity.
If you combine them, assign one outer runtime as the owner of:
- the total model, token, time, and tool budget;
- cancellation and deadline propagation;
- approval validity and revocation;
- retry and idempotency policy;
- persistent-memory boundaries;
- final target-state verification and audit receipt.
Test the simplest single-runtime design first. Add another layer only when evaluation shows a specific gain in completion quality, reviewability, or maintainability.
Frequently asked questions
What is the main difference between Agent Framework Harness and Squad?
Harness is an opinionated long-task runtime around one chat client and agent, while Squad is a coordinator with persistent specialist roles built on GitHub Copilot and exposed to Agent Framework through an adapter.
Is Harness or Squad more stable?
Microsoft released the Harness core for Python and .NET on July 22, 2026. The GitHub Copilot provider was announced as v1.0 on July 30, while the Squad.Agents.AI adapter is installed as a prerelease package. Optional Harness features can also carry separate warnings, so stability must be checked per artifact and capability.
Can Squad and Harness be used in the same Agent Framework application?
They can be composed at the AIAgent boundary, but that does not make the architecture automatically useful or safe. Use one outer owner for retries, budgets, cancellation, approvals, and final state verification so nested runtimes do not multiply loops or authority.
Official sources
- Microsoft Developer Blog: The Microsoft Agent Framework Harness is now released
- Microsoft Developer Blog: Building agent teams with Agent Framework, GitHub Copilot CLI, and Squad
- Microsoft Learn: Agent Framework overview
Source check: August 3, 2026. Verify current package versions, lifecycle warnings, provider support, storage, permissions, budgets, telemetry, and isolation before choosing or composing these runtimes.