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.

One-line installer (macOS or Linux): detects your OS, installs the CLI and mount dependencies.

bash
2 lines
1curl -fsSL https://parlo.run/install | sh2parlo setup

CLI only (any platform with Node.js 20+): best for Linux, CI, and containers.

bash
2 lines
1npm install -g parlofs2parlo setup

parlo setup opens a browser sign-in flow. In public beta, a human needs to complete signup, Turnstile, and email verification once.

Check your install:

bash
1 line
1parlo doctor

Do 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

bash
3 lines
1parlo connect github2parlo connect linear3parlo connect stripe

Parlo 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:

bash
4 lines
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 server

If 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:

bash
1 line
1parlo connect stripe --headless --token "$STRIPE_SECRET_KEY"

See what is connected:

bash
1 line
1parlo connections

Example output:

bash
6 lines
1API Connections:2  ● GitHub (github) -> ~/parlo/github3  ● Linear (linear) -> ~/parlo/linear4  ● Stripe (stripe) -> ~/parlo/stripe5Drives:6  ● Main (main) -> ~/parlo/main

3. Mount

bash
3 lines
1parlo mount2cd ~/parlo3ls

Example output:

bash
1 line
1github  linear  main  stripe

Each folder has a README.md. Read that first.

bash
1 line
1cat github/README.md

Example output:

bash
11 lines
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.

bash
2 lines
1# Search without reading everything.2grep -R "billing\|invoice\|subscription" github/issues linear/issues | head

Example output:

bash
2 lines
1github/issues/42.md:title: Billing page shows stale invoice status2linear/issues/ENG-123.md:title: Fix stale billing status on account page

Read the useful files:

bash
3 lines
1cat github/issues/42.md2cat linear/issues/ENG-123.md3cat stripe/customers/cus_8x92.md

Save notes to a cloud drive:

bash
16 lines
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 success16EOF

That 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:

bash
4 lines
1parlo ls github/2parlo cat github/README.md3parlo cat github/issues/42.md4parlo write main/reports/billing-bug.md --from ./billing-bug.md

Use the native mount when you can. Use direct commands when you cannot.

6. Use with agents

Give your coding agent this instruction:

1 line
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:

bash
5 lines
1parlo mount2cd ~/parlo3cat github/README.md4grep -R "billing" github/issues5cat github/issues/42.md

No service-specific tool catalog required.