Integrations & Tools

Headless CLI (fc)

Run .flo flow files from a terminal or CI, without opening the app.

fc runs .flo flow files headlessly , no GUI, just the flow’s nodes executing, producing the same results as clicking Run in the desktop app. It exits 0 only if every node in every run flow succeeded, so it drops straight into CI.

fc ships as a prebuilt binary for Linux, Windows, and macOS in the same release as the desktop app.

Run flows

fc run -a                 # every .flo file in the current directory
fc run <file.flo> ...     # one or more specific .flo files
fc version                 # print the fc version

The current directory is the workspace root , same meaning as a workspace root in the desktop app: it’s where code/<lang>/ and the .flo files themselves live. fc run -a only looks directly in that directory, not recursively.

Note

-a scans the current directory only, non-recursively. If your .flo files live in a subdirectory, either cd into it first or pass the file paths explicitly.

Flags on fc run:

FlagDefaultMeaning
-aoffRun every .flo file in the current directory
-timeout30sPer-flow run timeout

What it does on startup

When you run fc, it applies the same workspace setup the desktop app would:

  • Loads every enabled language’s code project, so Code Nodes resolve the same way they do in the app.
  • Applies the workspace’s default environment variable set, so ${env.NAME} references in your flow resolve the same way they would from the app , see Template Syntax Reference.
  • A language whose project fails to open is skipped, not fatal , a flow that doesn’t need it still runs fine.

Output

Each flow prints its path, then one line per node as results land , + <name> on success, x <name>: <error> on failure:

checkout.flo
  + Get user
  + Extract login

A non-zero exit means at least one node in at least one flow failed , check the printed x lines for which one and why.