OpenLolo
Let AI use your iPhone. Without your passwords.
OpenLolo lets an AI such as Claude or ChatGPT do tasks on your iPhone. It looks at the screen,
opens apps, taps and types, in the apps you are already signed in to. It runs on LoloBox, a
pocket-size computer paired with one iPhone. Nothing is installed on the phone, you approve
every AI that connects, and you can stop it at any time.
Website · Docs ·
Shop
How it works
Your AI (Claude, ChatGPT) ── MCP over the internet ──▶ LoloBox ── USB or Wi-Fi ──▶ Your iPhone
- LoloBox controls the iPhone through Apple's CoreDevice services: screenshots, touch,
typing and the hardware buttons. No jailbreak, no app, no profile, no certificate to renew.
- Your AI connects to LoloBox as an MCP server. You approve each AI on the box page, and
can pause or revoke it there.
- Pair once with a USB cable. After that, LoloBox can also reach the phone over Wi-Fi.
See how OpenLolo compares with Siri, Shortcuts and other
tools, and what it can and cannot do.
Get started
You need an iPhone on iOS 26 or later. Check the full
requirements first.
- Get a LoloBox. Buy one ready-made,
or build your own
with the recommended Radxa ZERO 3W build. Raspberry Pi guides are coming soon.
- Pair your iPhone. Plug it into the box, tap Trust and turn on Developer Mode. The
pairing guide takes about five minutes.
- Connect your AI. Add your box to
Claude or ChatGPT and approve it.
Something not working? See troubleshooting.
Install on your own board
Building your own box? Run this on Debian 13 ARM64 or Raspberry Pi OS 64-bit:
curl -fsSL https://openlolo.com/install.sh | sudo sh
It downloads the latest release, verifies its
checksum and starts the services. The installer guide
walks through it, and install options
covers flags such as a LAN-only box.
What's in this repository
Everything that runs on the box.
| Path | What it is |
|---|
apps/device | The box service (Python). Talks to the iPhone and serves the MCP tools and the box page. |
apps/portal | The box page (React), where you approve AI and see what it does. |
packages/sdk-python | Python SDK for scripting the iPhone from your own code. |
packages/ui | Shared UI components and styles for the box page. |
packages/config | Shared TypeScript config. |
Develop
Box service, from apps/device (needs uv):
uv sync --frozen --dev --extra mcp
uv run openlolo serve --simulate # a simulated phone; box page at http://127.0.0.1:8080
uv run --extra mcp pytest -q
Box page and shared UI, from the repository root (needs Bun):
bun install
bun run --filter portal build # builds the box page into apps/device
bun run check-types && bun run check # TypeScript and Biome
Set up the Git hooks once with bun run prepare and
uv run --project apps/device pre-commit install. More on the box service, including the
simulator, is in apps/device/README.md.
Every v* tag builds the box tarball and publishes it as a
GitHub Release, which the installer uses.
Contributing
Read CONTRIBUTING.md first: you need to be vouched before your first pull
request. Everyone follows the Code of Conduct. Report security problems
privately as described in SECURITY.md.
License
MIT (LICENSE). The box's CoreDevice worker runs on
pymobiledevice3, which is GPL-3.0, so a worker
distributed together with it is distributed under GPL-3.0 as a whole. See
THIRD_PARTY_NOTICES.md.