Repository navigation
Pairing and First Run
Complete installation and connection configuration first. Pairing codes and QR links are short-lived credentials; do not post them in screenshots or issue reports.
Open ZedLink — Patched Zed. Verify that the intended project, Agent conversation, and model are visible. If /remote-control is absent, you opened stock Zed or an outdated patched build.
In the Agent panel:
- open the conversation you want to continue remotely;
- focus the message composer;
- type
/remote-control; and - choose Remote Control from the command list.
Zed confirms that the thread is exposed locally. Run /remote-control again to stop exposure. Enabling ZedLink does not expose every thread, and restarting patched Zed requires you to expose the desired thread again.
Use Settings → ZedLink → Gateway Control → Start, or run ZedLink: Start gateway from the task picker. Keep patched Zed and the gateway running while using a remote client.
Run ZedLink: Status. A ready setup reports the native bridge and gateway online and shows the intended connection profile.
Open Settings → ZedLink → Paired Devices and choose one of these options:
- Open Browser QR shows the private pairing page on the workstation.
- Show Terminal QR opens a local Zed terminal and prints a scan-ready QR, HTTPS address, gateway identity, manual code, and expiration.
The terminal path does not open a browser. From a shell, the equivalent primary-route command is:
python3 tools/zedlink_manager.py pair-primary-terminalUse pair-terminal when you need to choose another configured route. Enlarge a very small terminal before regenerating the QR. The challenge remains active for five minutes, can be used once, and allows at most five attempts.
- Connect the phone or computer to the configured private network.
- Open the trusted HTTPS pairing link or scan the QR.
- Compare the HTTPS address and gateway identity with the workstation.
- Enter the manual code when prompted and confirm the gateway.
- Finish pairing and select the exposed session.
On iPhone or iPad, open the page in Safari and use Share → Add to Home Screen for the installed web app. If the app is already installed, keep it open and enter the code there; iOS may otherwise send a scanned link to the default browser.
Normal browser storage preserves the authorization for that exact HTTPS origin. Private browsing, origin changes, or clearing site data can require pairing again.
In iOS or Android:
- open Connections and choose Add;
- scan the workstation QR or paste the pairing link;
- test the HTTPS endpoint and verify the gateway identity;
- enter a device name and the one-time code if needed; and
- choose Pair and save.
Each HTTPS route is stored separately. Routes that point to the same gateway can reuse its credential after identity verification. Ping alone is insufficient: the phone must resolve the hostname, reach the port, and trust the certificate.
Use a disposable test conversation:
- send a short message from the remote client;
- confirm it appears in the same desktop Zed conversation;
- wait for the response and confirm it appears on both clients;
- send a desktop message and verify the remote transcript updates; and
- stop exposure, refresh the remote client, and confirm the thread is no longer available.
This test proves the selected route and thread. It does not prove every permission, model, terminal, notification, or background-delivery path.
When the bridge advertises session creation and the permission is enabled, choose + New from Sessions. Select an advertised Agent, optionally enter a title, and create the session. It is created inside the configured Zed project and exposed automatically.
The remote client cannot silently choose another worktree, model provider, credential, or tool policy.
Browser notifications require permission and a configured Web Push path. Native iOS/Android local alerts depend on the app receiving live updates; APNs and FCM background delivery are not configured. See Mobile apps for the current boundary.
Continue with the User guide.