Worked transcripts โ
These are complete terminal sessions showing what spore.host actually prints โ including a failure โ so you know what success and trouble look like before you run anything. They follow the same arc as Your First Instance; here the focus is the real output.
Values (IDs, prices, IPs) are illustrative; the structure and wording match the tools.
1. Preflight passes โ
spawn doctor is read-only โ it never launches anything. When it passes, the Quick Start should work as written.
$ spawn doctor
โ spawn version: v0.91.1
โ truffle installed: v0.46.0
โ AWS CLI available: aws-cli/2.32.0
โ AWS credentials: arn:aws:iam::123456789012:user/researcher
โ account: 123456789012
โ region: us-east-1
โ EC2 describe permission
โ EC2 launch permission
โ IAM instance-profile permission
โ VPC & subnet: vpc-0a1b2c3d (subnet-04e5f6a7)
โ SSH key: ~/.ssh/id_ed25519 (imported to EC2)
โ Session Manager
โ TTL reaper backstop: not detected from this account (in-instance spored still enforces TTL)
โ Route 53 (DNS): Route 53 access unavailable; --dns subdomains won't work (optional)
12 passed, 2 warning(s), 0 failed
Ready to launch. If this passes, the Quick Start should work as written.The two warnings are expected and non-blocking: the out-of-band reaper isn't visible from your account (spored still enforces the TTL on the instance), and Route 53 is only needed for the optional --dns feature.
2. Preflight blocked by a missing IAM permission โ
On an institution-managed account you may authenticate fine but lack permission to launch. spawn doctor shows exactly what's missing and how to fix it:
$ spawn doctor
โ spawn version: v0.91.1
โ truffle installed: v0.46.0
โ AWS CLI available: aws-cli/2.32.0
โ AWS credentials: arn:aws:iam::123456789012:role/ResearcherReadOnly
โ account: 123456789012
โ region: us-east-1
โ EC2 describe permission
โ EC2 launch permission: UnauthorizedOperation: not authorized to perform ec2:RunInstances
โ grant ec2:RunInstances (see the IAM baseline)
โ IAM instance-profile permission: AccessDenied: not authorized to perform iam:PassRole
โ grant iam:* on spored* + iam:PassRole (see the IAM baseline)
โ VPC & subnet: vpc-0a1b2c3d (subnet-04e5f6a7)
โ SSH key: ~/.ssh/id_ed25519 (imported to EC2)
โ Session Manager
10 passed, 0 warning(s), 2 failed
Not ready โ resolve the โ items above before launching. If you're on an
institution-managed account, send the IAM baseline to your cloud administrator.Nothing was launched. The fix is to grant the two permissions (or send the deployment packet and IAM baseline to your administrator) and re-run spawn doctor until it's clean.
3. A protected launch โ
With a clean preflight, launch with a hard lifetime. The instance provisions spored, which enforces the TTL and idle rules from inside:
$ spawn launch analysis --instance-type m8a.4xlarge --ttl 8h --idle-timeout 30m
โ Resolving AMI (Amazon Linux 2023, x86_64)โฆ ami-0b787142aa56d54db
โ Launching m8a.4xlarge in us-east-1โฆ i-0abc123def4567890
โ Provisioning spored (TTL 8h, idle 30m)โฆ
โ Signature verified (spore.host)
โ spored active โ instance manages its own lifecycle
โ Instance ready: analysis (i-0abc123def4567890) at 54.80.0.1
Connect: spawn connect analysis
Terminate: spawn terminate analysis4. Verify the protection is live โ
You don't have to take it on faith โ spawn status shows the countdown and the protection posture:
$ spawn status analysis
spored: v0.91.1
State: running
TTL: 7h 52m remaining
Idle: 30m timeout (no activity yet)
Lifecycle protection:
In-instance (spored): enforces TTL + idle rules on the instance itself
Out-of-band reaper: backstop in the spore.host-infra account, if deployed for your account
Termination deadline: 2026-07-22 18:00 PDT (in 7h 52m)
Max compute cost: ~$6.16 by deadline (on-demand rate, compute only; idle-stop usually ends it sooner)
Idle timeout: 30m (stops the instance when idle; never terminates)The Max compute cost is a ceiling โ the idle timeout usually stops the instance well before the deadline.
5. Terminate and confirm cleanup โ
spawn terminate destroys the instance and its EBS volume (unlike spawn stop, which leaves storage billing). Verify nothing is left:
$ spawn terminate analysis
โ Terminating analysis (i-0abc123def4567890)โฆ
โ Terminated. EBS volume vol-0a1b2c3d4e5f deleted.
$ spawn list
No managed instances found.If spawn list still shows the instance as shutting-down, give it a few seconds and re-run โ termination is asynchronous. A terminated or empty result means you're no longer billed for compute or storage.
See also โ
- Your First Instance โ the same flow, step by step
- Costs & safety guarantees โ what the TTL/idle/cost rules guarantee
- Troubleshooting & common mistakes