RepoMicrosoftMicrosoftpublished Feb 2, 2026seen 5d

microsoft/conductor

Python

Open original ↗

Captured source

source ↗
published Feb 2, 2026seen 5dcaptured 5dhttp 200method plain

microsoft/conductor

Description: A CLI tool for defining and running multi-agent workflows with the GitHub Copilot SDK and Anthropic Agents SDK.

Language: Python

License: MIT

Stars: 265

Forks: 33

Open issues: 24

Created: 2026-02-02T14:29:41Z

Pushed: 2026-06-20T16:24:25Z

Default branch: main

Fork: no

Archived: no

README:

Conductor

A CLI tool for defining and running multi-agent workflows with the GitHub Copilot SDK and Anthropic Claude.

![CI](https://github.com/microsoft/conductor/actions/workflows/ci.yml)

Why Conductor?

Conductor makes multi-agent workflows — code review pipelines, research-then-synthesize flows, plan-then-implement loops — repeatable, deterministic, and version-controlled. You define your agents, their prompts, and the routing between them in a single YAML file:

  • Repeatable — Same inputs follow the same path through the same agents.
  • Deterministic — Routing uses Jinja2 templates and expression evaluation. First matching condition wins. No LLM in the orchestration loop, no tokens spent deciding what runs next.
  • Source-controlled — Plain YAML files. Diff workflows in pull requests, version them with your code, run them the same way locally and in CI.

Features

  • YAML-based workflows - Define multi-agent workflows in readable YAML
  • Multiple providers - GitHub Copilot, Anthropic Claude, or Claude Agent SDK with seamless switching
  • Parallel execution - Run agents concurrently (static groups or dynamic for-each)
  • Sub-workflow composition - Reusable sub-workflows with templated input_mapping, usable inside for_each groups for dynamic fan-out
  • Script steps - Run shell commands and route on exit code or parsed JSON stdout
  • Set steps - Bind one or more Jinja2-evaluated values into the context (no LLM, no subprocess) for derived flags, computed defaults, and constants reused by many later prompts
  • Terminate steps - Explicit terminal step with status (success/failed) and structured reason — distinguishable from the default $end path in CLI exit codes, dashboard state, and event logs
  • Dialog mode - Agents can pause for multi-turn conversation when uncertain
  • Reasoning effort - Unified reasoning.effort (low/medium/high/xhigh) per agent or workflow-wide, translated to each provider's native API
  • Workspace instructions - Auto-discover and inject AGENTS.md / CLAUDE.md / .github/copilot-instructions.md into every agent's prompt
  • Conditional routing - Route between agents based on output conditions
  • Human-in-the-loop - Pause for human decisions with Markdown-rendered prompts and clickable file links
  • Safety limits - Max iterations and timeout enforcement
  • [Web dashboard](#web-dashboard) - Real-time workflow visualization with interactive DAG graph, breadcrumb navigation into sub-workflows, live streaming, and in-browser human gates
  • Validation - Catches stale template references, missing inputs, and undeclared dependencies before runtime

Installation

Quick Install (Recommended)

macOS / Linux:

curl -sSfL https://aka.ms/conductor/install.sh | sh

Windows (PowerShell):

irm https://aka.ms/conductor/install.ps1 | iex

The installer checks for uv (installs it if missing), fetches the latest release with pinned dependencies, and verifies integrity via SHA-256 checksum.

Updating

conductor update checks for a newer release and tells you the one-line command to upgrade. Upgrades happen via the install script — the same script you used to install — because in-process self-upgrade is unreliable on Windows (the running Python interpreter sits inside the venv that needs replacing).

conductor update

To upgrade, run the install script in a new shell (not from inside a running conductor process):

macOS / Linux:

curl -sSfL https://aka.ms/conductor/install.sh | sh

Windows (PowerShell):

irm https://aka.ms/conductor/install.ps1 | iex

Or skip the copy-paste with --apply:

conductor update --apply

--apply launches the install script automatically — on Windows it opens in a new console window so you can watch progress; on macOS/Linux it replaces the current process. Either way, the running conductor exits before the installer touches the venv, so file locks release cleanly.

The install script handles file-lock safety (process detection, stale-file cleanup, and on Windows a rename-fallback when the venv directory can't be removed), retries with backoff, and verifies the installed version after install. If your shell ever gets into a bad state from a failed update, re-running the install script is always the right next step.

Conductor periodically checks GitHub for newer releases (cached for 24 hours under ~/.conductor/update-check.json) and prints a one-line hint when one is available. To silence the hint permanently — for example when you manage upgrades through a package manager or company-mirrored install — set CONDUCTOR_NO_UPDATE_CHECK=1 in your shell environment. The check is also skipped automatically for non-TTY invocations, --silent mode, the update subcommand, and --help / --version.

Manual Install

# Install from GitHub
uv tool install git+https://github.com/microsoft/conductor.git

# Run the CLI
conductor run workflow.yaml

# Or run directly without installing
uvx --from git+https://github.com/microsoft/conductor.git conductor run workflow.yaml

# Install a specific branch, tag, or commit
uv tool install git+https://github.com/microsoft/conductor.git@branch-name
uv tool install git+https://github.com/microsoft/conductor.git@v1.0.0
uv tool install git+https://github.com/microsoft/conductor.git@abc1234

Using pipx

pipx install git+https://github.com/microsoft/conductor.git
conductor run workflow.yaml

# Install a specific branch or tag
pipx install git+https://github.com/microsoft/conductor.git@branch-name

Using pip

pip install git+https://github.com/microsoft/conductor.git
conductor run workflow.yaml

# Install a specific tag or commit
pip install git+https://github.com/microsoft/conductor.git@v1.0.0

Use the Conductor skill in Claude Code or Copilot CLI

This repo doubles as a single-plugin marketplace that ships the conductor skill from...

Excerpt shown — open the source for the full document.

Notability

notability 5.0/10

New Microsoft repo with modest traction.