AI Agent - Aug 3, 2026

Microsoft Agent Framework Harness vs Squad

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 AIAgent through Squad.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

DimensionHarnessSquad
Primary shapeOne opinionated long-task agent runtimeCoordinator plus persistent specialists
Main providerAny supported chat client, subject to feature compatibilityGitHub Copilot CLI and SDK through the provider
Current lifecycleStable Python and .NET core announced July 22, 2026; optional features can differCopilot provider announced v1.0 July 30; Squad adapter currently installed as prerelease
Built-in contextService-call history, optional compaction, todo, mode, file memory, skillsCoordinator context, specialist charters, team decisions, skills, corrections
Tool modelHarness tools with approval and optional auto-approvalCopilot shell, files, URL, MCP, and coding permissions plus per-specialist scope
Best fitOne accountable runtime that must sustain a long taskWork needing stable roles and repeated specialist delegation
Main riskBroad optional tools, hidden compaction loss, uncontrolled loopsPermission 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:

  1. the total model, token, time, and tool budget;
  2. cancellation and deadline propagation;
  3. approval validity and revocation;
  4. retry and idempotency policy;
  5. persistent-memory boundaries;
  6. 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

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.