ASCII / MOTION LAB · 001Explore all seven experiments ↗

Quickstart

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

Use ptln to manage your agents, keep project knowledge between sessions, and bring agents together for implementation and review:

PartWhat it does
SessionsManage all your agents in one terminal. Find and resume Claude Code, Codex, Gemini and Antigravity sessions across directories and worktrees; start opencode and goose sessions too.
Repo memoryStore knowledge across sessions, models, and repos. Each repository keeps its own decisions, constraints and gotchas alongside its code.
ChatPair program with adversarial agents and reviewers in a single chat. Assign Claude Code and Codex sessions different roles and discuss their findings together.
Mobile remotePair the native iOS/Android beta or browser client with individual computers through a relay you control. Read sessions, chat and send input; native drafts can attach files.
LoopsHold a piece of work to a written brief: partyline runs your checks, has other models review the work, and sends it back until it passes.

Partyline runs locally and requires no Partyline account. Your agents still use their configured providers and accounts. Install covers requirements and verification; Security explains what stays local and what AI features send to providers.

TL;DR: the keys you'll use every day

ctrl-\ is the anchor. Press it from anywhere inside partyline to open the menu, then one more key:

KeysWhat it does
ptlnOpen the session manager. ⏎ opens the highlighted session; ? lists every key.
ctrl-\ then 1–9, or /Jump to a session by number, or type to find one.
ctrl-\ then nStart a new session: an AI agent or a blank terminal.
ctrl-\ then c, l or aThe chat room, the Loops board, or the loops waiting on you.
ctrl-\ then qDetach. Sessions keep running; ptln --resume brings them back.

Open the session manager

$ ptln

⏎ opens the highlighted session; ? lists every key. ptln --resume reopens the sessions that were open when you last quit.

Start a session

$ ptln new claude
ptln new codex --worktree spike-auth   # in a new git worktree

A directory after the engine name starts the session there.

Set up repo memory

In a git repository with no memory/, the first partyline session offers to set it up after finishing your request. To do it yourself:

$ ptln memory build            # print what it would write
ptln memory build --apply    # write it
git status memory/ AGENTS.md

--apply writes a description of the project, generated by Claude reading the repository, plus the build, test and CI facts it can cite. partyline does not commit; review the files and commit them.

Open the chat

$ ptln chat
/add 10 11

/add takes tab numbers from the tab bar. Ask one session to implement a change and the other to review its assumptions and tests. @10 addresses one session; a message without a mention goes to the room.

Connect a phone

Choose a relay with ptln relay setup, or press s in Relay settings. Use the built-in Go gateway with trusted HTTPS, a private VPN route or your own Cloudflare account. Pair each target computer separately with ptln remote pair and compare the code before approving. Native iOS currently uses TestFlight invitations; Android development instructions are in mobile/README.md.

Mobile remote distinguishes native and browser updates, explains the 20 MiB file limit and 200 MiB per-phone cache, and describes Phone layout's effect on the computer window. New main/beta features require supporting computer and phone versions; check the next release notes for availability.

For an AI assistant

llms-full.txt is the documentation and the full command reference as one plain-text file, generated from the source tree. llms.txt is the short index.

Website motion

The motion lab collects the seven ASCII scenes used on the product pages. Each scene has controls to hold or play the animation, remix its pattern, and switch to monochrome. Mouse movement adjusts the view; leaving the scene preserves that position while its animation continues. Scenes pause outside the viewport or when the browser tab is hidden. If your system requests reduced motion, they start still; Play enables an individual scene. The artwork is decorative and does not read your sessions or report live agent status.