v0.9.2 · release notes

Give every agent session its own VM.

Full dev environments on your own AWS or GCP account. Your repo, your secrets, your tools. Detach and it parks itself. Attach and it is back in under a minute.

brew install usepier/tap/pier
[main] 0:claude*"checkout-flow"
C-b d detach · idle sessions park themselves runs in your AWS or GCP account

Coding agents changed what a dev environment is. A session is no longer you at one machine. It is an agent that runs for hours and wants its own branch, its own ports, its own docker daemon. And you want several at once. Every existing place to run them fights you:

pier makes each session a micro-VM that manages its own lifecycle. One command launches a VM in your cloud account and drops you into tmux inside it, with:



~25s
new session
claimed from a warm pool, setup already done
42s
stock create to attach
no image, toolchains keep installing behind you
~20s
resume from parked
tmux windows and agent conversations restored
~$3-4/mo
while parked
disk-only prices, running is ~$0.04/h

Measured on AWS. With the default Fast profile a new session claims a parked, set-up session from the repo's pool and is on your branch, services running, in about 25 seconds. Without a pooled session, a create from the repo's prebuilt image is attachable in about 40 seconds while setup finishes in the background. A parked session is back in about 25 seconds. GCP wakes slower: a resume takes about a minute.


A session is one VM plus its persistent disk, tagged and namespaced by your caller identity. All state lives in those tags and on the disk. There is nothing else to operate, back up, or pay for.

flowchart LR
  subgraph laptop["laptop"]
    cli["pier CLI / app"]
  end
  subgraph aws["AWS account (yours)"]
    api["EC2 API
create / stop / start / tags"] subgraph vm["session VM"] tmux["tmux · claude / codex"] sup["pier-supervisor
parks the VM when detached and quiet"] end end cli -- "aws cli" --> api cli -- "ssh, SSM tunnel as fallback" --> tmux

GCP is the same picture with gcloud, the GCE API, and Google's IAP tunnel in place of SSM.


pier Codespaces Hosted agents DIY EC2
Runs on your AWS or GCP account GitHub's infra vendor's sandbox your AWS account
Idle cost ~$3-4/mo (self-parks) metered, auto-stop per-seat / per-task full rate unless you script it
Agent-ready harnesses + auth + MCP travel you configure their agent only you configure
Session lifetime until you rm it workspace-scoped task-scoped until you clean it up
Interface your terminal, tmux VS Code / web web UI your terminal
Setup one wizard per-repo config account signup everything by hand

Does pier need a server or a database?

No. There is no control plane. Session state lives in instance tags, and pier ls is one filtered describe call.

Does the VM hold my cloud credentials?

No. On AWS the instance role carries SSM and nothing else. On GCP sessions run with no service account at all. Parking is the VM shutting itself down. Resize and destroy happen from the laptop.

What happens when I close my laptop?

The session keeps running without you. Once the agent goes quiet past the idle timeout, the supervisor parks the VM. Attach later and it resumes in under a minute.

How do secrets travel?

Once, at create: your agent configs, your tokens, the repo's untracked files that Git doesn't ignore, and the ignored files your .pier/include lists. The create prints which ignored env files it is not carrying. A bake scrubs all of it before imaging.

Do OAuth MCP servers work?

Yes. Their tokens can't be copied safely, so they log in once per session from inside it, the normal way (for example claude's /mcp). While you're attached, the session uses your browser: the login opens on your laptop and the callback port is mirrored, so it just works. The token survives parking.

Do private repos work?

Yes. pier reuses whatever GitHub credential your laptop already has: a gh login, git's https credential helper, or ssh keys through a forwarded agent. It verifies the fetch works before relying on it.

What survives parking?

Files, git state, and installed tools survive. On wake your tmux windows, cwds, and scrollback come back, claude and codex reopen on their conversations, and the Docker containers that were running restart. Other processes stop with the VM: a dev server comes back as its command typed at the prompt, one Enter away.

Which platforms?

The CLI runs on macOS and Linux against AWS and GCP. pier proxy is macOS-only for now, pier port works everywhere.

How do I get rid of everything?

pier teardown removes every piece of account groundwork pier created, all of it tagged. Sessions go with pier rm.

Tie up at the pier.

One wizard, then every session is one command away.

brew install usepier/tap/pier