docs/examples/agents/pi.mdx
Pi is a terminal coding agent distributed as a Node.js package. This example pins the tested package version and gives it writable access to a project mounted from your host.
<Tooltip tip="Writable host-directory mounts are local-only. On microsandbox cloud, use the isolated-copy alternative and omit replace-on-create."><span className="msb-badge-local">Local-only <Icon icon="circle-info" size={11} /></span></Tooltip>
<CodeGroup> ```sh macOS & Linux msb run -t --name pi-demo --replace \ --cpus 2 --memory 2G --root-disk 4G \ --mount-dir ./my-project:/workspace:rw \ --workdir /workspace \ node:24-bookworm-slim -- sh -lc ' apt-get update && apt-get install -y --no-install-recommends ca-certificates git && npm install -g @mariozechner/[email protected] && exec pi ' ```msb run -t --name pi-demo --replace `
--cpus 2 --memory 2G --root-disk 4G `
--mount-dir ./my-project:/workspace:rw `
--workdir /workspace `
node:24-bookworm-slim -- sh -lc '
apt-get update &&
apt-get install -y --no-install-recommends ca-certificates git &&
npm install -g @mariozechner/[email protected] &&
exec pi
'
The tested install downloads 188 packages and takes about a minute on a warm Node image cache. Configure a provider from the TUI when prompted.
<Tip> For an isolated workspace, or when using microsandbox cloud, replace `--mount-dir ./my-project:/workspace:rw` with `--copy-dir ./my-project:/workspace`. </Tip> </Step> <Step title="Start another session">After leaving Pi, return to the same sandbox and workspace with:
msb exec -t pi-demo -- pi
Exit Pi and run:
msb exec pi-demo -- pi --version
The pinned example prints 0.73.1.
With the default writable mount, changes are already in the host checkout. Review them inside the sandbox:
msb exec pi-demo -- sh -lc 'cd /workspace && git status --short && git diff --stat && git diff'
If you chose the isolated --copy-dir alternative, create a patch inside the sandbox:
msb exec pi-demo -- sh -lc 'cd /workspace && git add -N . && git diff --binary > /tmp/pi.patch'
Copy the patch to the host:
msb cp pi-demo:/tmp/pi.patch ./pi.patch
Check that it applies cleanly before applying it:
git apply --check ./pi.patch
msb rm -f pi-demo
Changes made through the default workspace mount remain in the host checkout.
</Step> </Steps>