Timeout
Last updated on June 16, 2026
You can prevent phases from running indefinitely by setting a timeout. Phases without a timeout run without a time limit, except operator input, which times out after 5 minutes by default.
main:
- name: Run Long Test
python: phases.tests
timeout: 60sYou can use human-readable format with the following units: ms (milliseconds), s (seconds), m (minutes), h (hours), and combine them like 1h30m or 2m500ms.
TofuPilot terminates phases that exceed their timeout and logs a warning at 75% of the timeout duration, regardless of which runtime you use.
The Python worker process is terminated when a phase exceeds its timeout.
The executable worker process is terminated when a command exceeds its timeout.
The UI phase is terminated when it exceeds its timeout, even if waiting for operator input.
How is this guide?