beam

FAQ

What beam is not (yet), and why.

beam is deliberately tiny. Most "missing" features are deliberate scope cuts, not oversights. Here's what it doesn't do in v1, and the reasoning.

Does beam relay my local server's response?

No — v1 is fire-and-forget. The sender always gets a 202 Accepted immediately, and the response from your local app isn't sent back. Most providers only care that they got a 2xx, and not blocking the edge on localhost keeps things fast and simple. Round-tripping the real response is the obvious next step.

Does it store a history I can re-fire?

No. --tail shows live traffic but doesn't persist a log. To re-fire a payload, save it yourself and replay it with beam webhook send:

beam webhook listen myhook --tail --body-only > last.json
beam webhook send myhook -d @last.json

How big can a payload be?

The WebSocket frame cap is ~1 MiB, so that bounds a single delivery. Bodies are base64-enveloped, which adds ~33% overhead. Webhooks are almost always small JSON, so this is rarely a limit in practice — but beam doesn't stream large bodies.

What if two CLIs listen on the same name?

They both receive a copy — it's fan-out by design, not an error. There's no arbitration or leader election. If you want exclusive delivery, use distinct names.

Do I need a Cloudflare account?

Only to deploy your own edge. To use an already-deployed beam, you just need the CLI, a server URL, and a token. The free Cloudflare plan covers Workers + Durable Objects if you do deploy.

Is the delivery side authenticated?

By default, no — external providers can't present your token, so the unguessable name is the capability. You can lock it with a per-webhook --key, or verify the provider's signature in your local app (all headers are forwarded). See the Security model.

Is there any telemetry or third-party service?

No. It's your Cloudflare account, your domain, your token. No tunnel vendor sits in the middle and nothing phones home.

How is this different from ngrok / Smee.io?

Same job — a public URL pointed at localhost — but beam runs on infrastructure you own and control, in ~250 lines. No vendor subdomain, no account but your Cloudflare one, no rate limits but the platform's. The trade-off is you deploy the edge once yourself.

On this page