output CLI is how you create projects, start development services, run workflows, and debug executions. It’s the main way you interact with Output during development.
Quick Start
Command Reference
Project Commands
output init
Create a new Output project with the standard file structure:Name of the project folder to create
output dev
Start all development services via Docker Compose:Running multiple dev stacks
You can run multiple isolated Output stacks on the same machine — useful when working across several projects simultaneously or testing against different versions. Each stack needs a unique project name and non-conflicting host ports. Set these in the project’s.env:
DOCKER_SERVICE_NAME isolates Docker networks, volumes, and container names so the stacks don’t interfere with each other. OUTPUT_CATALOG_ID keeps each stack’s workflow catalog separate. The three OUTPUT_*_HOST_PORT vars control which ports are exposed on your machine — the container-internal ports are unchanged, so workers in either stack still reach Temporal at temporal:7233.
Run npx output dev in each project directory. Project A’s API is at http://localhost:3001 and Project B’s at http://localhost:3002. If a port is already in use, output dev names the conflicting port and the env var to override.
output dev eject
Export the Docker Compose configuration so you can customize it:output update
Update the Output CLI and agent configuration:Workflow Commands
output workflow plan
Generate a workflow plan from a natural language description. The command prompts for a description, generates a plan using AI, and lets you iterate on it interactively. TypeACCEPT to save.
output workflow generate
Generate workflow code from a plan or description:Name of the workflow to generate
output workflow list
List available workflows from the catalog:output workflow runs list
List recent workflow runs, optionally filtered by workflow name:Filter by workflow name (optional)
output workflow run
Run a workflow synchronously and wait for the result:Name of the workflow to execute
Scenario name — resolved from the workflow’s scenarios/ directory
output workflow start
Start a workflow asynchronously — returns the workflow ID immediately without waiting:Name of the workflow to start
Scenario name — resolved from the workflow’s scenarios/ directory
output workflow status
Check whether a workflow is still running, completed, or failed:The workflow execution ID
output workflow result
Get the output of a completed workflow:The workflow execution ID
Workflow result JSON format
Use--format json with output workflow run or output workflow result to print the full structured workflow result:
output workflow stop
Stop a running workflow gracefully:The workflow execution ID
output workflow terminate
Force-stop a workflow immediately. Use this for stuck workflows or cleaning up after branch switches:The workflow execution ID
Unlike
stop (which cancels gracefully), terminate kills the workflow immediately.
output workflow reset
Rerun a workflow from after a specific completed step. The current run is terminated and a new run is created that replays up to the given step (reusing its output), then re-executes every step after it. Useful when iterating on a late step without re-paying the cost of earlier LLM or API calls:The workflow execution ID
The command prints the original
workflowId and a new runId for the fresh execution. Use output workflow status <workflowId> and output workflow result <workflowId> to track it.
output workflow debug
Show the execution trace for a workflow — what steps ran, what they received and returned, and where failures happened. See Tracing for details on trace format.The workflow execution ID
output workflow cost
Calculate the estimated dollar cost of a workflow execution from its trace. Covers LLM token costs and API service costs. See Cost Estimation for details on pricing configuration and theconfig/costs.yml override file.
Workflow ID to calculate cost for
Path to a local trace JSON file. If omitted, fetches the latest trace for the workflow.
Evaluation Commands
These commands run offline evaluations against your workflows using the@outputai/evals package. You define evaluators, write dataset YAML files, and use these commands to execute and manage them.
output workflow test
Run evaluations against a workflow using its datasets:Name of the workflow to test
Dataset Commands
output workflow dataset list
List datasets for a workflow:Workflow name to list datasets for
output workflow dataset generate
Generate a dataset for a workflow from a scenario, inline JSON, trace file, or S3:Name of the workflow
Scenario name — resolved from the workflow’s scenarios/ directory
Environment Configuration
By default, the CLI loads environment variables from.env in the current directory. To use a different env file: