00MULTI-SESSION DISPLAY · iPHONE

Your agents fly the missions.
This is the cockpit.

Airpocket puts the Claude Code and Codex sessions running in terminals on your Macs onto your iPhone. See which one needs you, read along as it works, answer a prompt, change the model, stop a run. Over your own Tailscale network. No accounts, no cloud.

Star on GitHub How it works
LICENCEMIT
SERVERSNONE
LINKYOUR TAILNET
W
E
N
S
Airpocket session list: three sessions waiting — a permission prompt, a question and a finished turn
NEEDS PERMISSION
WORKING
INSTALL · FROM SOURCE UNTIL THE NPM RELEASENODE 20+ · macOS
$ git clone https://github.com/oncelozguleso/airpocket.git$ cd airpocket && npm install -g .$ airpocket setup
Then airpocket pair and scan the code it prints with your phone. Then start agents with airpocket run claude in whatever terminal you use. The three steps · The threat model
01
FROM THE PHONE

Four things you'll do most

PAGE 01 / 06
MFD 1NEEDS PERMISSION
Session list with one session needing permission
See which session needs you

Every session on every Mac in one list, sorted by who is waiting. Caution lights say whether it's a permission prompt, a question, or a finished run.

MFD 2YOUR TURN
An agent's question with numbered options to tap
Answer with one tap

The agent's numbered options become buttons. Tap one and the keystroke lands in the terminal the session is actually running in. Or type a reply.

MFD 3OPUS 5HIGH
Controls sheet: Opus 5 active, Sonnet 5 selected, effort high
Change model or effort mid-run

Switch model, effort or permission mode, compact the context, or send one keystroke from the keypad. Stop a run when it heads the wrong way.

MFD 4CHANGELOG.md
A code file the agent wrote, open on the phone
Open what it made

Files the agent wrote or mentioned, with viewers for text, code, Markdown and images. PDFs and web pages open in a separate, locked-down view.

REAL SCREENS · 390×844 · INVENTED SESSIONS, NO PERSONAL DATA
02
HOW IT WORKS

Five lines, no server

PAGE 02 / 06
SCHEMATIC · DATA PATHENCRYPTED END TO END
YOUR MAC
CLAgent in a terminal
HOOKS
airpocket service
TAILNET WIREGUARD
YOUR PHONE
PUBLIC INTERNET · NOT ON THE PATH
  1. 1 —The agent's own hooks tell a small service on your Mac what just happened.
  2. 2 —That service talks to your phone over your own Tailscale network.
  3. 3 —What you send is typed into the terminal the session is really running in.
  4. 4 —Nothing leaves your machines: no relay, no telemetry, no third party.
  5. 5 —The agent runs in the terminal you already use: airpocket run claude puts it in a tmux session Airpocket owns, and no server sits in between because there is no server.
03
WHAT YOU NEED

Preflight, four items

PAGE 03 / 06
ITEM 1
macOSThe Mac the agent already runs on.
ITEM 2
Node 20 or newerFor the service and the CLI.
ITEM 3
TailscaleOn the Mac and on the phone, same tailnet.
ITEM 4
tmuxAny terminal works on top of it: airpocket run claude starts the agent in a tmux session Airpocket owns.
YOUR TERMINAL

It works in the terminal you already use: Terminal.app, iTerm2, Warp, Ghostty, a VS Code or Cursor pane. Start agents with airpocket run claude, or let setup alias claude and codex to it, and nothing about how you start them changes. Sessions started inside tmux or Superset directly work too.

04
INSTALL

Sequence, three steps

PAGE 04 / 06
1TERMINAL
$ git clone https://github.com/oncelozguleso/airpocket.git
$ cd airpocket && npm install -g .
Installs the CLI and the service from source. An npm package follows at launch.
2TERMINAL
$ airpocket setup Adds its hooks to your agent config by merging into it, never replacing it, and keeps a backup of the original.
3TERMINAL · THEN PHONE
$ airpocket pair Scan the code it prints with your phone, then add the page to your Home Screen.
REVERSIBLE
airpocket uninstall removes the hooks, restores the backed-up config and deletes the paired device tokens. Nothing of yours is left behind.
05
SECURITY AND PRIVACY

The first question, answered first

PAGE 05 / 06
YOUR HARDWARE

The service runs on your Macs. Your code, your conversations and your keys stay there.

YOUR TAILNET

Phone and Mac talk over Tailscale only. No port is opened to the public internet and there is no relay we operate.

PER-DEVICE TOKENS

Each paired phone gets its own token. Remove a phone on the Mac and that token stops working immediately.

SCOPED FILES

A file is reachable from the phone only through the session that made or mentioned it. There is no general file browser.

THREAT MODEL SECURITY POLICY
06
FAQ

Questions people ask

PAGE 06 / 06
Q1
Does my code leave my Mac?

No. The service reads and writes only on that Mac, and sends to your phone what you see on screen. Whatever your agent already sends to its own model provider is unchanged by Airpocket.

Q2
Do I need Superset?

No. Superset and tmux work directly; any other terminal works through airpocket run, which setup can make the default for claude and codex.

Q3
Does it work with Codex?

Yes, with its own controls: model, effort, permissions, plan, compact, diff and review. Codex support is tested against recorded sessions; the first real end-to-end run is still to come.

Q4
What if I'm not on my home network?

It still works. Tailscale connects your phone to your Mac wherever both are, so a coffee shop or a plane with wifi is the same as your desk.

Q5
What does it cost?

Nothing. It's MIT licensed and there is nothing hosted to pay for. You pay your model provider as you already do.

Q6
What happens if the Mac sleeps?

The phone shows that Mac as offline and hides its sessions. When the Mac wakes, the sessions and their history come back on their own.

Q7
Can other people on my tailnet see my sessions?

Only a device you have paired can connect, and each pairing is a one-time code you approve on the Mac. Tailscale ACLs can narrow it further.

Q8
How do I get rid of it?

Run airpocket uninstall, then remove the Home Screen icon. Your agent config is restored from the backup setup made.

CLEARED FOR TAKEOFF

Put your sessions in your pocket.

A clone and a setup on the Mac, one scan on the phone. Everything stays on hardware you own.

$ git clone https://github.com/oncelozguleso/airpocket.git$ cd airpocket && npm install -g .$ airpocket setup
View the source on GitHub