Copilot CLI dynamic workflows: turn a repeatable chore into code with agents inside
A public preview feature that lets code run the steps and agents handle the judgment calls. Here's how to try it.
GitHub added dynamic workflows to Copilot CLI and the Copilot app on October 1, in public preview and on every Copilot plan. The idea: you write down a multi-step job once, code runs the steps, and agents only step in where a judgment call is needed.
That’s a different split from a normal agent session, where the model decides the whole sequence on the fly each time. Per the changelog , the workflow logic lives in code in a Copilot extension, while agents handle analysis. The practical difference is repeatability. The same stages run in the same order every time.
What a workflow can do
GitHub lists the abilities:
- Run commands, use tools or call other services
- Split a goal into tasks and run independent ones in parallel
- Pass structured results from one stage to the next
- Have subagents verify each other’s findings
- Ask you for input, if your client supports it
- Pause at a checkpoint so you can review, then resume
GitHub’s own examples are release checks where an agent assesses failures and you review before continuing, parallel review of many changed files, and pattern sweeps across a large codebase. It also says that for a quick answer or a simple change, a normal prompt is enough. Believe that. A workflow is overhead you only want for work you do repeatedly.
Trying it in the CLI
Dynamic workflows sit behind the experimental flag in Copilot CLI. Start the CLI with --experimental, or turn it on inside a session:
/experimental on
Then ask Copilot to build the workflow. You describe the job and it writes the extension. By default the extension belongs to your current session. The docs say you can instead ask for a personal extension (yours everywhere) or a project extension (shared with the repo), or write one yourself.
Here’s a sample prompt. It’s ours, not GitHub’s, so adapt it:
Create a project dynamic workflow called pre-release-check. For each
package in this repo, run the tests in parallel. If any fail, have an
agent read the failure and classify it as a real regression, a flaky
test, or an environment problem. Have a second agent check each
classification. Then pause so I can review before anything continues.
That prompt uses three of the listed abilities: parallel tasks, subagents checking each other, and a checkpoint.
Once saved as a personal or project extension, you can rerun it by name:
copilot workflow run pre-release-check
Per the docs, the workflow has to be available through a personal extension, a project extension or an installed plugin. A session-only workflow won’t be there next time.
Caveats
It’s a public preview, and GitHub says it’s subject to change. Don’t build a release process on it yet. Also, generated extension code is still code. Read what Copilot wrote before you run it on a repo you care about, particularly the commands it executes and the services it calls.
If you want a starting point, pick the chore you do most often that has clear stages and a human review step, and try that one first.