run_flow
Execute Maestro flows on a device using inline YAML, file paths, or a directory. Apply include/exclude tags for selective execution.
Instructions
Execute one or more Maestro flows on a device. Provide exactly one of: yaml (inline YAML string), files (array of flow file paths), or dir (directory path). includeTags and excludeTags are only applicable when using dir. When to use: run_flow gives the full Maestro vocabulary (assertions, conditionals, loops, retries); for a simple sequence of taps/types prefer run_steps, and for one gesture use the individual tools. TRUST BOUNDARY: Maestro flows can run arbitrary JS (evalScript) and local files (runScript/files/dir), so treat run_flow input as locally-executable code.
Input Schema
| Name | Required | Description | Default |
|---|---|---|---|
| udid | Yes | Simulator / device UDID (from device_list) | |
| yaml | No | Inline Maestro YAML flow string (preferred for exploration) | |
| files | No | Array of .yaml flow file paths | |
| dir | No | Directory containing .yaml flow files | |
| includeTags | No | Only run flows tagged with these tags (dir mode only) | |
| excludeTags | No | Exclude flows tagged with these tags (dir mode only) | |
| env | No | Environment variables passed to the flow | |
| timeoutMs | No | Flow timeout in milliseconds (default 120 000) |