UiPath Documentation
uipath-cli
latest
false
UiPath CLI user guide

uip maestro flow validate

Syntax and options for `uip maestro flow validate`, which validates a `.flow` file against the schema and optional governance policies.

uip maestro flow validate validates a .flow file against the Flow schema with structural cross-field checks. An optional --governance pass additionally validates agent nodes against your organization's governance policies.

Synopsis​

uip maestro flow validate <flowFile> [--governance] [--strict-bindings] [--strict-expressions]
uip maestro flow validate <flowFile> [--governance] [--strict-bindings] [--strict-expressions]

Honors global options. Exit codes follow the standard contract.

Arguments​

  • <flowFile> (required) — path to the .flow file, or a project directory containing one. For a directory, the command validates the same .flow file that uip maestro flow debug runs: the MainFile from project.uiproj, then <Name>.flow, then the first .flow file in the project root, content/, or flow_files/. The command fails when the directory has no .flow file.

Options​

  • --governance — also validate agent nodes against organization governance policies. Requires uip login; the CLI fetches enforcements and the allowed modelNames from the platform before running the check. If the fetch fails, the command errors out — omit --governance to skip policy checks.
  • --strict-bindings — fail validation when a Managed HTTP node (core.action.http.v2) carries a connector-shaped label but no Integration Service binding. Default: warn only — omitting this flag still runs the check, it just doesn't fail the build.
  • --strict-expressions — fail validation when an expression or script body has a type error, per the same expression checker the canvas uses. Default: warn only. This CI-gating check always runs; the flag only controls whether its findings are fatal.

Behavior​

  • Schema validation runs locally and does not require login.
  • Structural checks ensure references between nodes, edges, bindings, variables, and definitions are consistent.
  • With --governance, any agent node whose configuration (model, tools, policies) conflicts with the fetched enforcements is flagged.
  • Node and edge IDs that start with preview are errors: the converter that packs the flow leaves those nodes and edges out, so uip maestro flow pack and uip maestro flow debug fail. Rename the node or edge, and update its edges and $vars references. Sticky notes are exempt.

Examples​

# Structural validation only (no login required)
uip maestro flow validate invoice-flow.flow

# Full validation including governance policy for agent nodes
uip maestro flow validate invoice-flow.flow --governance

# Validate the project's main .flow file
uip maestro flow validate ./my-flow-project

# Fail on expression and script type errors (warnings by default)
uip maestro flow validate invoice-flow.flow --strict-expressions
# Structural validation only (no login required)
uip maestro flow validate invoice-flow.flow

# Full validation including governance policy for agent nodes
uip maestro flow validate invoice-flow.flow --governance

# Validate the project's main .flow file
uip maestro flow validate ./my-flow-project

# Fail on expression and script type errors (warnings by default)
uip maestro flow validate invoice-flow.flow --strict-expressions

Data shape (--output json)​

On success:

{
  "Code": "FlowValidate",
  "Data": {
    "File": "invoice-flow.flow",
    "Status": "Valid"
  }
}
{
  "Code": "FlowValidate",
  "Data": {
    "File": "invoice-flow.flow",
    "Status": "Valid"
  }
}

When the file is valid but has warnings, Data also carries Warnings: a string with the warning count followed by one - [<path>] <message> line per warning.

On validation failure, the command exits with code 1 and returns a Failure result. Message is Validation failed for <file>, and Instructions holds the error count followed by one - [<severity>] [<path>] <message> line per issue.

See also​

Was this page helpful?

Connect

Need help? Support(opens in new window)

Want to learn? UiPath Academy(opens in new window)

Have questions? UiPath Forum(opens in new window)

Stay updated