v0.2.3 · release notes

Give every agent session its own VM.

Full dev environments on your own AWS account. Your repo, your secrets, your tools. Detach and it parks itself. Attach and it is back in about 20 seconds.

brew install kerem-kaynak/tap/pier
[main] 0:claude*"checkout-flow"
C-b d detach · idle sessions park themselves enter attach · n new · m resize · d delete

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 an EC2 instance and drops you into tmux inside it, with:



Fig 1. create to ready in 42s, 52s from a baked image
Fig 2. parked sessions resume in about 20s
Fig 3. idle burn drops to disk-only storage prices
Session stateCosts
running~$0.03/h
parked~$3-4/mo (disk only)

A session is one EC2 instance plus its EBS 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.

laptop                              AWS account (yours)
──────                              ───────────────────
pier CLI/TUI ── aws cli ──────────▶ EC2 API        (create/stop/start/tags)
     │                              ┌─────────────────────────┐
     └── ssh ─────────────────────▶ │ session VM               │
         (direct to its public IP,  │  tmux ▸ claude / codex   │
          SSM tunnel as fallback)   │  pier-supervisor         │
                                    │  └─ parks the VM when    │
                                    │     detached and quiet   │
                                    └─────────────────────────┘

pier Codespaces Hosted agents DIY EC2
Runs on your AWS 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 EC2 instance tags, and pier ls is a filtered describe-instances call.

Does the VM hold my cloud credentials?

No. The instance role carries SSM and nothing else. 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 about 20 seconds.

How do secrets travel?

Once, at create, as an explicit manifest: your agent configs, your tokens, and the repo files your .pier-include lists. Nothing loose ships by default, and the create prints which env files it is not carrying.

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. Running processes do not, parking is a clean stop. Hibernate with RAM intact is on the roadmap.

Which platforms?

The CLI runs on macOS and Linux against AWS. pier proxy is macOS-only for now, pier port works everywhere. A GCP driver is designed and parked on the roadmap.

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 kerem-kaynak/tap/pier