Some work is too structured for one agent turn and too branching for a single Task Runner spec. A workflow is an authored Python script that orchestrates many agents through explicit stages, running them in parallel, chaining their output, and checking results before moving on.
You rarely write one by hand: describe the goal in plain English and the agent usually authors the script for you.
Reach for a workflow when the shape of the work matters as much as the work itself:
| Pattern | What it does | Example |
|---|---|---|
| Fan-out | Run the same step across many inputs in parallel | Review every changed file in a PR at once |
| Pipeline | Feed one stage's output into the next | Draft → critique → rewrite → format |
| Judge-and-verify | Produce a result, then have a separate agent check it | Generate a fix, then validate it against the spec |
For a single autonomous run from a spec, use the Task Runner. For ad-hoc parallelism inside a conversation, use Subagents. Workflows are for when you need repeatable structure across many agents.
The fastest way to a workflow is to describe the outcome and let the agent write the script:
"Write a workflow that takes every markdown file in
docs/, has one agent summarize each in parallel, then a second agent merges the summaries into a single index."
The agent produces a Python script that composes the stages. Read it, adjust it, and run it. Because it's plain Python, you can version it, share it, and re-run it whenever the inputs change.
session_send delivers a message into another session as its next turn. A coordinator agent can direct peer sessions instead of only opening, reading, or stopping them. This is the primitive underlying the conductor and any cross-session orchestration pattern you build yourself.
The conductor agent handles goals too large for a single session:
The conductor runs on a monitoring loop that survives tab closes and turn caps, so a long multi-session plan keeps going while you're away.
Invoke the conductor from any session by describing a goal that naturally splits into parallel work streams.
Promote a session's workflow definition into the global library for reuse across sessions:
/workflow <name> in any sessionWorkflows in the library are versioned. You can view revision history and roll back to an earlier version.
A chat turn can run for up to four hours. For work that runs longer, use a monitor loop or Task Runner so Crew can continue between turns. See Configuration for the timeout settings.
An agent can start, revise, and stop a monitor loop for its own session from the dashboard, a Slack thread, or a Discord DM. When the loop names one pull request, Crew wakes the agent only when that pull request changes instead of spending a turn on each quiet interval.
The goal chip shows the cycle count and cap, such as 23/24. If a loop stops after an approval goes unanswered, approve or re-enable the needed access, then arm it again. Monitor loops also work on KAS.
The interrupt controller turns polling monitors into wake-on-change interrupts for any script cron. Instead of checking every N seconds, the cron sleeps until a real change arrives.
A Task Runner run keeps its worktree, branch, and learned lessons across a gateway restart. See Task Runner for the end-to-end workflow.
Under the hood, a workflow coordinates the same background agents you can spawn yourself. Each stage can fan out to subagents, wait for their results, and pass a synthesized output to the next stage. The workflow script owns the structure: which stages run, in what order, and what "done" means. Each agent does the work.
The bundled Workflows app provides a dashboard surface to author, validate, and watch workflow runs. It ships disabled and hidden from the main app catalog by default.
Enable it from the CLI:
kirocrew app enable workflows
Once enabled, the app appears in the sidebar at /workflows and lets you validate a workflow script against the sandboxed API before anything runs, then watch each phase and per-agent event as the run progresses. Runnable examples are included to start from.
Workflows