Two engineers need to look at the same staging database to debug an issue.
# Alice (already connected)connect share --name "staging-debug"# → Share code: k8m3n5# Bobconnect join k8m3n5# ✓ staging-db → localhost:5432# ✓ redis → localhost:6379# Both now have identical environments# "I see the bug on row 4521" — "Me too, looking at it now"
No more “can you SSH into prod and run this query for me?”
Raspberry Pi, NAS, or self-hosted services — reach them without exposing ports.
# On your home server (runs 24/7)connect daemon installconnect expose localhost:8096 --name jellyfinconnect expose localhost:8080 --name homeassistantconnect expose 192.168.1.50:445 --name nas# From anywhere in the worldconnect reach jellyfin# → http://localhost:8096 — your media serverconnect reach nas# → localhost:445 — your NAS shares
No dynamic DNS. No port forwarding. No security exposure.
Running OpenClaw on a VPS? Access the gateway securely from your phone, laptop, or any device.The problem: OpenClaw’s gateway binds to 127.0.0.1:18789 for security. The docs warn: never expose it publicly. But you want to use it from WhatsApp on your phone.The solution:
# On your VPS where OpenClaw runsconnect daemon installconnect expose localhost:18789 --name openclaw# From your phone or laptop (anywhere)connect reach openclaw# → Gateway available at localhost:18789# → WhatsApp/Telegram connects as if OpenClaw were local
Running OpenCode on a VPS or GPU server? Access it securely from your laptop without exposing ports.The problem: OpenCode’s server binds to 127.0.0.1:4096 for security. Setting --hostname 0.0.0.0 exposes you to brute-force attacks.The solution:
# On your VPS where OpenCode runsopencode serve # Stays on localhostconnect daemon installconnect expose localhost:4096 --name opencode# From your laptop (anywhere)connect opencodeopencode attach http://localhost:4096 # Works as if local
Running AI agents on exe.dev? Give them secure access to your private infrastructure — databases, APIs, internal services — without exposing them publicly.The problem: exe.dev has great HTTPS proxies for exposing services, but your agent needs to access private infrastructure that isn’t publicly exposed.The solution:
# On your private server (home, office, AWS)connect daemon installconnect expose localhost:5432 --name prod-dbconnect expose localhost:8080 --name internal-api# On your exe.dev VMcurl -fsSL https://privateconnect.co/install.sh | bashconnect upconnect prod-dbconnect internal-api# Your agent can now access:# → localhost:5432 (database)# → localhost:8080 (internal API)
Also great for:
Cross-VM private communication (two exe.dev VMs talking without public URLs)
Team collaboration on exe.dev environments
Integrating with exe.dev’s Shelley/AGENTS.md system
Running a multicluster or virtual Kubernetes API server (e.g. kplane-dev/apiserver) with nodes in different regions? They need to talk bidirectionally without a VPN.The solution:
# On the API server hostconnect expose localhost:6443 --name k8s-api# On each node (any region/cloud)connect reach k8s-api --port 6443# → Use localhost:6443 as the API server; no VPN required
Control plane and nodes stay private; Private Connect routes traffic by name. Works with path-based multicluster API servers and distributed worker nodes.
Contributors need to run your frontend locally, but it requires your production API. The old way means sharing secrets, setting up local databases, or maintaining a separate dev environment.With Private Connect:
# Maintainer creates a public linkconnect link api --expires 30d --methods GET,POST --paths /api/v1# → https://abc123xyz.privateconnect.co
Contributor just uses it:
# .env.local (no secrets!)API_URL=https://abc123xyz.privateconnect.co# Run frontendbun dev# → Auth works, API calls work, no setup required
What they get
Real API, real data (or staging)
No CLI installation
No account creation
No secrets on their machine
Auth flows work naturally
Safety controls
# Read-only accessconnect link api --methods GET# Specific paths onlyconnect link api --paths /api/public,/health# Rate limitedconnect link api --rate-limit 100# Revoke anytime# (from web dashboard or API)
Local development needs to receive webhooks from external services.
# Expose your local server with a public URLconnect expose localhost:3000 --name webhook-test --public# → https://abc123.privateconnect.co# Use that URL in Stripe/GitHub webhook settings# Webhooks hit your local machine
Like ngrok, but integrated with your team’s service mesh.
# Always-on accessconnect daemon install # Set it and forget it# Project-basedconnect dev # Connect from pconnect.yml# Collaborationconnect share # Share your environmentconnect join <code> # Join teammate's environment# Public links (no account needed)connect link <service> # Create public URL for a service# Ad-hoc accessconnect reach <service> # Connect to any serviceconnect proxy # All services via subdomains