System requirements
Before installing iSH, ensure your device meets these requirements:Minimum iOS version: iOS 11 or later
Compatible devices: iPhone, iPad, and iPod touch
Storage: At least 100MB free space (more recommended for packages)
Compatible devices: iPhone, iPad, and iPod touch
Storage: At least 100MB free space (more recommended for packages)
Installation methods
You can install iSH through two primary channels:- App Store (Stable)
- TestFlight (Beta)
Install from the App Store
The App Store version is the most stable release, recommended for most users.Search for iSH Shell
Use the search function to find “iSH Shell” or visit the direct link: iSH Shell on the App Store
Download and install
Tap the “Get” button to download and install iSH. You may need to authenticate with Face ID, Touch ID, or your Apple ID password.
First launch
When you launch iSH for the first time, the app performs several initialization steps:Filesystem setup
iSH creates the Alpine Linux root filesystem. This process takes 30-60 seconds and happens automatically. You’ll see a terminal window with initialization messages.The app sets up the fakefs filesystem (see
kernel/init.c:78) which stores Linux file data and metadata in a format compatible with iOS.Root mount
The system mounts the root filesystem, creating the standard Linux directory structure:
/bin- Essential command binaries/etc- Configuration files/home- User home directories/tmp- Temporary files/usr- User programs and data/var- Variable data files
The hash symbol
# in the prompt indicates you’re running as root. In iSH, you’re always root since the entire Linux environment runs in iOS’s sandbox with your app’s permissions.First-launch configuration
After successful initialization, you should verify your environment and perform some basic setup:Verify the installation
Run a few basic commands to ensure everything is working:Update package indices
Before installing any packages, update the package repository indices:Set your timezone (optional)
By default, iSH uses UTC time. To set your local timezone:Understanding the file system
iSH uses a custom filesystem implementation called fakefs that bridges Linux and iOS:How fakefs works
The fakefs implementation (located infs/fake.c) provides:
- Real file storage: Actual file content is stored in iOS’s app container
- Metadata database: Linux-specific metadata (permissions, ownership, device numbers) is stored in a SQLite database
- iOS integration: Files are accessible through iOS’s Files app via a File Provider extension
Accessing iOS files
iSH can access files in its own container and in shared iOS locations:The iSH filesystem is isolated within the app’s sandbox. You can use the Files app on iOS to access iSH files and share documents between iSH and other iOS apps.
Troubleshooting installation issues
If you encounter problems during installation or first launch:App crashes on launch
Solution: Force quit and restart
Solution: Force quit and restart
- Swipe up from the bottom of the screen (or double-click Home button)
- Find iSH in the app switcher
- Swipe up on iSH to force quit
- Relaunch iSH from the home screen
Filesystem initialization fails
Solution: Check storage and reinstall
Solution: Check storage and reinstall
- Verify you have at least 100MB of free storage on your device
- Delete the app completely (this removes all iSH data)
- Restart your device
- Reinstall iSH from the App Store or TestFlight
Blank screen or unresponsive terminal
Solution: Check terminal settings and restart
Solution: Check terminal settings and restart
- Try tapping anywhere on the screen to activate the keyboard
- Force quit the app and relaunch
- If using an external keyboard, try disconnecting it
- Check if the terminal theme might be making text invisible (Settings → Appearance)
Package manager not working
Solution: Update package indices
Solution: Update package indices
Storage management
iSH stores its filesystem within the app’s container. Here’s how to manage storage:Check disk usage
Clean up space
Upgrading iSH
When updates are available:App Store updates
- Updates appear in the App Store’s “Updates” tab
- Tap “Update” next to iSH
- Your filesystem and data are preserved across updates
TestFlight updates
- TestFlight notifies you of new builds
- Open TestFlight and tap “Update” next to iSH
- Beta updates may occur several times per week
Next steps
Now that you have iSH installed and running:Quickstart Guide
Learn the essential commands and install your first packages
Architecture
Understand how iSH works under the hood
Getting help
If you continue to experience issues:- Check the iSH Wiki for tutorials and guides
- Join the Discord server for community support
- Report bugs on GitHub Issues
- Check iOS Settings → Privacy → Analytics for crash logs if the app is crashing