TL;DR: On your Mac, open Settings → Remote Coding and flip Enable Remote Coding on. Then on any other device, open lingcode.dev/remote, sign in with the same LingCode account, pick your Mac from the host list, and start prompting. No port forwarding, no VPN, no pairing code.
Your Mac is where the work actually lives — the repo is checked out there, your API keys are there, the compute is there. The thing you're usually missing isn't a second copy of all that; it's a way to talk to it when you're away from the desk. Remote Coding gives you exactly that and nothing more.
The instinct for "code from my phone" is usually to sync the project somewhere — a cloud IDE, a container, a copy of your repo on a server. That's a lot of moving parts, and all of it exists to recreate an environment you already have running on your desk. It also means your keys and your code now live in a second place.
Remote Coding skips the copy. Your Mac stays the one source of truth — it keeps running LingCode, with your project open and your providers configured. The browser on your phone is just a thin window onto that Mac's agent: you type a prompt, it runs on the Mac, the answer streams back. Nothing about your project leaves the machine it was already on.
The two questions that usually make remote access painful — "how does the outside reach my laptop behind a NAT?" and "how do I make sure only I can reach it?" — both have boring answers here, which is the whole point. Let's start with the mental model, then it's two switches.
There is no device handshake to perform and no port to expose. Being signed in to the same LingCode account on both ends is the pairing — your Mac registers itself as one of "your hosts," and the web page only ever shows hosts owned by the account you're signed in as. Someone else signing in to the same page sees their Macs, never yours.
The connection itself runs through LingCode's relay. Your Mac dials out to the relay and stays connected; the web page dials out to the same relay; the relay forwards messages between them. Because both sides make outbound connections, there's nothing inbound to forward — it works through home Wi-Fi, coffee-shop NAT, cellular, anything that can reach the internet. The relay is the tunnel, so you don't have to build one.
In LingCode on your Mac, open Settings and find the Remote Coding section. Flip Enable Remote Coding on. The status row underneath tells you exactly where you are: it shows Starting… for a moment, then settles on ● Online — reachable at lingcode.dev/remote in green once your Mac has registered with the relay.
If instead you see a prompt to sign in, that's the one prerequisite: Remote Coding rides your LingCode Cloud account, so the Mac has to be signed in first. Open the Account tab, confirm your email is shown, then come back and toggle again. Once it's green, your Mac is a host — leave LingCode running and you're done on this side.
On your phone, tablet, or another laptop, open lingcode.dev/remote in any browser and sign in with the same account you used on the Mac. There is nothing to install on this device — it's a web page.
You'll see a Your hosts list down the side. Your Mac appears there with a green dot when it's online and a grey dot when it isn't. Tap it to connect. (The list refreshes on its own, so if you just toggled the Mac on, give it a second to turn green.)
With a host connected, the composer at the bottom comes alive. Pick a provider — LingModel or Claude — type your request, and send it (the Send button, or ⌘/Ctrl+Enter). The agent runs on your Mac, against your real project, and its response streams back into the browser as it works.
When the agent wants to do something that needs your say-so — running a command, touching a file — an approval prompt appears right in the page, the same gate you'd see sitting at the Mac. Approve or deny from your phone; the agent continues. You're not watching a recording, you're steering the live session.