Skip to content

Your first session

From inside any git repo:

$ cd ~/code/shop && pier checkout-flow
creating checkout-flow (shop @ HEAD)
▸ launching t4g.medium (baked image)
▸ pushing secrets + repo (GitHub-first: only secrets ride the tunnel)
▸ bootstrap: branch checkout-flow, dirty patch applied, setup running
session checkout-flow ready

tmux opens on the VM. Your agent is installed, authenticated, and sitting on branch checkout-flow. Uncommitted edits to tracked files came along as a git patch. While you’re attached, anything the session opens in a browser (an agent’s MCP login, gh auth login) opens on your laptop.

In a second terminal, every session’s ports are one hostname away:

$ pier proxy
proxy up — running sessions resolve as <session>.pier (http + https), ports mirror on localhost too; ctrl-c to stop

The agent’s dev server is live in your browser at http://localhost:3000, or at http://checkout-flow.pier:3000 when two sessions hold the same port.

Detach with C-b d and close the laptop. The session keeps working without you. Once the agent goes quiet past the idle timeout, the supervisor parks the VM:

$ pier ls
NAME REPO STATE AGE COST
checkout-flow shop parked 3h ~$3-4/mo
$ pier attach checkout-flow
resuming checkout-flow (~20-60s)...

Right where you left it. Files, git state, and installed tools survive parking, and your tmux windows come back with claude and codex reopened on their conversations and the Docker containers that were running restarted. Other processes stop with the VM: a dev server started in a pane comes back as its command typed at the prompt, one Enter away.

If pier setup didn’t already bake this repo, do it once:

pier bake

New sessions then start from a prebuilt image, and with the default Fast profile the next pier <branch> claims a parked, set-up session from the repo’s warm pool in about 25 seconds.