Naturally, you can’t just download iSH from the App Store—Apple typically doesn’t allow this kind of app. The developers used a workaround via TestFlight—Apple’s app testing program. Installation isn’t much harder because of this: just install TestFlight and follow the relevant link on ish.app.

Here we have Alpine Linux—a minimalist, BusyBox‑based distribution known for fast boot times. You can run apk
, apk
, and start installing packages with apk
. Out of the box, the system is almost empty—there isn’t even curl.
I tried installing and running Python—the installation went smoothly, but the REPL crashes immediately with a “Bad System Call” error. That said, you can still run scripts.
You can also use Vim or nano, though it takes a bit of effort. In nano, for example, Enter doesn’t register when you try to save the file, but you can press Ctrl-S and then Ctrl-X. In Vim, the cursor behaves oddly in insert mode.
The project page has lists of things that don’t work and things that definitely do (including compilers). Essential tools like git and pip show up in both, meaning there’s some compatibility, but you can run into issues at every turn.

A toy Linux on a phone is cute and fun, but it’s still unclear whether it’s actually useful. For example, I tried installing Nmap: it dragged in 97 MB of dependencies and then threw an “Illegal instruction” when I tried to run it.
Since you don’t have access to the hardware or the local network, it’s much more productive to install a more advanced SSH client than iSH and use Linux on a remote server. For local tasks, the Shortcuts app and Pythonista are handy—and they work together quite well.