Get started
Quickstart
Install Parlo, sign in, connect something, and use it from ~/parlo.
This gets you from zero to using cloud files and APIs as folders.
1. Install
Pick whichever fits. All options give you the same parlo command.
macOS app (recommended on Mac): native mount and menu-bar controls.
- Download Parlo for Mac (signed and notarized, macOS 13+), open the
.pkg, then runparlo setup.
One-line installer (macOS or Linux): detects your OS, installs the CLI and mount dependencies.
1curl -fsSL https://parlo.run/install | sh2parlo setupCLI only (any platform with Node.js 20+): best for Linux, CI, and containers.
1npm install -g parlofs2parlo setupparlo setup opens a browser sign-in flow. In public beta, a human needs to complete signup, Turnstile, and email verification once.
Check your install:
1parlo doctorDo I need the Mac app?
Only if you want the native FSKit mount (macOS 26+) and the menu-bar app. Everything else works without it:
- Mac app: native mount on macOS 26+, menu-bar status and controls, auto-mount on login.
- CLI (`npm install -g parlofs`): works everywhere. On macOS it mounts via FUSE-T (auto-installed). On Linux via FUSE. No app required.
If you just want parlo connect and parlo mount from the terminal, the CLI alone is enough.
2. Connect services
1parlo connect github2parlo connect linear3parlo connect stripeParlo opens the wizard in your browser. It starts working immediately. You can watch the progress or jump in.
You can also use the web app: type "stripe" or even "API for wrestling matches" and Parlo finds the docs, generates the adapter, and prompts for your key when ready.
Paste a URL. If you have an OpenAPI, GraphQL, or MCP server URL, paste it directly on the connections page. Parlo auto-detects the spec type, compiles the adapter, and connects. The same works from the CLI:
1parlo connect --spec https://api.example.com/openapi.json2parlo connect --openapi https://api.example.com/openapi.json # alias3parlo connect --graphql https://api.example.com/graphql # GraphQL4parlo connect --mcp https://example.com/mcp # MCP serverIf the spec requires auth and no token is provided, Parlo returns a structured auth-required response describing what is needed.
For CI or agents with tokens already available:
1parlo connect stripe --headless --token "$STRIPE_SECRET_KEY"See what is connected:
1parlo connectionsExample output:
1API Connections:2 ● GitHub (github) -> ~/parlo/github3 ● Linear (linear) -> ~/parlo/linear4 ● Stripe (stripe) -> ~/parlo/stripe5Drives:6 ● Main (main) -> ~/parlo/main3. Mount
1parlo mount2cd ~/parlo3lsExample output:
1github linear main stripeEach folder has a README.md. Read that first.
1cat github/README.mdExample output:
1# GitHub2 3Useful paths:4- issues/5- pulls/6- repos/7 8Examples:9 ls issues/10 cat issues/42.md11 grep -R "billing" issues/4. Do a real task
Example: investigate a billing bug across GitHub, Linear, and Stripe.
1# Search without reading everything.2grep -R "billing\|invoice\|subscription" github/issues linear/issues | headExample output:
1github/issues/42.md:title: Billing page shows stale invoice status2linear/issues/ENG-123.md:title: Fix stale billing status on account pageRead the useful files:
1cat github/issues/42.md2cat linear/issues/ENG-123.md3cat stripe/customers/cus_8x92.mdSave notes to a cloud drive:
1mkdir -p main/reports2cat > main/reports/billing-bug.md <<'EOF'3# Billing bug notes4 5GitHub issue:6- github/issues/42.md7 8Linear ticket:9- linear/issues/ENG-123.md10 11Stripe customer:12- stripe/customers/cus_8x92.md13 14Likely issue:15- app cache is stale after Stripe webhook success16EOFThat report is stored in Parlo's cloud-backed drive, written just like a normal file.
5. If mounting is unavailable
Some CI jobs, containers, and sandboxes cannot use FUSE or native mounts. Use direct commands instead:
1parlo ls github/2parlo cat github/README.md3parlo cat github/issues/42.md4parlo write main/reports/billing-bug.md --from ./billing-bug.mdUse the native mount when you can. Use direct commands when you cannot.
6. Use with agents
Give your coding agent this instruction:
1Use Parlo for connected services. Start with `parlo connections`. Prefer `~/parlo` when mounted. Read each connection's README.md first. Use grep before reading large folders. Do not print tokens or files under ~/.parlo.The agent can then work with paths directly:
1parlo mount2cd ~/parlo3cat github/README.md4grep -R "billing" github/issues5cat github/issues/42.mdNo service-specific tool catalog required.