Configuration
pier setup writes ~/.config/pier/config.toml. Change any setting later
from the TUI settings page. Run pier and press s.
The settings page groups session, AWS, and GCP fields, validates values before saving them, and keeps setup- and bake-managed values read-only. Changes apply to new sessions; existing sessions keep the cloud and machine they were built with.
driver = "aws-ec2"idle_timeout = "30m" # detached and quiet this long -> park ("never" disables)unattended_cap = "8h" # parks even while busy ("never" disables)
[aws]profile = "default"region = "eu-central-1"instance_type = "t4g.medium" # machine for new sessionsdisk_gib = 40subnet = "" # optional: orgs without a default VPCdirect = true # ssh straight to the VM. false forces the SSM tunnel
[gcp] # when driver = "gcp-gce"project = "my-project"zone = "europe-west3-a"machine_type = "e2-medium"disk_gib = 40| Key | Default | Meaning |
|---|---|---|
driver | aws-ec2 | the cloud driver: aws-ec2 or gcp-gce |
idle_timeout | 30m | detached and quiet this long parks the VM, never disables |
unattended_cap | 8h | parks even while busy, so a looping agent can’t burn compute for days |
aws.profile | the AWS CLI profile pier calls with | |
aws.region | where sessions run | |
aws.instance_type | t4g.medium | machine for new sessions |
aws.disk_gib | 40 | EBS disk size per session |
aws.subnet | optional, for orgs without a default VPC | |
aws.direct | true | ssh straight to the instance’s public IP, port 22 open to your IP only, SSM tunnel as fallback. false forces the tunnel |
gcp.project | the GCP project sessions run in | |
gcp.zone | europe-west3-a | where sessions run |
gcp.machine_type | e2-medium | machine for new sessions |
gcp.disk_gib | 40 | boot disk size per session |
Per-session overrides beat the config: --idle and --cap at create time.
Managed sections
Section titled “Managed sections”Three sections are managed by pier, not by hand:
[aws.baked_amis]and[gcp.baked_images]map repo basenames to baked images.pier bakewrites them,pier teardownsweeps the images.[secrets]holds the manifest of files and dirs under$HOMEcopied one-way into each session at create, plus an optionalclaude_oauth_tokenfromclaude setup-token(the macOS Keychain escape hatch, injected asCLAUDE_CODE_OAUTH_TOKENin sessions).