CLI

Every you command published by the installed CLI contract, with its arguments, flags, and examples.

Filter CLI commands

you

Run and manage CPN-based workflow factories

What: CPN-based workflow factory CLI for running factories, submitting work, and inspecting live sessions. How to use: Run you run --work ./docs/examples/startup-work.json to start the exact Current Factory at ./factory/factory.json with explicit Work and no local server. Use you server to serve that Current Factory API and dashboard continuously, or add --with-server or --with-site to own a server only for one run. See you <cmd> --help for subcommand details. Agents: Start with you docs agents for orientation, you submit or you submit batch to enqueue work, and you session list to confirm a live factory. Run you docs for all packaged reference topics. Use --verbose or --debug for stderr diagnostics; full policy in you docs.

Flags

FlagTypeDefaultDescription
--debug, -dbool

emit lower-level command diagnostics where supported (implies --verbose)

--jsonbool

emit structured JSON on stdout for supported commands; diagnostics remain on stderr

--serverstringhttp://localhost:7437

factory API base URI (http:// or https://); HTTP client commands target this URI, while you server and server-enabled runs bind its loopback host and port

--verbose, -vbool

emit concise command diagnostics to stderr

Example

you run --work ./docs/examples/startup-work.json
you docs agents

Configuration command guide

Route configuration tasks to their canonical commands. Use `you init` to configure provider/model defaults. Use `you factory config` to validate or transform Factory definitions. Normal runtime initialization materializes packaged/default Factories automatically.

Example

you init --provider codex
you factory config validate ./factory.json

Print packaged markdown reference topics

Print packaged markdown reference topics from the installed binary. Run without a topic to print the quick-start blurb and packaged docs index. Use one supported topic argument to print the authored markdown page with no wrapper formatting.

Arguments

ArgumentTypeNotes
<topic>stringOptional · One of agents, authoring-factories, run, config, mock-workers, record-replay, guards, relationships, work, sessions, orchestrators, javascript-workflows, mcp, workstations, workstation, workers, resources, models, batch-inputs, batch-work, templates

Example

you docs
you docs agents
you docs run

Configure provider and model defaults

Configure the default model provider and optional model used for worker execution, or install a packaged Factory from the embedded catalog. Supply --provider for non-interactive provider/model setup. Use --package to install a built-in packaged Factory into the named Factory root (default: the global catalog under your home directory).

Flags

FlagTypeDescription
--dirstring

named Factory root directory for packaged installation

--formatstring

authored root definition format for the installed packaged Factory

--modelstring

optional non-empty free-form default model identifier

--packagestring

public packaged Factory name to install from the embedded catalog

--providerstring

registered default model provider (required for non-interactive setup)

--replacebool

replace an existing packaged Factory directory when the target already exists

Example

you init --provider codex
you init --provider claude --model claude-sonnet-4-5
you init --package @you/goal
you init --package @you/goal --dir ./factories --format yaml --replace

Load workflow and run the factory engine

Without an explicit --dir, --named, or --factory selector, you run validates the exact invocation-local ./factory/factory.json as the Current Factory; it does not bootstrap a missing Factory or follow another current-factory pointer. Run you run --work ./docs/examples/startup-work.json to submit explicit default Work; Factory directory runs can consume factory/inputs/task/default while active. Missing and invalid definitions fail before runtime, listener, or browser activation. Ordinary batch, continuous, named, portable Factory, replay, mock-worker, and JavaScript runs start no HTTP listener. Add --with-server to serve the Current Factory API for exactly the run lifetime without opening a browser, or --with-site to imply that server and open the embedded dashboard once after readiness. Server-enabled runs bind only the loopback host and preferred port from global --server, advance monotonically through port 65535 on collisions, report the actual bound URL, and join the listener before returning. Default execution uses batch mode and exits after idle completion. Use --continuously to keep the factory alive while idle until you cancel it. Use --with-mock-workers with an optional JSON config path for deterministic outcomes. Use --worktree <name> to create or reuse a Git worktree under the invocation working directory and execute every worker dispatch in that checkout, independent of provider. Use --quiet to suppress dashboard output for scripted or CI-oriented runs. Use --skip-permissions to request an invocation-only unsafe permission bypass for agent workers without changing persisted factory configuration. Normal live runs record by default unless you pass --no-record. Replay artifacts are sensitive and can contain prompts, payloads, stdout, stderr, and diagnostic metadata. Use --named with a persisted canonical factory name to resolve project-local factories before global built-ins under ~/.you-agent-factory/factories. Built-ins materialize lazily into that global root on first use and stay editable on disk. Use --factory with a JSON, YAML, or JavaScript Factory source. Supported selectors are --dir, --named, and --factory. Selected Factories can define custom invocation arguments; run you run --named <factory> --help or you run --factory <factory.yaml> --help to inspect signature-backed usage while keeping existing run-level flags available. In Factory invocation mode, provide either trailing positional text or piped stdin text, or use signature-defined file, repeated, and defaulted inputs; conflicting positional text and stdin return INVOCATION_INPUT_SOURCE_CONFLICT. Named-Factory selection lives in you docs authoring-factories; invocation behavior lives in you docs run and you docs sessions; model choices live in you docs models. The common ACP workflow is `you run --named @you/goal --provider cursor-acp --model auto "Describe the task"`. Run-level --provider selects modelProvider and --model selects an optional model within that provider. Supported one-shot text invocations use the ordered response stream by default; use --output primary for final-result-only stdout. Global --json with response-stream selects NDJSON. Quiet conflicts with global JSON and explicit --output. Failures use one standard ErrorResponse on stderr. Runtime logs are structured JSON rolling files grouped by UTC start date under the selected log root; environment details are record-channel diagnostics only, and system logs include command stdout/stderr only on command failures. Runtime metrics are a separate structured JSONL operational channel with independent rolling files.

Arguments

ArgumentTypeNotes
<invocation-input…>stringOptional · Repeatable · Reads from cli, stdin

Flags

FlagTypeDefaultDescription
--continuouslybool

keep the factory alive while idle until cancelled

--dirstringfactory

factory base directory

--factorystring

path to a JSON or YAML Factory file, or an unambiguous Factory directory, for portable one-shot runs; use positional text or piped stdin for the invocation input

--modelstring

override the optional model selected within the provider for this run

--named, -astring

canonical persisted factory name resolved from ./factory before ~/.you-agent-factory/factories; built-ins materialize there on first use and remain editable

--no-recordbool

disable the default replay artifact for this invocation

--outputstring

invocation stdout mode: response-stream (default for one-shot text invocations) or primary for final-result-only output

--providerstring

override the worker modelProvider for this run (for example cursor-acp)

--quietbool

suppress dashboard output for quiet or CI-oriented runs

--recordstring

path to write a replay artifact for this run; replay artifacts are sensitive, and default live runs record automatically unless --no-record is used

--replaystring

path to replay an existing sensitive replay artifact

--skip-permissionsbool

request an invocation-only unsafe permission bypass for agent workers without changing persisted factory configuration

--with-mock-workersstring

enable mock-worker execution with an optional mock-workers JSON config path

--with-serverbool

serve the Current Factory API for the lifetime of this run without opening a browser

--with-sitebool

serve the embedded dashboard and open it once after listener readiness

--workstring

path to initial FACTORY_REQUEST_BATCH JSON file to submit

--worktreestring

create or reuse a Git worktree under the invocation working directory and execute this run in its checkout

Example

# Start the current Factory with explicit Work.
you run --work ./docs/examples/startup-work.json

# Run an existing factory once in explicit batch mode.
you run --dir factory --work ./docs/examples/startup-work.json

# Run a persisted named factory from any working directory.
you run --named @you/tts --output primary "Read the release summary."

# Run a portable JSON or YAML Factory with a one-shot prompt (see handlingBehavior DEFAULT).
you run --factory ./factory.yaml "Fix the lint issues"

# Pipe invocation input via stdin (default primary-result stdout).
echo "Ship the login bugfix" | you run --named @you/goal

# Opt into ordered canonical Factory Event progress instead of primary-result-only stdout.
you run --named @you/goal --output response-stream "Ship the login bugfix"

Serve the Current Factory API and dashboard

Validate and serve the exact Current Factory from ./factory/factory.json. The listener remains loopback-only, opens the embedded dashboard once after readiness, and runs until cancellation.

Example

you server
you --server http://127.0.0.1:7437 server

you factory

Inspect and manage factory definitions

Inspect live factory runtime state and manage persisted named factories. Subcommands: query show the current active factory from a running service list list persisted named factories under a factory root config inspect and transform factory configuration create create a named factory from factory.json update replace an existing named factory from factory.json replace-current persist the live current factory from a running service delete remove an unused named factory from disk Use query against a running service. Use config validate, flatten, and expand for factory configuration inspection and transformation. Use list, create, update, and delete for on-disk named factories under --dir (default factory/). Use replace-current with global --server and --session like query to persist the live current factory.

Example

you factory query
you factory config validate ./factory.json
you factory list

Inspect and transform factory configuration

Subcommands: validate validate a factory.json payload or factory directory flatten write canonical single-file factory config to stdout expand write split factory config layout beside the input file Use validate before create or update. Use flatten and expand to move between single-file and split-layout factory directories.

Example

you factory config validate ./factory.json
you factory config flatten ./factory
you factory config expand ./factory.json

Write split factory config layout

The path may be a standalone factory.json file or a factory directory containing factory.json. The command writes canonical factory.json plus workers and workstations directories beside the input file.

Arguments

ArgumentTypeNotes
<factory.json>stringRequired

Example

you factory config expand ./factory.json

Write canonical single-file factory config

The path may be a factory directory containing factory.json or a standalone factory.json file. The command writes camelCase canonical JSON to stdout.

Arguments

ArgumentTypeNotes
<factory-path>stringRequired

Example

you factory config flatten ./factory

Validate a factory config without persisting it

Validate a factory.json payload or factory directory through the shared validate-only factory contract used by POST /factory-validations. Human output lists authored worker and workstation runtime taxonomy values and prints blocking validation targets with inference, agent, script, or poller terminology when worker/workstation pairings are incompatible.

Arguments

ArgumentTypeNotes
<factory-path>stringRequired

Example

you factory config validate ./factory.json
you factory config validate ./factory
you --json factory config validate ./factory.json

Create a named factory from a config file

Create a new named factory from an existing factory.json file. The command validates the payload, materializes a new named factory layout under the selected factory root, and refuses to overwrite an existing factory name.

Arguments

ArgumentTypeNotes
<name>stringRequired

Flags

FlagTypeDefaultDescription
--dirstringfactory

factory root directory containing named factories

--fromrequiredstring

path to an existing factory.json payload (required)

--set-currentbool

update .current-factory to the created name

Example

you factory create staging --from ./factory.json
you factory create staging --from ./factory.json --set-current
you --json factory create staging --from ./factory.json

Delete a persisted named factory

Delete a persisted named factory from disk. The command removes the named factory directory under the selected factory root after validation. It refuses to delete the factory currently selected by .current-factory; switch the current pointer to another factory first.

Arguments

ArgumentTypeNotes
<name>stringRequired

Flags

FlagTypeDefaultDescription
--dirstringfactory

factory root directory containing named factories

Example

you factory delete staging
you factory delete staging --dir my-factory

List persisted named factories

List persisted named factories stored under a factory root. By default the command lists project-local named factories from ./factory and writes a human-readable table with each factory name, on-disk directory, and whether it is selected by .current-factory. Global built-ins and customer-edited shared factories live under ~/.you-agent-factory/factories and are listed only when you point --dir there explicitly. The command lists exactly one root at a time and never merges project-local and global entries. Use global --json for scripting output.

Flags

FlagTypeDefaultDescription
--dirstringfactory

factory root directory containing named factories

Example

you factory list
you factory list --dir ~/.you-agent-factory/factories
you --json factory list --dir my-factory

Show the current active factory

Show the current active factory from a running you-agent-factory service. By default the command writes a human-readable table with the current factory name and runtime-identifying fields. Use global --json for the API-shaped current-factory payload, and use global --server to target the same factory API base URI as work list and submit. Run you session list to discover live session ids when routing other commands with --session.

Example

you factory query
you --json factory query
you --server http://localhost:9090 --json factory query

Persist the live current factory from a running service

Read the session current factory from a running service and persist it with PUT. The command uses global --server and --session like factory query.

Flags

FlagTypeDescription
--sessionstring

target one live factory session; omit to use the default compatibility session

Example

you factory replace-current
you --json factory replace-current --session session-beta

Update an existing named factory from a config file

Replace an existing named factory from an existing factory.json file. The command validates the payload, atomically replaces the named factory layout under the selected factory root, and leaves .current-factory unchanged when it already points at the updated name.

Arguments

ArgumentTypeNotes
<name>stringRequired

Flags

FlagTypeDefaultDescription
--dirstringfactory

factory root directory containing named factories

--fromrequiredstring

path to an existing factory.json payload (required)

Example

you factory update staging --from ./factory.json
you --json factory update staging --from ./factory.json

you mcp

Model Context Protocol servers for Factory Session tools

Example

you mcp serve

Start the Factory Session MCP stdio server

Start the dynamic workflow Factory Session MCP server over stdio. Hosts launch this command as a child process and communicate through newline-delimited JSON-RPC on stdin and stdout. The default backing service is the deterministic durable session fixture catalog used by workflow CLI commands. Use --runtime to select the shared durable JavaScript runtime execution service instead of the fixture catalog. Runtime mode requires workflow sources to resolve from the MCP host working directory or an explicit --project-root. Set the MCP host working directory to the project root where workflow sources and the fixture catalog resolve. See `you docs mcp` for host configuration, serve modes, smoke, and troubleshooting.

Flags

FlagTypeDescription
--fixture-catalogstring

optional path to durable-session contract fixtures; defaults to the catalog discovered from the current working directory

--project-rootstring

project root for workflow source resolution in --runtime mode; defaults to the current working directory

--runtimebool

select the shared durable JavaScript runtime execution service instead of the fixture catalog

Example

you mcp serve
you mcp serve --fixture-catalog ./pkg/transports/http/testdata/durable-session-contract-fixtures.json
you mcp serve --runtime

you models

Inspect discovered models from a running service

Inspect discovered models from a running infinite-you service. Use list to discover model identifiers, inspect to view one model's readiness and capabilities, invoke to call a discovered model directly through the shared in-process bootstrap, and pull to populate the managed local-model cache for supported local assets.

Example

you models list
you models inspect OMNIVOICE_Q4_K_M
you models invoke OMNIVOICE_Q4_K_M --operation TTS --text "hello" --output ./speech.wav

Inspect one discovered model

Inspect one discovered model from GET /models/{model_name}. Human output prints readiness, lifecycle, capabilities, and diagnostics for the named model. Use global --json for API-shaped output and global --server to target a non-default factory API base URI.

Arguments

ArgumentTypeNotes
<model-name>stringRequired

Example

you models inspect OMNIVOICE_Q4_K_M
you --json models inspect OMNIVOICE_Q4_K_M

Invoke one discovered model

Invoke one discovered model through the shared in-process bootstrap. Requires a model name, an uppercase --operation, non-empty --text, and either --output for streamed audio or global --json for structured invocation metadata. Readiness-gated execution uses the current factory configuration without starting a full workflow.

Arguments

ArgumentTypeNotes
<model-name>stringRequired

Flags

FlagTypeDefaultDescription
--operationstringTTS

uppercase model operation to invoke

TTS
--outputstring

path for streamed model output

--textstring

text input for the selected model operation

Example

you models invoke OMNIVOICE_Q4_K_M --operation TTS --text "Read the release summary." --output ./speech.wav
you --json models invoke OMNIVOICE_Q4_K_M --operation TTS --text "Read the release summary."

List discovered models

List discovered models from GET /models on the configured service. Human output summarizes provider locality, supported operations, managed-runtime readiness, and resource counts. Use global --json for API-shaped output and global --server to target a non-default factory API base URI.

Example

you models list
you --json models list

Pull one discovered local model into the managed cache

Pull one discovered local model into the managed cache through POST /models/{model_name}/pull. Human output reports pull outcome, readiness, cache path, revision, and downloaded files. Use global --json for API-shaped output and global --server to target a non-default factory API base URI.

Arguments

ArgumentTypeNotes
<model-name>stringRequired

Example

you models pull OMNIVOICE_Q4_K_M
you --json models pull OMNIVOICE_Q4_K_M

you serve

Host You as a protocol server

Host You as a protocol server for an external client. See `you serve acp --help` for the ACP stdio agent surface.

Example

you serve acp

Host You as an ACP agent over stdio

Host You as an Agent Client Protocol (ACP) agent over stdio. ACP clients (editors and IDEs) launch this command as a child process and exchange newline-delimited JSON-RPC on stdin and stdout. Diagnostics and sanitized startup or serve failures are written to stderr; stdout carries only complete ACP protocol frames. Cleanly closing stdin (EOF) ends the connection successfully. This command hosts the same production ACP server the process composes through root.BuildProcess; it constructs no second service graph, Chat Sessions service, Factory Sessions service, or transport graph, and it does not start the HTTP or dashboard server. This is distinct from `you workers acp add|delete`, which configures You's own use of external ACP-speaking provider agents, and from `you mcp serve`, which hosts the unrelated Model Context Protocol tool server.

Example

you serve acp

you session

List, open, and close factory sessions on a running host

Manage factory sessions on a running you-agent-factory service. Subcommands: list list live workspace sessions or durable Factory Sessions with --scope live|persisted|all show show one live or durable Factory Session from GET /factory-sessions/{session_id} dispatches list durable Factory Session dispatches from GET /factory-sessions/{session_id}/dispatches pause pause one live or durable Factory Session through POST /factory-sessions/{session_id}/pause resume resume one paused live or durable Factory Session through POST /factory-sessions/{session_id}/resume create open another live session from a folder path delete close a live session by session id Durable list output uses Factory Session status, source identity, result availability, progress, and action availability. Session commands use the same default --port as work list. Use --json to emit API-shaped responses on stdout; diagnostics stay on stderr when --verbose or --debug is set.

Example

you session list
you session show session-beta
you session pause

Open a live factory session from a folder

Open another live factory session from a folder path via POST /factory-sessions. Use --dir to provide the folder path. Optional --init-new-factory and --validate-only map to the API request fields and are mutually exclusive. Use --target-kind and --target-name when the folder exposes multiple runnable targets. Use --json to emit OpenFactorySessionResponse on stdout; diagnostics stay on stderr when --verbose or --debug is set.

Arguments

ArgumentTypeNotes
<arg0…>stringArrayOptional · Repeatable · Reads from cli

Flags

FlagTypeDefaultDescription
--dirrequiredstring

folder path to open as a live factory session

--init-new-factorybool

write the default init scaffold at --dir and open a live session

--portint7437

HTTP server port

--target-kindstring

target kind when disambiguating runnable factories (default or named)

--target-namestring

named target when --target-kind is named

--validate-onlybool

validate the folder and optional target without creating a live session

Example

you session create --dir /workspace/fleet
you session create --dir /workspace/fleet --validate-only
you session create --dir /workspace/fleet --target-kind named --target-name beta

Close a live factory session

Close one live factory session via DELETE /factory-sessions/{session_id}. Use the same --port selection as session list. Use --json to emit a JSON confirmation on stdout.

Arguments

ArgumentTypeNotes
<session-id>stringRequired · Reads from cli

Flags

FlagTypeDefaultDescription
--portint7437

HTTP server port

Example

you session delete session-beta

List durable Factory Session dispatches

List durable Factory Session dispatches from GET /factory-sessions/{session_id}/dispatches. Human output uses FactorySession, Dispatch, and FactoryArtifact vocabulary for dispatch id, status, kind, label, and output artifact ids. The command requires a durable dur-sess-* session id. Use global --json for the API-shaped ListFactorySessionDispatchesResponse and global --server to target the same factory API base URI as session show and session resume.

Arguments

ArgumentTypeNotes
<session-id>stringRequired · Reads from cli

Flags

FlagTypeDescription
--phasestring

filter by exact Dispatch phase

--statusstring

filter by canonical Dispatch status

Example

you session dispatches dur-sess-js-interrupted-001
you --json session dispatches dur-sess-js-interrupted-001

List live and durable factory sessions

List factory sessions for the requested scope. live returns workspace sessions kept open by the running host. persisted returns durable Factory Sessions from the deterministic provider loopback. all returns both live workspace sessions and durable Factory Sessions. Human output prints the legacy live-session table for workspace rows and a durable Factory Session table with status, source identity, result availability, progress, and actions. Use --json to emit ListFactorySessionsResponse on stdout.

Arguments

ArgumentTypeNotes
<arg0…>stringArrayOptional · Repeatable · Reads from cli

Flags

FlagTypeDefaultDescription
--portint7437

HTTP server port

--scopestringlive

session list scope: live, persisted, or all

Example

you session list
you session list --scope persisted
you session list --scope all --json

Pause one live or durable Factory Session

Pause one live or durable Factory Session through POST /factory-sessions/{session_id}/pause. Human output reports paused, already-paused, invalid-state, not-found, or unreachable-host outcomes using Factory Session terminology. Omit session-id to target the default compatibility session (~default), pass a named live session id such as session-beta, or pass a durable session id from `you session list --scope all`. Use global --json for the API-shaped FactorySessionLifecycleControlResponse and global --server to target the same factory API base URI as workflow status and session show.

Arguments

ArgumentTypeNotes
<session-id>stringOptional · Reads from cli

Example

you session pause
you session pause session-beta
you session pause dur-sess-js-run-n-001
you --json session pause session-beta

Resume one paused live or durable Factory Session

Resume one paused live or durable Factory Session through POST /factory-sessions/{session_id}/resume. Human output reports resumed, already-running, invalid-state, not-found, or unreachable-host outcomes using Factory Session terminology. Omit session-id to target the default compatibility session (~default), pass a named live session id such as session-beta, or pass a durable session id from `you session list --scope all`. Use global --json for the API-shaped FactorySessionLifecycleControlResponse and global --server to target the same factory API base URI as workflow status and session show.

Arguments

ArgumentTypeNotes
<session-id>stringOptional · Reads from cli

Example

you session resume
you session resume session-beta
you session resume dur-sess-js-run-n-001
you --json session resume session-beta

Show one live factory session

Show one live factory session from GET /factory-sessions/{session_id}. Human output uses FactorySession as the canonical runtime noun and prints orchestrator kind plus Petri or JavaScript runtime projections. Dynamic workflow wording appears only as JavaScript shorthand. Omit session-id to target the default compatibility session (~default). Use global --json for the API-shaped FactorySession payload and global --server to target the same factory API base URI as work list and factory query.

Arguments

ArgumentTypeNotes
<session-id>stringOptional · Reads from cli

Example

you session show
you session show session-beta
you --json session show session-beta

you submit

Submit work to a running factory

Submit work to a running you-agent-factory service. Unary submit (this command) posts one work item with --name, --work-type-name, and --payload. For multi-work FACTORY_REQUEST_BATCH ingress to an already-running session, use you submit batch. See you submit batch --help and you docs batch-inputs. By default unary submit targets the default compatibility session. Use --session to submit to one specific live factory session instead.

Flags

FlagTypeDescription
--namerequiredstring

authored request name for the submitted work (required)

--payloadrequiredstring

path to payload file (.json or .md) (required)

--sessionstring

target one live factory session; omit to use the default compatibility session

--work-type-namerequiredstring

work type name to submit to (required)

Example

you submit

Upsert a FACTORY_REQUEST_BATCH to a running factory

Upsert canonical FACTORY_REQUEST_BATCH JSON to a running you-agent-factory session. The document must use type FACTORY_REQUEST_BATCH with at least one works entry. See you docs batch-inputs for the batch schema, relation rules, and examples. Batch input modes (first match wins): --file <path> read batch JSON from path; use --file - to read stdin <path> read batch JSON from an existing filesystem path (primary form) - read batch JSON from stdin <inline-json> positional whose first non-whitespace byte is { is parsed as JSON (no args) when stdin is not a TTY, read the full piped document from stdin When both --file and a positional path are provided, --file wins. When a file path or --file is set, stdin is ignored. Inline JSON is convenient for small batches; shell argument length limits apply—use a file or pipe for large documents. Use --dry-run to parse and validate locally, print a summary, and perform no HTTP. Valid --dry-run exits 0 even when the factory is unreachable. By default the command targets the default compatibility session (~default). Use --session to upsert into one specific live factory session instead. Global flags (place before the subcommand): --server selects the factory API base URI; --json emits structured success output on stdout; --verbose and --debug emit concise request metadata on stderr without logging batch payload content.

Arguments

ArgumentTypeNotes
<input>stringOptional · Reads from cli, stdin

Flags

FlagTypeDescription
--dry-runbool

validate input and print a summary without sending HTTP

--filestring

read batch JSON from path; use - to read stdin (wins over a positional path)

--sessionstring

target one live factory session; omit to use the default compatibility session

Example

# Upsert a batch file to the default session.
you submit batch ./factory/inputs/BATCH/my-batch.json

# Explicit file flag (wins over a positional path when both are set).
you submit batch --file ./batches/deploy.json

# Pipe batch JSON without a temp file.
cat batch.json | you submit batch

# Read batch JSON from stdin explicitly.
you submit batch - < batch.json

# Validate locally without contacting the server.
you submit batch --dry-run ./batch.json

# Target a non-default live session with structured output.
you --server http://localhost:9090 --json submit batch --session session-beta ./batch.json

you work

Inspect work from a running factory

Inspect and control work on a running you-agent-factory service. Subcommands: list list work from GET /factory-sessions/{session_id}/work with optional filters and pagination show show one work item from GET /factory-sessions/{session_id}/work/{work_id} move move one work item to another authored state through POST /factory-sessions/{session_id}/work/{work_id}/move visualize read a local FACTORY_REQUEST_BATCH JSON file and render its dependency graph to stdout API-backed list, show, and move commands target the default compatibility session unless --session is set. Use global --json to emit API-shaped responses on stdout; diagnostics stay on stderr when --verbose or --debug is set.

Example

you work list
you work show work-123
you work visualize batch.json

List work from a running factory

List work from a running you-agent-factory service. By default the command targets the default compatibility session. Use --session to route the request to one specific live factory session instead. Run you session list to discover live session ids. Optional filters are applied on the server before pagination. --name matches a case-insensitive substring of the work name. --work-type-name matches workTypeName exactly. --trace-id matches traceId or currentChainingTraceId exactly. Combine filters with --max-results and --next-token to page through the filtered result set.

Flags

FlagTypeDefaultDescription
--max-resultsint0

maximum work items to return per page after server-side filters

--namestring

filter by case-insensitive substring of work name (applied before pagination)

--next-tokenstring

pagination cursor returned by a previous work list response

--sessionstring

target one live factory session; omit to use the default compatibility session

--sort-bystring

sort returned work by field (state.type)

--state-namestring

filter by current state name

--state-typestring

filter by current state type (INITIAL, PROCESSING, TERMINAL, FAILED)

--trace-idstring

filter by exact traceId or currentChainingTraceId (applied before pagination)

--work-type-namestring

filter by exact workTypeName (applied before pagination)

Example

you work list
you work list --session session-beta --json

Move one work item to another authored state

Move one work item to another authored marking state on a running you-agent-factory service. By default the command targets the default compatibility session. Use --session to route the request to one specific live factory session instead. Run you session list to discover live session ids. Moves are rejected while the work item is in an active dispatch. Repeating the same --request-id after a successful move returns 409 without a second mutation.

Arguments

ArgumentTypeNotes
<work-id>stringRequired · Reads from cli
<state-name>stringRequired · Reads from cli

Flags

FlagTypeDescription
--request-idstring

optional client idempotency key for operator moves

--sessionstring

target one live factory session; omit to use the default compatibility session

Example

you work move work-123 ready
you work move work-123 ready --request-id op-1

Show one work item from a running factory

Show one work item from a running you-agent-factory service. By default the command targets the default compatibility session. Use --session to route the request to one specific live factory session instead. Run you session list to discover live session ids. After submit, use you work list --name <name> to find work ids, then you work show <work-id> to verify one item without JSON pagination.

Arguments

ArgumentTypeNotes
<work-id>stringRequired · Reads from cli

Flags

FlagTypeDescription
--sessionstring

target one live factory session; omit to use the default compatibility session

Example

you work show work-123
you --json work show work-123

Render a work batch dependency graph as Mermaid

Read a local FACTORY_REQUEST_BATCH JSON file from disk and render its declared work dependencies as a diagram. The required <batch-file.json> argument is a path to any readable batch file. Graph nodes represent work items; directed edges represent declared dependency relations from the batch. Output format (default: mermaid): mermaid Raw Mermaid flowchart syntax written to stdout. markdown-mermaid Markdown with a title and one fenced mermaid code block. This command is read-only. It does not submit work, contact a running factory, or render diagram images. Redirect stdout to save output, for example: you work visualize batch.json > my-graph.mermaid you work visualize --format markdown-mermaid batch.json > graph.md

Arguments

ArgumentTypeNotes
<batch-file.json>stringRequired · Reads from cli

Flags

FlagTypeDefaultDescription
--formatstringmermaid

output format: mermaid or markdown-mermaid

Example

you work visualize batch.json
you work visualize --format markdown-mermaid batch.json

you workers

Manage worker execution integrations

Inspect and configure customer-facing worker execution integrations.

Example

you workers list

Manage ACP provider integrations

Add or delete operator-configured Agent Client Protocol providers. Use `you workers list` to inspect all providers.

Example

you workers acp add --name cursor-acp --transport stdio --argument 'cursor-agent acp'

Add an ACP provider

Add or replace one operator-configured stdio ACP provider integration.

Flags

FlagTypeDefaultDescription
--argumentrequiredstring
--namerequiredstring
--transportstringstdio

Example

you workers acp add --name cursor-acp --transport stdio --argument 'cursor-agent acp'

Delete an ACP provider

Delete one operator-configured ACP provider integration without removing built-in provider metadata.

Flags

FlagTypeDescription
--namerequiredstring

Example

you workers acp delete --name cursor-acp

46 published CLI commands from the package contract.