microsoft/conductor
A CLI tool for defining and running multi-agent workflows with the GitHub Copilot SDK and Anthropic Agents SDK.
Conductor – a CLI for repeatable, version‑controlled multi‑agent workflows
What it is – Conductor is a command‑line tool that lets you describe a pipeline of AI agents (Copilot, Claude, etc.) in a single YAML file and run it locally, in CI, or in the cloud. The orchestration itself is deterministic (no LLM decides the next step) and the whole workflow definition lives in plain text, so you can version‑control, diff, and review it just like code.
Why it matters – Building reliable AI‑powered pipelines (code‑review bots, research‑then‑synthesize loops, plan‑then‑implement cycles) is hard because most existing solutions rely on ad‑hoc scripts or manual prompting. Conductor gives you:
- Repeatability – identical inputs always follow the same path.
- Deterministic routing – Jinja2‑based conditions decide which agent runs next, without spending tokens on orchestration.
- Source‑control friendliness – workflows are YAML files that can be reviewed in pull requests.
Key features
| Feature | What it does |
|---|---|
| YAML‑based workflow definition | Declare agents, prompts, routing, and sub‑workflows in a readable file. |
| Multiple AI providers | GitHub Copilot, Anthropic Claude, Claude Agent SDK, NousResearch Hermes, Azure Container Apps sandbox (experimental). |
| Parallel & dynamic execution | Run groups of agents concurrently; for_each lets you fan‑out over a list at runtime. |
| Sub‑workflow composition | Reuse workflow fragments with templated input mapping. |
| Script & set steps | Run shell commands or compute Jinja2 values without invoking an LLM. |
| Human‑in‑the‑loop gates | Pause for manual decisions via Markdown prompts, clickable file links, or the web dashboard. |
| Safety limits | Max‑iteration caps and timeout enforcement to avoid runaway runs. |
| Web dashboard | Real‑time DAG visualization, live streaming of agent output, and in‑browser human gates. |
| Fleet Manager TUI | Terminal UI that lists every running workflow, shows status, tokens, cost, and lets you answer gates or launch new runs. |
| Validation | Pre‑run checks for missing inputs, stale template references, and undeclared dependencies. |
Typical use cases
- Code‑review pipelines – a Copilot agent writes a review, a Claude agent summarizes, a human gate approves before merge.
- Research‑then‑synthesize – one agent gathers sources, another drafts a report, a final agent formats it.
- Plan‑then‑implement loops – an agent proposes a design, a second agent writes code in an isolated Azure Container Apps sandbox, a third validates the result.
Installation (quick)
# macOS / Linux
curl -sSfL https://aka.ms/conductor/install.sh | sh
# Windows (PowerShell)
irm https://aka.ms/conductor/install.ps1 | iex
The script installs the uv package manager (if needed), pulls the latest release, and creates an isolated virtual‑env with all dependencies. Updates are performed with conductor update (or the same install script with --apply).
Running a workflow
- Write a YAML file (e.g.,
my-workflow.yaml). - Execute:
conductor run my-workflow.yaml --input question="What is Python?"
- The CLI prints the final JSON output, and you can optionally launch the web dashboard with
--webor--web-bgto watch the DAG live.
Example snippet (from the README)
workflow:
name: simple-qa
entry_point: answerer
agents:
- name: answerer
model: gpt-5.5
prompt: |
Answer the following question:
{{ workflow.input.question }}
output:
answer:
type: string
routes:
- to: $end
output:
answer: "{{ answerer.output.answer }}"
Provider configuration – set the provider at the top of the file, e.g.:
workflow:
runtime:
provider: copilot # or openai, claude, hermes, aca, etc.
default_model: gpt-5.5
Authentication follows the usual environment‑variable conventions (OPENAI_API_KEY, ANTHROPIC_API_KEY, GitHub CLI login for Copilot, etc.).
Extensibility – Conductor ships a skill for Claude Code and GitHub Copilot CLI, allowing the same workflow schema to be used inside those assistants. Experimental providers (Claude Agent SDK, Hermes, ACA) can be added via uv add or pip install as documented.
Bottom line – Conductor turns LLM‑driven pipelines into first‑class, testable software artifacts. By keeping orchestration deterministic and version‑controlled, it makes AI‑augmented automation suitable for CI/CD, team collaboration, and production‑grade workloads.
Related
- Project
- Project
- Project
- Project
- Project