Global options
These flags apply to all subcommands:| Flag | Description |
|---|---|
--json | Output machine-readable JSON when the command supports it |
--debug | Enable DEBUG-level logging (default is INFO) |
--no-upgrade-check | Skip the automatic background upgrade check |
--quiet | Suppress non-essential output |
--verbose | Enable verbose output |
-h, --help | Print help |
-V, --version | Print version |
--storage-dir and --server are command-specific, not global. Fabro no longer auto-loads ~/.fabro/.env; persist server-owned credentials with fabro provider login / fabro secret set, or provide environment variables in the invoking shell.
Configuration
CLI defaults can be set in~/.fabro/settings.toml so you don’t have to pass common flags every time:
settings.toml
[cli.exec] config applies to fabro exec. [run.model] sets the default workflow model/provider for commands like fabro run and fabro preflight. [cli.target] stores connection info for commands that can target a remote Fabro server.
fabro model uses [cli.target] by default when no explicit --storage-dir is passed. fabro exec remains a local session unless you pass --server, even if [cli.target] is configured.
Explicit http(s)://... targets are always treated as remote servers. They do not inherit identity from a local daemon, a local storage dir, or ~/.fabro/dev-token. For remote URLs, use fabro auth login --server ... or a stored CLI auth session.
CLI flags always override settings.toml values, which override hardcoded defaults.
fabro
Subcommands
| Command | Description |
|---|---|
fabro approve | Approve pending workflow runs |
fabro archive | Mark terminal runs as archived (reviewed, no further action needed). Archived runs are hidden from default listings |
fabro artifact | Inspect and copy run artifacts (screenshots, reports, traces) |
fabro ask | Ask Fabro a read-only question about a run |
fabro attach | Attach to a running or finished workflow run |
fabro auth | Manage CLI authentication state |
fabro completion | Generate shell completions |
fabro create | Create a workflow run (allocate run dir, persist spec) |
fabro deny | Deny pending workflow runs |
fabro discord | Open the Discord community in the browser |
fabro docs | Open the docs website in the browser |
fabro doctor | Check environment and integration health |
fabro dump | Export a run’s durable state to a directory |
fabro events | View the event log of a workflow run |
fabro fork | Fork a workflow run from an earlier checkpoint into a new run |
fabro graph | Render a workflow graph as SVG |
fabro inspect | Show detailed information about a workflow run |
fabro install | Set up the Fabro environment (LLMs, certs, GitHub) |
fabro logs | View the raw worker tracing log of a workflow run |
fabro mcp | Model Context Protocol server |
fabro model | List and test LLM models |
fabro parent | Manage run parent links |
fabro pr | Pull request operations |
fabro preflight | Validate run configuration without executing |
fabro provider | Provider operations |
fabro repo | Repository commands |
fabro resume | Resume an interrupted workflow run |
fabro rewind | Rewind a workflow run to an earlier checkpoint |
fabro rm | Remove one or more workflow runs |
fabro run | Launch a workflow run |
fabro sandbox | Sandbox operations (cp, ssh, preview) |
fabro secret | Manage server-owned secrets |
fabro server | Server operations |
fabro settings | Inspect effective settings |
fabro start | Start a created workflow run on the server |
fabro steer | Steer a running agent mid-execution |
fabro system | System maintenance commands |
fabro unarchive | Restore archived runs to their prior terminal status |
fabro uninstall | Uninstall Fabro from this machine |
fabro upgrade | Upgrade fabro to the latest version |
fabro validate | Validate a workflow |
fabro variable | Manage server-owned variables |
fabro version | Show client and server version information |
fabro wait | Block until a workflow run completes |
fabro workflow | Workflow operations |
fabro approve
Approve pending workflow runs
Arguments
| Name | Description |
|---|---|
RUNS | Run IDs or workflow names to approve |
Options
| Option | Description |
|---|---|
--server <server> | Fabro server target: http(s) URL or absolute Unix socket path |
fabro archive
Mark terminal runs as archived (reviewed, no further action needed). Archived runs are hidden from default listings
Arguments
| Name | Description |
|---|---|
RUNS | Run IDs or workflow names to archive |
Options
| Option | Description |
|---|---|
--server <server> | Fabro server target: http(s) URL or absolute Unix socket path |
fabro artifact
Inspect and copy run artifacts (screenshots, reports, traces)
Subcommands
| Command | Description |
|---|---|
fabro artifact cp | Copy artifacts from a workflow run |
fabro artifact list | List artifacts for a workflow run |
fabro artifact cp
Copy artifacts from a workflow run
Arguments
| Name | Description |
|---|---|
SOURCE | Source: RUN_ID (all artifacts) or RUN_ID:path (specific artifact) |
DEST | Destination directory (defaults to current directory) Default: . |
Options
| Option | Description |
|---|---|
--node <node> | Filter to artifacts from a specific node |
--retry <retry> | Filter to artifacts from a specific retry attempt |
--server <server> | Fabro server target: http(s) URL or absolute Unix socket path |
--tree | Preserve /retry_/ directory structure |
fabro artifact list
List artifacts for a workflow run
Arguments
| Name | Description |
|---|---|
RUN_ID | Run ID (or prefix) |
Options
| Option | Description |
|---|---|
--node <node> | Filter to artifacts from a specific node |
--retry <retry> | Filter to artifacts from a specific retry attempt |
--server <server> | Fabro server target: http(s) URL or absolute Unix socket path |
fabro ask
Ask Fabro a read-only question about a run
Arguments
| Name | Description |
|---|---|
RUN | Run ID prefix or workflow name |
Options
| Option | Description |
|---|---|
--model <model> | Optional model name |
-p, --prompt <prompt> | Question to ask |
--server <server> | Fabro server target: http(s) URL or absolute Unix socket path |
fabro attach
Attach to a running or finished workflow run
Arguments
| Name | Description |
|---|---|
RUN | Run ID prefix or workflow name |
Options
| Option | Description |
|---|---|
--server <server> | Fabro server target: http(s) URL or absolute Unix socket path |
fabro auth
Manage CLI authentication state
Subcommands
| Command | Description |
|---|---|
fabro auth login | Log in to a Fabro server |
fabro auth logout | Log out from a Fabro server |
fabro auth status | Show offline CLI auth status |
fabro auth login
Log in to a Fabro server
Options
| Option | Description |
|---|---|
--dev-token <dev_token> | Log in with a dev-token instead of browser OAuth |
--no-browser | Print the browser URL instead of opening it automatically |
--server <server> | Fabro server target: http(s) URL or absolute Unix socket path |
--timeout <timeout> | Timeout in seconds waiting for the browser flow to complete Default: 300 |
fabro auth logout
Log out from a Fabro server
Options
| Option | Description |
|---|---|
--all | Log out from every stored server |
--server <server> | Fabro server target: http(s) URL or absolute Unix socket path |
fabro auth status
Show offline CLI auth status
Options
| Option | Description |
|---|---|
--server <server> | Fabro server target: http(s) URL or absolute Unix socket path |
fabro completion
Generate shell completions
Arguments
| Name | Description |
|---|---|
SHELL | Shell to generate completions for Values: bash, elvish, fish, powershell, zsh |
fabro create
Create a workflow run (allocate run dir, persist spec)
Arguments
| Name | Description |
|---|---|
WORKFLOW | Path to a .fabro workflow file or .toml task config |
Options
| Option | Description |
|---|---|
--auto-approve | Auto-approve all human gates |
-d, --detach | Run the workflow in the background and print the run ID |
--dry-run | Execute with simulated LLM backend |
--environment <environment> | Named environment for agent tools |
--goal <goal> | Override the workflow goal (available as in prompts) |
--goal-file <goal_file> | Read the workflow goal from a file |
--label <key=value> | Attach a label to this run (repeatable, format: KEY=VALUE) |
--model <model> | Override default LLM model |
--parent <run> | Link this run to an existing orchestration parent run |
--preserve-sandbox | Keep the sandbox alive after the run finishes (for debugging) |
--provider <provider> | Override default LLM provider |
--server <server> | Fabro server target: http(s) URL or absolute Unix socket path |
-I, --input <key=value> | Override a workflow input value (repeatable, format: KEY=VALUE) |
-v, --verbose | Enable verbose output |
fabro deny
Deny pending workflow runs
Arguments
| Name | Description |
|---|---|
RUNS | Run IDs or workflow names to deny |
Options
| Option | Description |
|---|---|
--reason <reason> | Reason for denying execution |
--server <server> | Fabro server target: http(s) URL or absolute Unix socket path |
fabro discord
Open the Discord community in the browser
fabro docs
Open the docs website in the browser
fabro doctor
Check environment and integration health
Options
| Option | Description |
|---|---|
--server <server> | Fabro server target: http(s) URL or absolute Unix socket path |
-v, --verbose | Show detailed information for each check |
fabro dump
Export a run’s durable state to a directory
Arguments
| Name | Description |
|---|---|
RUN | Run ID prefix or workflow name |
Options
| Option | Description |
|---|---|
-o, --output <output> | Output directory (must not exist or be empty) |
--server <server> | Fabro server target: http(s) URL or absolute Unix socket path |
fabro events
View the event log of a workflow run
Arguments
| Name | Description |
|---|---|
RUN | Run ID prefix or workflow name (most recent run) |
Options
| Option | Description |
|---|---|
-f, --follow | Follow event output |
-p, --pretty | Formatted colored output with rendered assistant text |
--server <server> | Fabro server target: http(s) URL or absolute Unix socket path |
--since <since> | Events since timestamp or relative (e.g. “42m”, “2h”, “2026-01-02T13:00:00Z”) |
-n, --tail <tail> | Lines from end (default: all) |
fabro fork
Fork a workflow run from an earlier checkpoint into a new run
Arguments
| Name | Description |
|---|---|
RUN_ID | Run ID (or unambiguous prefix) |
TARGET | Target checkpoint: node name, node@visit, or @ordinal (omit to fork from latest) |
Options
| Option | Description |
|---|---|
--list | Show the checkpoint timeline instead of forking |
--server <server> | Fabro server target: http(s) URL or absolute Unix socket path |
fabro graph
Render a workflow graph as SVG
Arguments
| Name | Description |
|---|---|
WORKFLOW | Path to the .fabro workflow file, .toml task config, or project workflow name |
Options
| Option | Description |
|---|---|
--allow-invalid | Render even when workflow validation reports errors |
-d, --direction <direction> | Graph layout direction (overrides the DOT file’s rankdir) Values: lr, tb |
--format <format> | Output format Values: svgDefault: svg |
-o, --output <output> | Output file path (defaults to stdout) |
--server <server> | Fabro server target: http(s) URL or absolute Unix socket path |
fabro inspect
Show detailed information about a workflow run
Arguments
| Name | Description |
|---|---|
RUN | Run ID prefix or workflow name (most recent run) |
Options
| Option | Description |
|---|---|
--server <server> | Fabro server target: http(s) URL or absolute Unix socket path |
fabro install
Set up the Fabro environment (LLMs, certs, GitHub)
Options
| Option | Description |
|---|---|
--storage-dir <storage_dir> | Local storage directory (default: ~/.fabro/storage) |
--web-url <web_url> | Base URL for the web UI (used for OAuth callback URLs and generated settings) Default: http://127.0.0.1:32276 |
Subcommands
| Command | Description |
|---|---|
fabro install github | Configure GitHub integration (token or GitHub App) |
fabro install github
Configure GitHub integration (token or GitHub App)
Options
| Option | Description |
|---|---|
--owner <owner> | GitHub App owner: personal or org:<slug> (app only, requires —non-interactive) |
--strategy <strategy> | GitHub authentication strategy (requires —non-interactive) Values: token, app |
fabro logs
View the raw worker tracing log of a workflow run
Arguments
| Name | Description |
|---|---|
RUN | Run ID prefix or workflow name (most recent run) |
Options
| Option | Description |
|---|---|
--server <server> | Fabro server target: http(s) URL or absolute Unix socket path |
-n, --tail <tail> | Lines from end (default: all) |
fabro mcp
Model Context Protocol server
Subcommands
| Command | Description |
|---|---|
fabro mcp config | Print MCP client configuration JSON |
fabro mcp init | Configure an MCP client to launch Fabro |
fabro mcp start | Start the Fabro MCP server over stdio |
fabro mcp config
Print MCP client configuration JSON
Options
| Option | Description |
|---|---|
--server <server> | Fabro server target: http(s) URL or absolute Unix socket path |
--storage-dir <storage_dir> | Local storage directory (default: ~/.fabro/storage) |
fabro mcp init
Configure an MCP client to launch Fabro
Arguments
| Name | Description |
|---|---|
AGENT | Values: claude, cursor, windsurf |
Options
| Option | Description |
|---|---|
--server <server> | Fabro server target: http(s) URL or absolute Unix socket path |
--storage-dir <storage_dir> | Local storage directory (default: ~/.fabro/storage) |
fabro mcp start
Start the Fabro MCP server over stdio
Options
| Option | Description |
|---|---|
--server <server> | Fabro server target: http(s) URL or absolute Unix socket path |
--storage-dir <storage_dir> | Local storage directory (default: ~/.fabro/storage) |
fabro model
List and test LLM models
Subcommands
| Command | Description |
|---|---|
fabro model list | List available models |
fabro model test | Test model availability by sending a simple prompt |
fabro model list
List available models
Options
| Option | Description |
|---|---|
-p, --provider <provider> | Filter by provider |
-q, --query <query> | Search for models matching this string |
--server <server> | Fabro server target: http(s) URL or absolute Unix socket path |
fabro model test
Test model availability by sending a simple prompt
Options
| Option | Description |
|---|---|
--deep | Run a multi-turn tool-use test (catches reasoning round-trip bugs) |
-j, --jobs <jobs> | Number of model tests to run concurrently in bulk mode Default: 4 |
-m, --model <model> | Test a specific model |
-p, --provider <provider> | Filter by provider |
--server <server> | Fabro server target: http(s) URL or absolute Unix socket path |
fabro parent
Manage run parent links
Subcommands
| Command | Description |
|---|---|
fabro parent link | Link or replace a run’s orchestration parent |
fabro parent unlink | Unlink a run from its orchestration parent |
fabro parent link
Link or replace a run’s orchestration parent
Arguments
| Name | Description |
|---|---|
CHILD_RUN | Child run selector |
PARENT_RUN | Parent run selector |
Options
| Option | Description |
|---|---|
--server <server> | Fabro server target: http(s) URL or absolute Unix socket path |
fabro parent unlink
Unlink a run from its orchestration parent
Arguments
| Name | Description |
|---|---|
CHILD_RUN | Child run selector |
Options
| Option | Description |
|---|---|
--server <server> | Fabro server target: http(s) URL or absolute Unix socket path |
fabro pr
Pull request operations
Subcommands
| Command | Description |
|---|---|
fabro pr close | Close a pull request |
fabro pr create | Create a pull request from a completed run |
fabro pr link | Link or replace the GitHub pull request associated with a run |
fabro pr merge | Merge a pull request |
fabro pr unlink | Unlink the pull request associated with a run |
fabro pr view | View pull request details |
fabro pr close
Close a pull request
Arguments
| Name | Description |
|---|---|
RUN_ID | Run ID or prefix |
Options
| Option | Description |
|---|---|
--server <server> | Fabro server target: http(s) URL or absolute Unix socket path |
fabro pr create
Create a pull request from a completed run
Arguments
| Name | Description |
|---|---|
RUN_ID | Run ID or prefix |
Options
| Option | Description |
|---|---|
-f, --force | Create PR even if the run status is not succeeded/partially_succeeded |
--model <model> | LLM model for generating PR description |
--server <server> | Fabro server target: http(s) URL or absolute Unix socket path |
fabro pr link
Link or replace the GitHub pull request associated with a run
Arguments
| Name | Description |
|---|---|
RUN_ID | Run ID or prefix |
URL | GitHub pull request URL to associate with the run |
Options
| Option | Description |
|---|---|
--server <server> | Fabro server target: http(s) URL or absolute Unix socket path |
fabro pr merge
Merge a pull request
Arguments
| Name | Description |
|---|---|
RUN_ID | Run ID or prefix |
Options
| Option | Description |
|---|---|
--method <method> | Merge method: merge, squash, or rebase Values: merge, squash, rebaseDefault: squash |
--server <server> | Fabro server target: http(s) URL or absolute Unix socket path |
fabro pr unlink
Unlink the pull request associated with a run
Arguments
| Name | Description |
|---|---|
RUN_ID | Run ID or prefix |
Options
| Option | Description |
|---|---|
--server <server> | Fabro server target: http(s) URL or absolute Unix socket path |
fabro pr view
View pull request details
Arguments
| Name | Description |
|---|---|
RUN_ID | Run ID or prefix |
Options
| Option | Description |
|---|---|
--server <server> | Fabro server target: http(s) URL or absolute Unix socket path |
fabro preflight
Validate run configuration without executing
Arguments
| Name | Description |
|---|---|
WORKFLOW | Path to a .fabro workflow file or .toml task config |
Options
| Option | Description |
|---|---|
--environment <environment> | Named environment for agent tools |
--goal <goal> | Override the workflow goal (available as in prompts) |
--goal-file <goal_file> | Read the workflow goal from a file |
--model <model> | Override default LLM model |
--provider <provider> | Override default LLM provider |
--server <server> | Fabro server target: http(s) URL or absolute Unix socket path |
-I, --input <key=value> | Override a workflow input value (repeatable, format: KEY=VALUE) |
-v, --verbose | Enable verbose output |
fabro provider
Provider operations
Subcommands
| Command | Description |
|---|---|
fabro provider login | Log in to an LLM provider |
fabro provider login
Log in to an LLM provider
Options
| Option | Description |
|---|---|
--api-key-stdin | Read an API key from stdin instead of prompting |
--provider <provider> | LLM provider to authenticate with |
--server <server> | Fabro server target: http(s) URL or absolute Unix socket path |
fabro repo
Repository commands
Subcommands
| Command | Description |
|---|---|
fabro repo deinit | Remove .fabro/ project directory |
fabro repo init | Initialize a new project |
fabro repo deinit
Remove .fabro/ project directory
fabro repo init
Initialize a new project
Options
| Option | Description |
|---|---|
--server <server> | Fabro server target: http(s) URL or absolute Unix socket path |
fabro resume
Resume an interrupted workflow run
Arguments
| Name | Description |
|---|---|
RUN | Run ID or unambiguous prefix |
Options
| Option | Description |
|---|---|
-d, --detach | Run in the background and print the run ID |
--server <server> | Fabro server target: http(s) URL or absolute Unix socket path |
fabro rewind
Rewind a workflow run to an earlier checkpoint
Arguments
| Name | Description |
|---|---|
RUN_ID | Run ID (or unambiguous prefix) |
TARGET | Target checkpoint: node name, node@visit, or @ordinal (omit with —list) |
Options
| Option | Description |
|---|---|
--list | Show the checkpoint timeline instead of rewinding |
--server <server> | Fabro server target: http(s) URL or absolute Unix socket path |
fabro rm
Remove one or more workflow runs
Arguments
| Name | Description |
|---|---|
RUNS | Run IDs or workflow names to remove |
Options
| Option | Description |
|---|---|
-f, --force | Force removal of active runs |
--server <server> | Fabro server target: http(s) URL or absolute Unix socket path |
fabro run
Launch a workflow run
Arguments
| Name | Description |
|---|---|
WORKFLOW | Path to a .fabro workflow file or .toml task config |
Options
| Option | Description |
|---|---|
--auto-approve | Auto-approve all human gates |
-d, --detach | Run the workflow in the background and print the run ID |
--dry-run | Execute with simulated LLM backend |
--environment <environment> | Named environment for agent tools |
--goal <goal> | Override the workflow goal (available as in prompts) |
--goal-file <goal_file> | Read the workflow goal from a file |
--label <key=value> | Attach a label to this run (repeatable, format: KEY=VALUE) |
--model <model> | Override default LLM model |
--parent <run> | Link this run to an existing orchestration parent run |
--preserve-sandbox | Keep the sandbox alive after the run finishes (for debugging) |
--provider <provider> | Override default LLM provider |
--server <server> | Fabro server target: http(s) URL or absolute Unix socket path |
-I, --input <key=value> | Override a workflow input value (repeatable, format: KEY=VALUE) |
-v, --verbose | Enable verbose output |
fabro sandbox
Sandbox operations (cp, ssh, preview)
Subcommands
| Command | Description |
|---|---|
fabro sandbox cp | Copy files to/from a run’s sandbox |
fabro sandbox preview | Get a preview URL for a port on a run’s sandbox |
fabro sandbox ssh | SSH into a run’s sandbox |
fabro sandbox cp
Copy files to/from a run’s sandbox
Arguments
| Name | Description |
|---|---|
SRC | Source: <run-id>:<path> or local path |
DST | Destination: <run-id>:<path> or local path |
Options
| Option | Description |
|---|---|
-r, --recursive | Recurse into directories |
--server <server> | Fabro server target: http(s) URL or absolute Unix socket path |
fabro sandbox preview
Get a preview URL for a port on a run’s sandbox
Arguments
| Name | Description |
|---|---|
RUN | Run ID or prefix |
PORT | Port number |
Options
| Option | Description |
|---|---|
--open | Open URL in browser (implies —signed) |
--server <server> | Fabro server target: http(s) URL or absolute Unix socket path |
--signed | Generate a signed URL (embeds auth token, no headers needed) |
--ttl <ttl> | Signed URL expiry in seconds (default 3600, requires —signed) Default: 3600 |
fabro sandbox ssh
SSH into a run’s sandbox
Arguments
| Name | Description |
|---|---|
RUN | Run ID or prefix |
Options
| Option | Description |
|---|---|
--print | Print the SSH command instead of connecting |
--server <server> | Fabro server target: http(s) URL or absolute Unix socket path |
--ttl <ttl> | SSH access expiry in minutes (default 60) Default: 60 |
fabro secret
Manage server-owned secrets
Options
| Option | Description |
|---|---|
--server <server> | Fabro server target: http(s) URL or absolute Unix socket path |
Subcommands
| Command | Description |
|---|---|
fabro secret list | List secret names |
fabro secret rm | Remove a secret |
fabro secret set | Set a secret value |
fabro secret list
List secret names
fabro secret rm
Remove a secret
Arguments
| Name | Description |
|---|---|
KEY | Name of the secret to remove |
fabro secret set
Set a secret value
Arguments
| Name | Description |
|---|---|
KEY | Name of the secret |
VALUE | Value to store (omit to enter interactively) |
Options
| Option | Description |
|---|---|
--description <description> | Optional human-readable description |
--type <type> | Secret storage type Values: token, fileDefault: token |
--value-stdin | Read the secret value from stdin |
fabro server
Server operations
Subcommands
| Command | Description |
|---|---|
fabro server restart | Stop and restart the HTTP API server |
fabro server start | Start the HTTP API server |
fabro server status | Show server status |
fabro server stop | Stop the HTTP API server |
fabro server restart
Stop and restart the HTTP API server
Options
| Option | Description |
|---|---|
--bind <bind> | Address to bind to (IP or IP:port for TCP, or path containing / for Unix socket) |
--config <config> | Path to server config file (default: ~/.fabro/settings.toml) |
--environment <environment> | Named environment for agent tools |
--foreground | Run in the foreground instead of daemonizing |
--max-concurrent-runs <max_concurrent_runs> | Maximum number of concurrent run executions |
--model <model> | Override default LLM model |
--no-web | Disable the embedded web UI, browser auth routes, and web-only helper endpoints |
--provider <provider> | Override default LLM provider |
--storage-dir <storage_dir> | Local storage directory (default: ~/.fabro/storage) |
--timeout <timeout> | Seconds to wait for graceful shutdown before SIGKILL Default: 10 |
--watch-web | Run bun run dev in apps/fabro-web to watch/recompile web assets (debug only) |
--web | Enable the embedded web UI and browser auth routes |
fabro server start
Start the HTTP API server
Options
| Option | Description |
|---|---|
--bind <bind> | Address to bind to (IP or IP:port for TCP, or path containing / for Unix socket) |
--config <config> | Path to server config file (default: ~/.fabro/settings.toml) |
--environment <environment> | Named environment for agent tools |
--foreground | Run in the foreground instead of daemonizing |
--max-concurrent-runs <max_concurrent_runs> | Maximum number of concurrent run executions |
--model <model> | Override default LLM model |
--no-web | Disable the embedded web UI, browser auth routes, and web-only helper endpoints |
--provider <provider> | Override default LLM provider |
--storage-dir <storage_dir> | Local storage directory (default: ~/.fabro/storage) |
--watch-web | Run bun run dev in apps/fabro-web to watch/recompile web assets (debug only) |
--web | Enable the embedded web UI and browser auth routes |
fabro server status
Show server status
Options
| Option | Description |
|---|---|
--json | Output as JSON |
--storage-dir <storage_dir> | Local storage directory (default: ~/.fabro/storage) |
fabro server stop
Stop the HTTP API server
Options
| Option | Description |
|---|---|
--storage-dir <storage_dir> | Local storage directory (default: ~/.fabro/storage) |
--timeout <timeout> | Seconds to wait for graceful shutdown before SIGKILL Default: 10 |
fabro settings
Inspect effective settings
Options
| Option | Description |
|---|---|
--server <server> | Fabro server target: http(s) URL or absolute Unix socket path |
fabro start
Start a created workflow run on the server
Arguments
| Name | Description |
|---|---|
RUN | Run ID prefix or workflow name |
Options
| Option | Description |
|---|---|
--server <server> | Fabro server target: http(s) URL or absolute Unix socket path |
fabro steer
Steer a running agent mid-execution
Arguments
| Name | Description |
|---|---|
RUN | Run ID prefix to steer |
TEXT | Steer message text (omit when —text-stdin is used) |
Options
| Option | Description |
|---|---|
--interrupt | Cancel the in-flight LLM stream / tool calls and deliver the message as the next user turn (default: append to the steering queue) |
--server <server> | Fabro server target: http(s) URL or absolute Unix socket path |
--text-stdin | Read steer text from stdin instead of a positional arg |
fabro system
System maintenance commands
Subcommands
| Command | Description |
|---|---|
fabro system df | Show disk usage |
fabro system events | Stream run events from the server |
fabro system info | Show server runtime information |
fabro system prune | Delete old workflow runs |
fabro system repair | Inspect and repair durable server data |
fabro system df
Show disk usage
Options
| Option | Description |
|---|---|
--server <server> | Fabro server target: http(s) URL or absolute Unix socket path |
--storage-dir <storage_dir> | Local storage directory (default: ~/.fabro/storage) |
-v, --verbose | Show per-run breakdown |
fabro system events
Stream run events from the server
Options
| Option | Description |
|---|---|
--run-id <run_ids> | Filter by run ID (repeatable) |
--server <server> | Fabro server target: http(s) URL or absolute Unix socket path |
--storage-dir <storage_dir> | Local storage directory (default: ~/.fabro/storage) |
fabro system info
Show server runtime information
Options
| Option | Description |
|---|---|
--server <server> | Fabro server target: http(s) URL or absolute Unix socket path |
--storage-dir <storage_dir> | Local storage directory (default: ~/.fabro/storage) |
fabro system prune
Delete old workflow runs
Options
| Option | Description |
|---|---|
--before <before> | Only include runs started before this date (YYYY-MM-DD prefix match) |
--label <key=value> | Filter by label (KEY=VALUE, repeatable, AND semantics) |
--older-than <duration> | Only prune runs older than this duration (e.g. 24h, 7d). Default: 24h when no explicit filters are set |
--orphans | Include orphan directories (no matching durable run) |
--server <server> | Fabro server target: http(s) URL or absolute Unix socket path |
--storage-dir <storage_dir> | Local storage directory (default: ~/.fabro/storage) |
--workflow <workflow> | Filter by workflow name (substring match) |
--yes | Actually delete (default is dry-run) |
fabro system repair
Inspect and repair durable server data
Subcommands
| Command | Description |
|---|---|
fabro system repair runs | List runs that cannot be loaded from durable storage |
fabro system repair runs
List runs that cannot be loaded from durable storage
Options
| Option | Description |
|---|---|
--delete | Preview deleting unreadable runs |
--server <server> | Fabro server target: http(s) URL or absolute Unix socket path |
--storage-dir <storage_dir> | Local storage directory (default: ~/.fabro/storage) |
--yes | Actually delete unreadable runs (default is dry-run) |
fabro unarchive
Restore archived runs to their prior terminal status
Arguments
| Name | Description |
|---|---|
RUNS | Run IDs or workflow names to unarchive |
Options
| Option | Description |
|---|---|
--server <server> | Fabro server target: http(s) URL or absolute Unix socket path |
fabro uninstall
Uninstall Fabro from this machine
Options
| Option | Description |
|---|---|
--yes | Skip confirmation prompt |
fabro upgrade
Upgrade fabro to the latest version
Options
| Option | Description |
|---|---|
--dry-run | Preview what would happen without making changes |
--force | Upgrade even if already on the target version |
--prerelease | Include prereleases (alpha, beta, rc) when selecting the latest version |
fabro validate
Validate a workflow
Arguments
| Name | Description |
|---|---|
WORKFLOW | Path to the .fabro workflow file |
fabro variable
Manage server-owned variables
Options
| Option | Description |
|---|---|
--server <server> | Fabro server target: http(s) URL or absolute Unix socket path |
Subcommands
| Command | Description |
|---|---|
fabro variable get | Get a variable value |
fabro variable list | List variables |
fabro variable rm | Remove a variable |
fabro variable set | Set a variable value |
fabro variable get
Get a variable value
Arguments
| Name | Description |
|---|---|
NAME | Name of the variable to get |
fabro variable list
List variables
fabro variable rm
Remove a variable
Arguments
| Name | Description |
|---|---|
NAME | Name of the variable to remove |
fabro variable set
Set a variable value
Arguments
| Name | Description |
|---|---|
NAME | Name of the variable |
VALUE | Value to store |
Options
| Option | Description |
|---|---|
--description <description> | Optional human-readable description |
--value-stdin | Read the variable value from stdin |
fabro version
Show client and server version information
Options
| Option | Description |
|---|---|
--server <server> | Fabro server target: http(s) URL or absolute Unix socket path |
fabro wait
Block until a workflow run completes
Arguments
| Name | Description |
|---|---|
RUN | Run ID prefix or workflow name (most recent run) |
Options
| Option | Description |
|---|---|
--interval <ms> | Poll interval in milliseconds Default: 1000 |
--server <server> | Fabro server target: http(s) URL or absolute Unix socket path |
--timeout <seconds> | Maximum time to wait in seconds |
fabro workflow
Workflow operations
Subcommands
| Command | Description |
|---|---|
fabro workflow create | Create a new workflow |
fabro workflow list | List available workflows |
fabro workflow create
Create a new workflow
Arguments
| Name | Description |
|---|---|
NAME | Name of the workflow |
Options
| Option | Description |
|---|---|
-g, --goal <goal> | Goal description for the workflow |