OpenMinis on-device Alpine Linux agents iPhone GitHub — iSH vs Termux vs mobile Claude wor

OpenMinis on-device Alpine Linux agents iPhone GitHub — iSH vs Termux vs mobile Claude wor
Share

OpenMinis is the rare mobile app whose headline feature is architectural, not a chat window: it drops a full Alpine Linux shell onto your iPhone and lets a model drive it. Here is what actually ships inside.

What OpenMinis Packs: ARM64 iSH Fork, PRoot, and iPhone API Bridging

What OpenMinis Packs: ARM64 iSH Fork, PRoot, and iPhone API Bridging

OpenMinis is an open-source, on-device AI agent app that boots a local Alpine Linux workspace inside a consumer iPhone app, released to the public under GNU GPL v3.0 in July 2026 . The technical novelty is delivery: instead of the slow x86 usermode emulator that stock iSH runs on the App Store, OpenMinis embeds an ARM64 fork of iSH and boots an Alpine minirootfs, so scripts, apk installs, and real files execute locally in the app sandbox with no server required .

Quick Answer: OpenMinis is a free, GPLv3, open-source iPhone app (July 2026) that runs an ARM64 iSH fork booting Alpine Linux entirely on-device — a real POSIX shell with apk, Python, Node, git, and SSH — that any model (Claude, GPT, Gemini, OpenRouter) can operate through text commands.

On Android, where a real Linux userland exists, OpenMinis instead uses PRoot for a user-space chroot over the same Alpine rootfs, and distributes as a GitHub-Releases APK with no Play Store listing — the same sideload pattern Termux settled on . The second novel piece is the Apple-framework bridge. Because iOS sandboxing blocks a Linux process from touching native APIs, OpenMinis surfaces device capabilities as shell-callable CLIs — Health, Calendar, Reminders, Contacts, HomeKit, Bluetooth, Clipboard, Media, and Alarms — so a sandboxed model can "operate" the phone through text .

LayeriOSAndroid
Linux deliveryARM64 iSH fork + Alpine minirootfsPRoot chroot + same Alpine rootfs
DistributionApp Store + TestFlight betaGitHub-Releases APK (no Play Store)
Native bridgeEventKit/HomeKit/MusicKit as CLIsShared skill/CLI layer

It is multi-model — Claude, GPT, Gemini, OpenRouter, or any OpenAI-compatible endpoint, switchable per conversation — with API keys stored in the device Keychain and no analytics claimed . MacStories' Federico Viticci called it "the most impressive indie app" in his July 2026 review .

Before Sideloading: Xcode 16.3, NDK r28, Meson, and Ninja

Screenshot of https://github.com/OpenMinis/OpenMinis/blob/main/BUILDING.md

You do not have to compile OpenMinis yourself. Because it packages GPLv3 code inherited from iSH and PRoot, the full toolchain is public in BUILDING.md, but building from source is heavy: every native dependency is compiled rather than shipped as an opaque binary, and a first build runs 30–60 minutes. Clone with --recurse-submodules before anything else, or the submodule sources will be missing.

The iOS path needs Xcode 16.3 or later and an Apple Developer account for on-device testing. Install the host tooling with brew install ninja llvm libarchive pkg-config and then pip3 install meson. The build then follows an ordered, silent-failure-prone chain:

  1. build_lame.sh — LAME 3.100
  2. build_ffmpeg.sh — FFmpeg 6.1.2, LGPL config
  3. build_ish.sh — the ARM64 iSH fork
  4. prepare_alpine_rootfs.sh — the Alpine minirootfs

Order matters: the docs warn that FFmpeg links against LAME, so if LAME is not built first, MP3 encoding is silently dropped with no error message . The Android path wants JDK 17, the Android SDK (compileSdk 36 / targetSdk 35 / minSdk 26), NDK r28+, and CMake 3.22.1; run build_proot.sh and prepare_android_sandbox.sh before ./gradlew :app:assembleDebug.

For most developers the compile is optional. The fastest path on iPhone is the TestFlight beta, which receives fixes ahead of reviewed App Store releases, and on Android the prebuilt GitHub Releases APK — neither requires source compilation.

How to Sideload on iPhone or Grab the Android APK

How to Sideload on iPhone or Grab the Android APK (source: sealos.io)

On iPhone, the quickest route is the TestFlight beta linked from the OpenMinis GitHub page, which carries the latest iteration and receives fixes ahead of the reviewed App Store build. The App Store release lags by roughly one review cycle but installs without a developer account; both channels are free. On Android there is no Play Store listing — Google Play distribution is problematic for Termux-class tooling that executes fetched code — so you download the APK directly from GitHub Releases and allow install from unknown sources.

First launch is configuration, not compilation. Open Settings and paste an API key for your chosen endpoint — Claude, GPT, Gemini, OpenRouter, or any OpenAI-compatible URL. Keys are stored in the device Keychain and are not transmitted to OpenMinis servers, and you can switch the model per conversation . No account signup is required to start a session.

To extend the agent, clone the skills repo and point the app at the local directory:

  • Clone OpenMinis/MinisSkills, which ships more than 50 community skills .
  • Pick what you need — examples include tavily-search, health-sleep-analysis, spotify-hub, and pdf-converter, each a SKILL.md plus scripts/ and references/.
  • Load on demand by directing the app at the local folder; skills authored for Claude, Codex, OpenClaw, or Hermes Agent are compatible.

