Claude Code, Codex and Gemini
Pick the agent when you start a chat. Pilothouse only lists the CLIs installed on your Mac, and each session shows which agent it runs.
New in 1.1 Codex & Gemini, sub-agents, notifications
Pilothouse runs Claude Code, Codex and Gemini on your Mac and puts them in your pocket: start sessions in any project folder, follow every response, tool call and diff live, and approve or deny every action.
Features
A small menu bar app on the Mac starts and supervises the official command-line tools and keeps the Mac awake. The iPhone and iPad app is where you follow and steer them.
Pick the agent when you start a chat. Pilothouse only lists the CLIs installed on your Mac, and each session shows which agent it runs.
Running sub-agents get a live status. Tap one to open its own transcript — a sheet on iPhone, a side column on iPad.
Get a ping when a turn finishes or an approval is waiting, through ntfy or your own ntfy server. By default it only says “Task finished · folder name”.
Browse your Mac's home folder with favorites, recent folders and Git repositories marked, or create a new folder right from the phone.
See the diff of an edit or the command to run, then Allow, Deny or always allow it for the session. Unanswered requests are denied after 10 minutes.
Responses, thinking, tool calls, diffs and terminal output as they happen. Stop a turn like Ctrl-C; reopen any session from the last 30 days, offline too.
Bonjour finds the Mac at home or in the office. Elsewhere, Pilothouse uses your own Tailscale network — and can set it up for you, asking before every command.
The display may sleep; the Mac stays reachable. Optionally stay awake with the lid closed, switched off automatically on battery.
The iPhone app includes a simulated Mac, so you can try everything before installing anything on your Mac — no account needed.
How it works
Download the notarized DMG or use Homebrew. Pilothouse lives in the menu bar; if Claude Code is missing or not signed in, it shows a short setup guide.
Scan the TestFlight QR code — here or in the Mac app on first launch — and install Pilothouse from TestFlight.
On the Mac choose Pair New Device… and scan the code with the phone. Both screens show the same verification code — done.
Download
macOS 15 Sequoia or later · Apple silicon or Intel
Or with Homebrew:
brew tap ardasnturk/pilothouse https://github.com/ardasnturk/pilothouse-web
brew install --cask pilothouse
Needs at least one of the official CLIs, installed and signed in with your own account: Claude Code, Codex, Gemini CLI.
iOS / iPadOS 18 or later · via TestFlight
Scan with your iPhone camera, or open the link on the device:
Open in TestFlightThe public TestFlight link is coming soon.
TestFlight is Apple's free app for beta apps; if it is not installed yet, the link takes you to it first.
Security & privacy
Pilothouse never talks to Anthropic or any other AI provider and never touches your credentials: your own CLI does all the AI work, signed in with your own account. There is no server, no account and no telemetry.
The QR code holds the Mac's public key and a one-time token, valid for 5 minutes. Only the holder of the matching private key can complete the handshake.
Noise_IK_25519_ChaChaPoly_SHA256: mutual authentication with pinned X25519 keys, fresh session keys, ChaCha20-Poly1305, replays rejected.
The phone can only browse and start sessions inside your home folder; paths are normalised and symlinks resolved before the check.
The CLI's own permission system stays in charge. Pilothouse forwards its prompts through a localhost-only endpoint protected by a per-session token.
Pilothouse never reads, stores or transmits your Claude login. An optional API key is kept in the Keychain.
Session logs on the Mac (mode 0600, deleted after 30 days), a cache on the phone, keys in the Keychain. Notifications are off unless you turn them on and choose the ntfy server.
FAQ
It needs whatever your CLI needs — for Claude Code, a Claude account with Claude Code access or an Anthropic API key. Pilothouse itself is free.
Only the way it already does with your CLI: it talks to its provider as usual. Pilothouse adds an encrypted link to your phone and nothing else.
It must run your own CLI with your shell environment and work in any of your folders, which the App Store sandbox does not allow. It is signed with Developer ID and notarized by Apple.
The iPhone app is distributed through a public TestFlight link instead of the App Store. Scan the QR code, install TestFlight if iOS asks, then install Pilothouse.
Yes, with Tailscale. Without it, the phone must be on the same network as the Mac.
Nothing is lost. The agent keeps working on the Mac; when the phone reconnects it catches up from the session log. Permission requests wait for you (up to 10 minutes).
The Mac sends them — as native macOS notifications and, if you enable it, to an ntfy topic. Install the free ntfy app on the phone and subscribe by scanning the QR code in the Mac settings. Tapping a notification opens that session in Pilothouse.
Quit Pilothouse and delete it (or brew uninstall --zap --cask pilothouse). Remove ~/Library/Application Support/Pilothouse and the “Pilothouse identity key” items in Keychain Access for a clean slate.