Live Link
The dev server on your Mac, on your phone
An agent is building something on your machine. Live Link puts the port it is serving behind a link you can open anywhere — and only the people on that Thread can open it.
Updated
A Forkbench Live Link is a web address for a dev server already running on your Mac. You pick the port, Forkbench hands back an HTTPS link, and opening it on your phone or another machine shows that server live — nothing is deployed, built or copied anywhere. Only people signed in to the Thread it came from can open it, and it expires on its own.
Why this exists
The change an agent just made is on your Mac, on localhost:3000, and you are not at your Mac. You are on the sofa, or on a phone, or explaining the thing to somebody who is not in the room. The usual answers are all heavier than the question: deploy a preview, push a branch and wait for CI, or sign up for a tunnelling service, install its agent, paste an authtoken and hope the free tier does not put a warning page in front of what you wanted to show.
Forkbench is already running on the Mac serving that port, and it already knows who you are and who is on the Thread. So opening the link is choosing a port. There is no second account, no binary, no config file, and no interstitial between a visitor and your app.
How it works
- Open a link on a port. In the Thread that owns the work, point Live Link at the port your dev server is on. You get back an HTTPS address on its own random hostname.
- Open it anywhere. Your phone, a tablet, a colleague's laptop. Requests travel to the Mac that opened the link and are answered by the server running on it, so what you see is the current state of the code — not a snapshot.
- It closes itself. The link expires on its own clock, and you can revoke it before then. After that the address answers nobody, including you.
Checking an agent's work without going back to the desk
This is the case it was built for. A coding agent — Claude Code, Codex, or whatever you run — makes a change, restarts the dev server, and you look at the result on the device the thing is actually meant to be used on. Reload and you see the next change. Because the page is served by the process on your Mac rather than a deployment, there is no gap between the agent finishing and you being able to see it, and no preview environment to keep in sync.
It also removes the loop everybody does by hand: checking a mobile layout by narrowing a desktop window. A real phone, on the real build, while the agent is still working.
Everyone can reach the address. Almost nobody can open it.
A Live Link's hostname is public infrastructure — it resolves from anywhere, as it must. What is behind it is not. Every visitor is checked against the Thread the link was opened from: signed in to Forkbench, and an active member of that board. Anyone else gets a short page telling them they do not have access, and their request never reaches your Mac.
That gate is the reason this is worth having over a plain public URL. Sharing a dev server usually means choosing between an unguessable address — which is not access control, it is a secret you paste into chat logs — and configuring authentication in front of the tunnel. Here the membership you already manage is the access list. Add someone to the Thread and the link works for them; remove them and it stops.
Being invited costs nothing: participating in a board is free, so the person you are showing the work to can open your link on a free account with no card. The plan applies to whoever opens the link, not to the people who look at it.
How it differs from a general tunnel
Live Link is not trying to be ngrok, and if you need what ngrok does you should use ngrok. The distinction is who the visitor is: a general tunnel exists to let anything reach your machine, including machines. Live Link exists to let a specific named person look at a running app.
| Live Link | A general tunnel | |
|---|---|---|
| Who can open it | Signed-in members of the Thread, checked on every visit | Anyone with the address, unless you configure auth in front of it |
| Setup | Pick a port. No second account, agent binary or authtoken | Install the client, sign up, paste a token, run a command |
| What a visitor sees first | Your app | On free tiers, often a warning interstitial first |
| Webhooks and other machine callers | No — a machine cannot sign in | Yes, this is what they are for |
| Lifetime | Expires on its own, revocable at any moment | Usually until you close the terminal |
| Where the work lives | On your Mac. Nothing is uploaded or stored by us | On your machine too |
The long version, with the numbers: Forkbench as an ngrok alternative.
What each plan gets
Live Link is on every plan, including free. What the plan decides is not whether you may open one, but how many at once and for how long — one link at a time for 1 hour on a free account, 3 at once for 8 hours each on Pro. Both numbers are read live from the plan on this page, so what you see here is what the app will enforce.
Where it stops
- Your Mac has to be awake and serving. Nothing is copied to us, so a sleeping Mac or a stopped dev server means the link stops answering until both are back.
- No machine callers. Webhooks, CLI clients and anything else that cannot sign in will be refused. Use a general tunnel for those.
- It expires. By design — a share that never ends is hosting, and this is not hosting.
- macOS only. Forkbench runs on macOS 13 or newer; there is no Windows or Linux build.
Frequently asked
Can I see my dev server on my phone while Claude Code is still working?
Yes, that is the case it was built for. The agent keeps running on your Mac and you open the link on your phone; the page you get is served by the dev server on that Mac, live, so a reload shows whatever the agent changed a second ago. Nothing is deployed and no build step runs.
Is a Live Link public?
The address is reachable from anywhere, but the contents are not open. Anyone who opens it has to be signed in to Forkbench and be a member of the Thread the link was opened from; everyone else gets a short page saying they do not have access. That check runs before the request reaches your Mac.
Can I send one to someone who does not pay for Forkbench?
Yes. Invite them to the Thread and they can open the link on a free account — participating in someone else's board costs nothing. The person who opens the link needs a plan that allows it; the people they share it with do not.
Do I need an ngrok account, or a tunnel to configure?
No. There is no separate service to sign up for, no agent binary to install, no config file and no authtoken. Forkbench already knows which Mac you are on, so opening a link is picking the port. Visitors see your app immediately — there is no interstitial warning page in front of it.
How long does a Live Link last?
It expires on its own, and the window depends on your plan. That ceiling is deliberate: a link is for showing someone something now, and a share that never expires quietly becomes hosting. You can also revoke one at any moment, which drops it immediately rather than at expiry.
Can I use it to test a webhook from Stripe or GitHub?
No, and this is the honest limit of it. A webhook is a machine, it cannot sign in, and every request that is not from a signed-in member of the Thread is refused. For webhook testing you want a general tunnel like ngrok or Cloudflare Tunnel. Live Link is for showing a running app to a person.
Does my Mac have to stay awake?
Yes. Nothing is copied anywhere — the link is a route back to a process running on your machine, so if the Mac sleeps or the dev server stops, the link stops answering until both are back. That is the same trade every tunnel makes, and it is why nothing you serve this way is ever stored by us.
Keep reading
- Claude Code from your phone: what actually works
- Forkbench as an ngrok alternative, and where it is not one
- What we hold, and where it stops
Sources
Look at what it built, from wherever you are
Live Link comes with Forkbench, free, on the same Mac your agents already run on.