Quickstart

partyline runs your team's coding agents: plan an idea into buildable tasks, build each one in an isolated worktree on your own hardware, merge only what passes your tests and an independent review.

There is no hosted partyline. This site is documentation. The product is a server you run: install the CLI, run ptln server install on a box you control, then ptln login against it.

$ curl -fsSL https://partyline.sh/install.sh | sh   # macOS + Linux
brew install partyline-sh/tap/partyline          # macOS

Verification, package installs and building from source: Install.

Stand up your instance

The session manager and ptln work run entirely on your machine and need no server. Projects, runs, the board, parties and teams need one:

$ ptln server install --site https://ptln.example.com

It preflights the box, prints the plan, applies it, and verifies the box serves. --dry-run stops after the plan, having written nothing; re-running is safe. Hardware, DNS, TLS, the identity provider and every environment variable: Self-host.

Sign in to it

The URL is a positional argument, and it is required — ptln login with no instance refuses rather than starting a device flow against a documentation site. Signing in pins that instance's identity key and prints its fingerprint; approve the code in your browser and the token is saved under ~/.partyline. The first account to sign in owns the instance.

Start a session

$ ptln start

Shares your $SHELL and prints an encrypted join link on your own instance's host. The encryption key rides in the link's # fragment; the relay never sees it. (How encryption works)

Bare ptln opens your session manager instead — a local browser for your claude / codex / gemini / antigravity sessions. Hosting a shared shell is always ptln start.

Anyone joins with:

$ ptln join 'https://ptln.example.com/j/<code>#k=<key>'

Joiners are view-only until you grant typing. Treat the link like a password — anyone who has it can join and decrypt the session.

Controls inside a session

Typed at a shell prompt: /pwho · /phud [on|off] · /pgrant [name] (host) · /plock (host) · /pinvite <email|@handle> · /pexit · /phelp.

The ctrl-\ prefix works inside full-screen apps like vim or claude, where typed /p commands cannot: w who's on · g grant typing (host) · r request control · h HUD · l lock joiners (host) · d leave · q end (host) · ? cheat-sheet.

Ctrl-C does not quit — the session runs in raw mode, so Ctrl-C goes to your shell. Quit with /pexit, ctrl-\ q, or exit.

Dropped connection? Host and joiners reconnect automatically within seconds, same session and same key. After ~3 minutes of failed retries it gives up and tells you to start a fresh session.

Hand the whole product to your AI assistant

https://partyline.sh/llms-full.txt is every command, the vocabularies the API accepts, the trust model, and how planning, runs and Context Threads fit together, as one plain-text file. No account, nothing to connect: an assistant can fetch it, or you can paste it in. It is generated from the source tree on every change. (The shorter llms.txt is there too.)

Next: Install · Self-host · Planning agent · Build & Ship · Sessions · Parties · Context Threads · Import your backlog · Team & members · API keys & webhooks · Security · CLI reference.