Tunnels

lpm tunnel exposes a local port to the public internet through LPM's tunnel network. Free accounts get an ephemeral https:// URL on every run plus the full webhook capture and replay tooling. Pro accounts can claim up to 3 stable domains; Org accounts up to 10.

lpm tunnel                                 # ephemeral tunnel on port 3000
lpm tunnel 4000                            # tunnel for port 4000
lpm tunnel 3000 acme-api.lpm.llc           # use a claimed stable domain (Pro/Org)
lpm tunnel claim acme-api.lpm.llc          # claim a domain (Pro/Org)
lpm tunnel inspect --ui                    # browser inspector for captured webhooks
lpm tunnel replay 3                        # re-deliver captured event #3

What you get per plan

CapabilityFreeProOrg
Ephemeral tunnel URLs
Webhook capture
Inspector UI
Replay captured events
--auto-ack (keep webhook providers alive)
Claimed stable domains3 max10 max
--tunnel-auth (token-gate the public URL)
Org-scoped domain claims

The full capture/replay toolchain works on the free tier — the difference is whether your domain survives across runs.

When to use a tunnel

  • Webhook development. Local Stripe, GitHub, Linear, Slack callbacks without ngrok-style separate tools.
  • MCP servers. Expose a locally-running MCP server to a hosted AI agent.
  • Preview sharing. Send a teammate a URL pointed at your laptop without deploying.
  • Mobile testing. Reach your local dev server from a phone on a different network.

Where to go next

The architectural deep-dive (how the tunnel network actually routes packets, the capture pipeline, edge-PoP placement) lives at cli.lpm.dev/docs/infra/tunneling.