porthole / docs / install

Install and configure the daemon

Install and configure the daemon · Run your own push relay · iOS background behaviour

Install (daemon)

Download a release from GitHub Releases (or go build ./cmd/porthole in daemon/), put porthole on your PATH, then:

porthole doctor          # checks tmux, claude, codex, profiles
porthole install-hooks   # Claude Code hooks + Codex notify (idempotent)
porthole serve           # or install packaging/porthole.service / the launchd plist
porthole pair            # scan the QR with the app

Config lives at ~/.config/porthole/config.toml (see daemon/packaging/config.example.toml). Set workspaces to the parent directory of your repos to start sessions from the phone.

Sessions are controllable when they run inside tmux. porthole wrap claude starts one in the current directory; sessions started from the app are always in tmux. Sessions outside tmux are shown read-only.

App

app/ is a Flutter project (Android, iOS; Linux desktop for development). Build it yourself with flutter build apk / flutter build ios, or install the free store builds. The app sells nothing. Background push notifications go through a small relay; in the official builds that relay is open to supporters of the project on Patreon, who sign in with a supporter key. Self- builders can run their own relay (docs/self-host-relay.md). Everything else is identical and needs no cloud at all.