How Progflow detects Termux
On startup, Progflow checks two signals to decide whether it is running in a Termux environment:- The
$PREFIXenvironment variable starts with/data/data/com.termux - The
termux-open-urlbinary is present in yourPATH
Installation
The standard curl installer works on Termux without any changes. It detects the Termux environment and installs the right build dependencies automatically (pkg install rust build-essential clang):
~/.local/bin. If that path is not already in your PATH, the installer adds it to your shell profile.
How URL opening works
On Termux, Progflow opens URLs in two steps:- Primary: runs
termux-open-url <url>, which hands the URL to the Android intent system and opens it in your default browser - Fallback: if
termux-open-urlfails, runsam start -a android.intent.action.VIEW -d <url>directly using the Android Activity Manager
If URLs are not opening, check that the You also need to install the Termux:API companion app from F-Droid. Without it,
termux-api package is installed:termux-open-url is available but silently fails.Editor commands on Termux
Termux runs inside the Android terminal — there is no display server, so GUI editors like VS Code or gedit will not work. Use a terminal editor instead:| Editor | Install | Command to use in flow |
|---|---|---|
| Neovim | pkg install neovim | nvim . |
| Vim | pkg install vim | vim . |
| nano | pkg install nano | nano . |
| Emacs | pkg install emacs | emacs . |
| micro | pkg install micro | micro . |
~/.config/flow/<name>.json directly.
Example: setting up a Termux flow
Limitations
- No GUI editor support. Only terminal editors work because Termux has no display server.
- URL fallback requires a browser. If no browser is installed on the device, URL opening will silently fail.
- Single-session terminal. Progflow spawns the editor as a background process. On Termux, background processes may be killed by Android when the app is backgrounded. Use Termux’s wake-lock feature (
termux-wake-lock) to prevent this if needed.