---
title: "coding.sh workflows · coding.sh docs"
description: "Capture, measure and A/B-test multi-agent workflow runs. Every option of coding.sh workflows and its subcommands, from its own --help."
canonical: https://coding.sh/docs/cli/workflows
human_url: https://coding.sh/docs/cli/workflows
markdown_url: https://coding.sh/docs/cli/workflows.md
agents_url: https://coding.sh/agents.md
llms_url: https://coding.sh/llms.txt
updated: 2026-11-11
---

# coding.sh workflows

Capture, measure and A/B-test multi-agent workflow runs. Every option of coding.sh workflows and its subcommands, from its own --help.

Alias: `workflow, wf`.

coding.sh workflows --help

```
coding.sh workflows <action>

  Capture, measure and A/B-test multi-agent workflow runs

Commands
  list          Runs with status, wall time, cost and agent count
  import        Import Claude Code workflow runs from disk
  show          Run tree with per-node time, cost and status
  stats         Critical path, concurrency, barrier idle, failures, cache hits, cost
  score         Grade a run's output against a case's truth
  run           A/B workflow variants over cases; prints the experiment id
  compare       Paired comparison of two variants of an experiment
  replay        Re-run an edited script from a run's journal (cached prefix)

Notes
  Workflow runs are stored under ~/.coding.sh/workflows/ until the index stores them.

Aliases
  workflow, wf
```

## `coding.sh workflows list`

Runs with status, wall time, cost and agent count.

coding.sh workflows list --help

```
coding.sh workflows list [options]

  Runs with status, wall time, cost and agent count

Options
      --framework <FRAMEWORK>  Only runs from this framework
      --name <NAME>            Only runs of this workflow
      --since <WHEN>           Only after this time: 7d, 12h, 30m or a date
      --experiment <ID>        Only runs of this experiment
  -n, --limit <N>              Maximum rows (default: 20)
      --import                 Import new or changed Claude Code workflow runs first (--no-import to skip) (default: true)

Examples
  coding.sh workflows list --since 7d
  coding.sh workflows list --framework langgraph --json
```

## `coding.sh workflows import`

Import Claude Code workflow runs from disk.

coding.sh workflows import --help

```
coding.sh workflows import [path] [options]

  Import Claude Code workflow runs from disk

Arguments
  path          Projects, project, session or run directory (default: Claude Code's projects dir)

Options
  --force   Re-import run directories that did not change
```

## `coding.sh workflows show`

Run tree with per-node time, cost and status.

coding.sh workflows show --help

```
coding.sh workflows show <RUN> [options]

  Run tree with per-node time, cost and status

Arguments
  run           Workflow run id

Options
  --tree    Include subagent, tool and model-call nodes
  --gantt   Print the timeline as TSV instead
```

## `coding.sh workflows stats`

Critical path, concurrency, barrier idle, failures, cache hits, cost.

coding.sh workflows stats --help

```
coding.sh workflows stats <RUN>

  Critical path, concurrency, barrier idle, failures, cache hits, cost

Arguments
  run           Workflow run id
```

## `coding.sh workflows score`

Grade a run's output against a case's truth.

coding.sh workflows score --help

```
coding.sh workflows score <RUN> [options]

  Grade a run's output against a case's truth

Arguments
  run           Workflow run id

Options
  --case <ID>      Case id (default: the run's case)
  --cases <DIR>    Cases directory (default: evals/workflows/<workflow>/cases)
  --slack <LINES>  Line distance that still matches a seeded bug (default: 5)
```

## `coding.sh workflows run`

A/B workflow variants over cases; prints the experiment id.

coding.sh workflows run --help

```
coding.sh workflows run <WORKFLOW> [options]

  A/B workflow variants over cases; prints the experiment id

Arguments
  workflow      Workflow name (cases live under evals/workflows/<workflow>/cases)

Options
      --variant <NAME=SCRIPT|JSON>  Variant: name=script path (claude), name=command (command), or JSON (repeatable)
      --cases <DIR>                 Cases directory (default: evals/workflows/<workflow>/cases)
  -k, --k <N>                       Attempts per case and variant (default: 3)
      --split <SPLIT>               Only cases in this split
      --driver <DRIVER>             How a variant runs (default: claude)
  -j, --concurrency <N>             Jobs at once (a workflow already fans out) (default: 1)
      --validate                    Check seeded bugs on each case's snapshot first: each bug's test fails, and passes with the bug reverted (--no-validate to skip) (default: true)
      --resume [<ID>]               Continue an interrupted workflow experiment: finished trials are kept, only the rest run (no ID: the newest unfinished one with the same config)
      --retries <N>                 Retries per trial after a rate limit, 5xx or network error, with backoff; a failed setup step is retried once and a refused login never (failures are never retried) (default: 3)
      --stop-after-infra <N>        Stop once N trials in a row fail on infrastructure after their retries (a refused login, a failed setup, rate limits, 5xx, network): no new trial starts and the run is no quality verdict; 0 never stops (default: 5)
      --trial-timeout <SEC>         Time limit per trial, retries included; a trial over it fails
      --bin <PATH>                  claude binary for the claude-code-workflow driver (default: claude on PATH)
  -y, --yes                         Run without asking when the estimated cost is above the confirm threshold

Examples
  coding.sh workflows run coding-sh-improve -v base=wf/improve.js -v cand=wf/improve-v2.js -k 3 --split dev
  coding.sh workflows run coding-sh-improve -v base=wf/improve.js -v cand=wf/improve-v2.js -k 3 --resume
```

## `coding.sh workflows compare`

Paired comparison of two variants of an experiment.

coding.sh workflows compare --help

```
coding.sh workflows compare <EXPERIMENT> [options]

  Paired comparison of two variants of an experiment

Arguments
  experiment    Experiment id

Options
  --baseline <VARIANT>   Baseline variant (required)
  --candidate <VARIANT>  Candidate variant (required)
  --threshold <SCORE>    Score that counts as a pass (default: the case's, else 0.5)
  --seed <N>             Bootstrap seed for the intervals and P(front)
  --select <RULE>        Pick a variant to deploy: cheapest above a quality floor, best quality − λ·cost, or the front's extremes
  --q-min <SCORE>        min-cost: quality lower bound to reach
  --q-drop <PP>          min-cost: quality points below the baseline's mean allowed (default 10)
  --lambda <λ>           weighted: quality given up per USD (per second when no run records cost)

Examples
  coding.sh workflows compare wfx_01 --baseline base --candidate cand --select min-cost --q-drop 10
  coding.sh workflows compare wfx_01 --baseline base --candidate cand --select pareto --json
```

## `coding.sh workflows replay`

Re-run an edited script from a run's journal (cached prefix).

coding.sh workflows replay --help

```
coding.sh workflows replay <RUN> [options]

  Re-run an edited script from a run's journal (cached prefix)

Arguments
  run           Base workflow run id

Options
      --script <PATH>       Edited workflow script (required)
      --base-script <PATH>  Script the base run used, when it was not captured
      --args <JSON>         Workflow args (JSON or a .json path)
      --dry-run             Print the predicted cache hits without running
      --bin <PATH>          claude binary for the claude-code-workflow driver (default: claude on PATH)
  -y, --yes                 Run without asking when the estimated cost is above the confirm threshold
```

[All commands](https://coding.sh/docs/cli) · [Global options](https://coding.sh/docs/cli#global)

To set coding.sh up for a user, follow the agent workflow at [/agents.md](https://coding.sh/agents.md).
