Pipkin is a native Android app for agentic coding. Tell it what to build or fix, and it reads your code, runs commands, edits files, and checks its own work, all on your phone. It's built on the Pi agent harness and runs in Termux, so there's no laptop or cloud server doing the work somewhere else.
Most agents you use from a phone are remotes for a computer somewhere else. Pipkin runs the agent, your code, and every command it runs on the phone itself:
- No computer required. The agent, your files, git, and terminals all live in Termux on your
phone. Install compilers, runtimes, and databases with
pkg, or run Debian or Ubuntu withproot-distro, no root required. - Built on Pi. Pipkin is compatible with Pi's ecosystem of skills, tools, prompt templates, and extensions. Install extensions the usual Pi way and Pipkin picks them up.
- Native extension UI. Extensions that use Pi's RPC UI protocol render with native controls: choices, confirmations, and text fields appear as cards above the composer, and status lines, notices, and widgets each get a home.
- Android native. Pipkin is written in Jetpack Compose with no web view, so scrolling, typing, and streaming replies stay smooth in long chats. On foldables and tablets, split panes put chats, files, diffs, and terminals side by side.
- A real workbench. Review changes in the built-in git diff viewer, browse and read files with tree-sitter syntax highlighting for more than twenty languages, look back through commits, and open terminals without leaving the app.
- Your model, your plan. Sign in with a Claude Pro or Max subscription or an OpenAI Codex subscription, add a Gemini, Z.ai Coding Plan or Kimi Code API key, or add any OpenAI-compatible API, including hosted gateways and servers you run yourself. Add several and switch per chat.
- Runs in the background. Lock your phone or switch apps; a notification tells you when the chat is done or needs your answer. While you're in Pipkin, a small pill under the header tells you the same about your other chats.
- Guided setup. A step-by-step guide sets up Termux and installs Pi for you, explaining each permission it asks for.
- Bundled extensions. Pipkin ships web search and page fetching (a vendored copy of pi-web-access) and a to-do list widget.
- Backups. Save your settings, sign-ins, models, and extensions in one tap and restore them later.
- Android 10 or newer on a 64-bit (arm64 or x86_64) device.
- Termux from F-Droid (0.118 or newer, recommended) or Google Play (Android 11 or newer).
- A network connection while a chat is working. The agent runs on your phone, but the model runs at the provider you connect.
Download the latest APK from the releases page on your phone and open it to install. Android asks you to allow installs from your browser or file manager the first time. Later releases install over it as updates and keep your chats and settings.
Each release also lists the APK's SHA-256 checksum in SHA256SUMS, and you can confirm that GitHub
Actions built it from this repository with the GitHub CLI:
sha256sum --check SHA256SUMS
gh attestation verify pipkin-v<VERSION>.apk --repo jeph/pipkinThe build needs a JDK, the Android SDK, and Node.js and pnpm on your PATH; see
Development for the exact toolchain.
git clone https://github.com/jeph/pipkin.git
cd pipkin
./gradlew :app:installDebuginstallDebug installs on the device or emulator that adb is connected to. To build an APK
without installing it, run ./gradlew :app:assembleDebug and find it in
app/build/outputs/apk/debug/.
A build from source is Pipkin Dev, a separate app that installs beside a downloaded release rather
than over it. Both can use the same Termux: Pipkin Dev keeps its own state there, in ~/.pipkin-dev
and ~/.local/share/pipkin-dev instead of the release's ~/.pipkin and ~/.local/share/pipkin, so
it needs its own setup and sign-ins, and the two don't see each other's chats.
The Pipkin guide covers using the app:
- Get started: install Termux, walk through setup, and start your first chat.
- Connect a model: sign in with a Claude or OpenAI subscription, add an API key or an OpenAI-compatible API, and choose models per chat.
- Configure the agent: edit Pi's configuration, give the agent standing instructions, and use backups.
- Extensions: install Pi packages, write your own extensions, and add skills and prompt templates.
- Run in the background: keep chats and terminal commands running when you leave the app or lock the screen.
Building Pipkin needs:
- A JDK 17 or newer, through
JAVA_HOMEorjavaon yourPATH, to start Gradle. - The Android SDK with API level 37, NDK
30.0.16248370, and CMake4.1.2. Point Gradle at the SDK withANDROID_HOMEorsdk.dirinlocal.properties. - Node.js 22.19 or newer and pnpm, which build the host bundle.
- A network connection on the first build, which downloads the pinned tree-sitter grammars and the JDKs Gradle provisions for itself.
Run every check, including ktlint, detekt, Android lint, and the host's type check, lint, and tests:
./gradlew checkRun only the host's checks:
cd host
pnpm install --frozen-lockfile
pnpm run checkRun the website locally:
cd site
pnpm install --frozen-lockfile
pnpm run devPull requests are welcome. If you run into a bug, unexpected behavior, or a device-specific problem, please open an issue with your phone model, Android version, and Termux build. Reports from real-world use are especially helpful while the project is young.
Do not report suspected security vulnerabilities in public issues. Follow the security policy to submit a private vulnerability report.
Pipkin's interface started out modelled on Paseo, an open-source app for running coding agents from your desktop and phone, and some of its code is adapted from Paseo's: the folder search, and the file-type icon table and icon colours.
Pipkin is built on Pi and Termux, with Jetpack Compose, libghostty-android and Ghostty for the terminal, tree-sitter for syntax highlighting, Lucide and Material Icon Theme for icons, and pi-web-access for web search. The acknowledgements page credits the main open-source projects Pipkin uses.
Pipkin is released under the MIT License. Third-party code, fonts, and icons that Pipkin
includes keep their own licenses. The app lists them under Settings → About → Open-source
licenses. Their texts are in app/src/main/assets/licenses/, the
bundled Pi extensions' folders, and the files they were copied into, and the website serves its own
at /licenses.txt.