iSH Emulation Pace, Rootfs Hashes, and the 2.5.2 Clause

Performance and provenance are where OpenMinis stays unproven, and both matter before you trust it with real work. The ARM64 iSH fork boots an Alpine minirootfs and runs native instructions instead of the slow usermode x86 emulator that ships with stock iSH, so scripts and apk installs execute faster on-device . But no independent benchmark against a Termux relay or a cloud VPS has appeared as of August 2026 — the "fast phone agent" framing rests on first-party notes and early-reviewer sentiment, not reproducible numbers.

The supply chain deserves the same skepticism. The prepare_alpine_rootfs.sh script fetches minirootfs artifacts from Alpine mirrors, and the public version does not pin a cryptographic hash per fetched archive . That is not evidence of tampering, but it leaves provenance partially unverified until you add hash checks, pin versions, and record build provenance yourself.

There is also a policy overhang. App Store Review Guideline 2.5.2 restricts apps that download and execute code altering their own behavior, and terminal-and-agent apps sit in a gray zone — so whether the reviewed App Store binary corresponds to the public source is an open question. The repo accepts issues but not pull requests . Treat OpenMinis as experimental until rootfs hash pinning, signed-release provenance, and sandbox boundaries are confirmed independently.

MinisSkills and Hybrid Phone+VPS Combinations

OpenMinis stays extensible through a SKILL.md system: YAML frontmatter (name, description) plus Markdown instructions the model loads on demand per conversation. The format is explicitly compatible with skills authored for Claude, Codex, OpenClaw, and Hermes Agent , so existing skill libraries port over without rewriting. The companion MinisSkills repo ships 50+ community contributions — free-tts, youtube-music-hub, notion-hub, spotify-hub, health-sleep-analysis — each laid out as scripts/, references/, assets/, and optional evals/ directories .

For compute-heavy work, the relay still wins. Pieter Levels' July 8, 2026 setup — Claude Code on a VPS, Termius on iPhone, Tailscale plus SSH/tmux for the link — remains the pragmatic pattern when the phone should only handle I/O and approvals . OpenMinis earns its place at the other end: offline, privacy-sensitive, lightweight automation where standing up that relay is impractical.

The two are not mutually exclusive. You can ssh from OpenMinis' Alpine shell into a remote machine over Tailscale — on-device orchestration with cloud-scale compute on tap, no extra app required . The concrete takeaway: use OpenMinis for local, auditable phone automation, and hand the heavy jobs to a VPS through its own shell when the workload outgrows the handset.

Frequently asked questions

Is OpenMinis the same as iSH?

No. OpenMinis is iSH-derived but ships a specialized ARM64 fork of iSH that boots an Alpine minirootfs locally, instead of the stock App Store iSH that runs a slow usermode x86 emulator . On top of that shell it adds multi-model LLM integration (Claude, GPT, Gemini, OpenRouter), a native iPhone API bridge, and a SKILL.md extensibility layer . It is opinionated for agent workflows, not a general iPhone laptop-Linux replacement.

Can I run Claude Code inside OpenMinis on iPhone?

Not in any documented, supported way. Claude Code is distributed as an npm-installed CLI for desktop and server terminals, not native iOS execution, and Anthropic closed a native Android installer request as "not planned" (issue #10644, 2026-01-11) . Installing npm inside OpenMinis' Alpine shell may be possible in theory, but it is undocumented and constrained by mobile CPU, iOS emulation overhead, and background-execution limits. Treat it as an experiment, not a path to a phone dev machine.

Why choose OpenMinis over Termux and a VPS relay?

Choose OpenMinis when you need offline, privacy-first, iPhone-only automation. Termux on Android is more mature and permissive for broad package compatibility and long-running daemons, and the Termux/Termius + Tailscale + SSH relay into a VPS is faster for compute-heavy jobs . But on iPhone there is famously "no Termux," and the relay needs cloud connectivity . OpenMinis collapses that relay into one sandboxed, local, open-source app when connectivity is unavailable or undesirable.

Is the OpenMinis supply chain auditable?

It is inspectable but not trivially auditable. The repo is public under GNU GPL v3.0 , yet a real audit spans far more than the Swift/Objective-C layer: it must cover shell scripts, submodules, mirror downloads, Xcode entitlements, and any runtime apk installs inside Alpine . The Alpine rootfs script fetches remote artifacts from Alpine mirrors without strong pinned cryptographic verification in the current public version . Add hash verification and version pinning before trusting a locally built binary as reproducible.

How does the iPhone API bridge actually work?

iOS sandboxing blocks a Linux process from calling native frameworks directly, so OpenMinis exposes device capabilities as command-line tools the in-sandbox model harness invokes as shell commands . Native APIs — Health, Calendar, Reminders, Contacts, HomeKit, Bluetooth, Clipboard, Media, and Alarms, backed by frameworks like EventKit, MusicKit, and HomeKit — are surfaced as CLIs a general model can call from text . This tunnels iPhone functions into the POSIX environment, letting a model "operate" the phone through ordinary commands.

Enjoyed this article? Subscribe to get new stories by email whenever they're published.

Subscribe