Guides
Agent VM & sandbox setup
Provision an agent's VM or sandbox so Parlo is installed and mounted on boot, or fall back to mountless direct ops.
If you control the machine your agent runs on (a VPS, a cloud VM, or a container image), bake Parlo in so the agent boots with ~/parlo already mounted. The agent then uses ordinary ls, cat, grep, and editor writes against real files.
There are two paths, depending on whether the environment can use FUSE:
| Environment | Approach |
|---|---|
| VM / VPS / container with FUSE | Install and mount on boot for a full ~/parlo filesystem |
Sandbox without FUSE (/dev/fuse blocked) | Mountless direct ops over HTTP |
Path 1: provision a VM with the mount built in
Run this in your image build, cloud-init, or first-boot script. The --yes flag makes the installer fully non-interactive.
1curl -fsSL https://parlo.run/install | sh -s -- --yes2parlo init3parlo mount4ls ~/parlo/After this, the agent works against the filesystem directly:
1cat ~/parlo/github/README.md2grep -R "billing" ~/parlo/linear/issues/3vim ~/parlo/linear/issues/ENG-123.mdparlo init is the one step that may need a human for browser or device-code sign-in. For automated fleets, link once and bake the resulting ~/.parlo/auth.json (mode 0600) into the image, or mount it as a secret. Never commit it to a repo.
Containers need FUSE capabilities
A container can only mount FUSE if the host grants it /dev/fuse and SYS_ADMIN:
1docker run --rm -it \2 --cap-add SYS_ADMIN \3 --device /dev/fuse \4 --security-opt apparmor=unconfined \5 -v ~/.parlo:/root/.parlo \6 your-agent-imageIn the image build:
1RUN curl -fsSL https://parlo.run/install | sh -s -- --yesAt runtime, your entrypoint runs parlo mount && exec your-agent.
Both x86_64 and arm64 Linux are supported. The FUSE binding compiles for the host architecture at install.
Verify on boot
1parlo doctorparlo doctor reports fuse binding: ... failed to load if the native build did not complete. Catch this in your image build rather than at agent runtime.
Path 2: mountless direct ops for locked-down sandboxes
Some sandboxes cannot expose /dev/fuse or grant SYS_ADMIN. You do not need a mount at all. The same resources are reachable over plain HTTP:
1npm install -g parlofs && parlo init2 3parlo connections4parlo ls github/issues/5parlo cat linear/ENG-123.md6parlo write linear/ENG-123.md --from ./updated.mdNo FUSE, no kernel capabilities, no .app. This is the most portable path and works in any environment with Node and outbound HTTPS.
Which should an agent prefer?
Tell the agent to use the native ~/parlo mount when it exists, and fall back to direct ops otherwise. A one-line instruction in AGENTS.md or CLAUDE.md is enough:
1Use Parlo for connected services. Prefer the ~/parlo mount when present;2otherwise use `parlo ls/cat/write`. Read each connection's README.md first.3Never print tokens or files under ~/.parlo.Where to go next
| Goal | Read |
|---|---|
| Set up a coding agent | Coding agents |
| Concrete end-to-end examples | Use cases |
| Connect an API | API connections |