Pi's whole job is to run bash, write files, and execute what the model decides. That's exactly the workload you don't want sharing a kernel with strangers. Here's how to run Mario Zechner's Pi coding agent on its own always-on Firecracker microVM: your Anthropic or OpenAI key never leaving the box, a persistent workspace, provisioned automatically the moment you pay — the microVM boots in 124ms. This guide covers what Pi is, why a terminal-first agent belongs on a real microVM, and how to get yours running.
What Pi is
Pi is a minimal, opinionated coding-agent CLI from Mario Zechner — the pi-mono project. Where most agents bake in sub-agents, plan modes, and a pile of features, Pi gives the model four tools — read, write, edit, bash — and lets it self-extend at runtime with TypeScript. It is the anti-framework: small core, composable primitives.
It is provider-agnostic and bring-your-own-key: Claude, GPT, Gemini, Grok, or a local model. Terminal-first by design, with an optional web TUI.
Pi is happiest as a long-running worker: hand it a refactor or a dependency bump, let it grind, come back to the result. That argues for a box that is always on and holds your workspace — not a laptop you close.
Why a real microVM for a coding agent
A coding agent runs bash. It writes files, installs packages, and executes whatever the model decides — code no human reviewed. A shared container is the wrong boundary for that: containers share the host kernel, and there are 200-plus known weaknesses in the stack.
jurniti gives Pi its own Firecracker microVM with its own kernel and a KVM hardware boundary — the same isolation serverless platforms use, one per tenant, booting in about 124ms. Give the agent root inside its own VM and a bad command stays contained to your box, not the host.
You also keep your model relationship. Hosts that bundle credits charge a markup on every token; even the common BYOK gateway stores your key and proxies your traffic. jurniti's BYOK is architectural: your Anthropic or OpenAI key lives only in your VM, traffic leaves that VM straight to the provider, and jurniti is never in the path. No proxy, no markup.
Because Pi's core is so light, the Starter plan (1 vCPU / 2 GiB) is plenty — you are not paying for headroom you don't use. And it is reversible: a 30-day money-back guarantee, workspace retained 7 days after cancellation.
Run Pi in 3 steps
By hand this means a VPS, Node via nvm, the npm install, a PATH wrapper, and a TLS proxy if you want the web TUI — plus patching and restarting it for as long as you run it. jurniti runs the box ops; you keep the agent. Here it is in three steps.
1. Pick a plan and pay
Starter is enough for Pi. Check out, and the provision chain runs automatically the moment payment confirms.
2. Your microVM boots with Node + Pi ready
A fresh Ubuntu microVM boots with Node and the upstream Pi installer staged. You get an in-browser terminal — nothing to SSH into. Set your model key and start Pi:
export ANTHROPIC_API_KEY=sk-ant-...
pi
Prefer a browser UI? Pi ships an optional web TUI:
pi serve --host 0.0.0.0 --port 8080
On Pro and up, it's served at your own TLS subdomain, https://<you>.jurniti.com.
3. Put it to work
Drop into a project directory and give Pi a task. Its skills and self-extensions live on the persistent workspace, so they survive restarts.
What people run Pi for
- Long refactors. Hand it a gnarly migration and let it grind while you do other things.
- Dependency bumps. It reads the errors, edits, runs the build, repeats.
- Scripted chores. AST-aware rewrites, codemods, repetitive edits across a tree.
- A self-extended toolkit. Because Pi self-extends in TypeScript, the workspace you build up becomes your own bespoke agent over time.
Snapshot a configured workspace into a template and fork it for a new project.
jurniti vs a laptop vs a DIY VPS
| jurniti | Your laptop | DIY VPS | |
|---|---|---|---|
| Always on | Yes | No — it sleeps | Yes |
Isolation for bash | Firecracker microVM (KVM) | Your whole machine | Shared kernel |
| Model keys | Yours, never leave the VM | Yours | Yours |
| Setup | Automatic · 124ms boot | Local install | Manual |
| Optional web TUI | Built in (custom subdomain on Pro+) | n/a | You configure it |
| Refund | 30-day money-back | n/a | None |
Pricing
Starter is $25/mo and comfortably runs Pi; Pro is $49/mo and Max $99/mo for heavier work. The first 50 founder seats are $144/year for Starter. Every plan includes the 30-day money-back guarantee, and your model spend is separate and never marked up.
Running a different agent? See the guides for Hermes Agent and OpenClaw, or compare plans on the pricing page.