CLI
Last updated on May 21, 2026
Learn how the TofuPilot CLI runs every subcommand for procedures, runs, units, stations, and the REST API from a single binary on macOS, Linux, and Windows.
The tofupilot CLI is a single binary that runs procedures locally, manages every resource through the REST API, and powers a factory Station when installed as a system service. You get one binary, one credential file, and a consistent flag layout across every subcommand.
Install
The CLI runs on macOS, Linux, and Windows, and you install it with a one-line script.
curl -fsSL tofupilot.sh/install | sh$p = "$env:TEMP\tp-install.ps1"; irm https://tofupilot.sh/install.ps1 -OutFile $p; powershell -ExecutionPolicy Bypass -File $p; ri $p -EA 0After install, run tofupilot --help to see every subcommand, or jump straight into tofupilot login to authenticate.
tofupilot login
Authenticate the CLI and start using every subcommand.
tofupilot run
Execute a procedure locally with the same operator UI as a station.
Station
Install the CLI as a system service on a factory bench.
Framework detection
tofupilot run scans the procedure directory, picks the framework that fits, and runs the suite under a framework-specific connector that maps outcomes, Measurements, Logs, and Attachments to the dashboard.
The CLI walks the directory in a fixed order, and the first framework it recognizes wins.
procedure.yaml → TofuPilot Framework
openhtf in deps → OpenHTF
pytest config → Pytest
.robot files → Robot Framework
main.py only → Plain PythonWhen a repo carries both an OpenHTF suite and pytest tests, OpenHTF wins because pytest is assumed to be unit-test tooling for the OpenHTF code. When a repo carries pytest tests next to .robot files, pytest wins for the same reason.
How is this guide?
ReportsPreview
Learn how to compose a dashboard from saved insights with TofuPilot Reports, including global filters, layouts, and shared time ranges.
tofupilot attachments
Drive the TofuPilot two-step upload directly from the terminal to script raw multipart uploads of reports, logs, and images outside the run flow.