v0.1.1 Built on Pi Durable →

Your coding agent,
in your pocket.

Pi Pocket is a durable, multiplayer web app for Pi agents. Run it on your computer or right on your phone, then drive it from any browser: with your team, across restarts, on any model.

$ git clone https://github.com/TannerMidd/pi-pocket.git
Self-hosted Any provider No build step Node.js 22.19+
1 fileSQLite holds every run
0build steps
4 waysto connect your devices
Anyprovider or model
Features

A real coding agent, built for the phone in your hand.

Everything you expect from Pi, plus what a shared, always-on agent needs.

Durable by design

Every model call, tool call, queued message, and subagent is a durable task in SQLite. Restart mid-run and the work picks up where it stopped.

Multiplayer

Any number of people and devices can watch and steer one live session, with presence, a side chat, pins, reactions, and shared notes.

Any provider, any model

Uses Pi's own model runtime and sign-ins. Pick the model and thinking level per session, and sign in to providers from the app.

Made for phones

Streaming answers, tool cards with diffs and live output, push notifications, and an app you can add to your home screen.

Steer or queue

Redirect Pi while it works, or queue a follow-up for when it finishes. Withdraw queued messages or stop the run at any time.

Artifacts and subagents

Publish sandboxed HTML, Markdown, and SVG artifacts. Spawn background subagents you can open, watch, and talk to.

Codemode Take turns @mentions Shared notes View-only invites QR sign-in Uploads & inline images Extensions sheet Tokyo Night theme
Durable

Kill it mid-run.
It keeps going.

Pi Pocket runs on Pi Durable. Each step of a run is committed to SQLite before anyone sees it, so a restart, a dropped connection, or a closed tab never loses work.

  • Safe replays. Tool calls that are safe to repeat rerun on their own. The rest come back to the model as interrupted, so nothing runs twice by accident.
  • One shared truth. Browsers render only committed state, so a device that reconnects or joins late sees exactly what everyone else sees.
  • Nothing forgotten. Queued messages, approvals, and subagents all survive restarts.
Multiplayer

One agent.
Everyone at the table.

Share a session with your team or just your other devices. Everyone sees the same live run, and Pi Pocket keeps people from talking over each other.

  • Presence. See who is here, and get a heads-up when someone else is writing to Pi.
  • Side chat. Talk it over without Pi listening. @mention people, quote Pi's replies, and send the best idea to Pi.
  • Take turns. Hand one person the wheel. Everyone else can ask to drive.
  • Invites and roles. Let people steer or just watch, in every session or only one, with a one-time link or QR code.
  • Notifications. Get a push when Pi finishes, needs approval, or someone mentions you.
Live-editable

Change the app from inside the app.

There is no build step. Ask Pi to change Pi Pocket and watch it happen, without leaving the conversation.

web/

Reloads instantly

Save a file and every open browser reloads.

src/server/extensions/

Hot-reinstalls

Extensions reload into the running server. A broken one keeps its last good version.

src/server/

Restarts cleanly

Restart from the menu. Running work resumes on the other side.

Access

Reach it from anywhere.

The launcher asks how your devices should connect, then shows a sign-in link and a QR code for your phone.

--access local

This device

Listens on 127.0.0.1. Bring your own tunnel, such as ngrok or tailscale serve.

--access lan

Local network

Any device on the same network, over plain http.

--access tailscale

Tailscale

Only devices on your tailnet, encrypted by Tailscale.

Runs on Android too: install it in Termux and keep everything on the phone.

Guardrails

Powerful, with a human in the loop.

An agent with a shell is a serious tool. Pi Pocket keeps people in charge of what it runs.

  • Lancet Guard. When installed in Pi, it checks every bash, write, and edit call. Risky ones wait for someone in the session to allow or deny them, and the decision survives restarts.
  • View-only roles. Viewers can read, react, and chat, but cannot send to Pi, approve, or upload.
  • Sandboxed artifacts. Artifacts open in an isolated sandbox with no access to the app or its cookies.
!

Steering means shell access. Anyone who can steer can make Pi run commands on your machine. Invite only people you trust with that.

Get started

Running in a minute.

  1. Sign in with PiRun pi and use /login for your provider, or sign in from the app later.
  2. Start the launcherChoose how your devices connect. Your choice is remembered.
  3. Scan the QR codeYour phone signs in for a year. Add it to your home screen for an app-like window.
# Requires Node.js 22.19 or newer
$ git clone https://github.com/TannerMidd/pi-pocket.git
$ cd pi-pocket
$ npm install
$ npm start
Options, remote access, and Termux notes are in the README.