Setup guide
Everything here takes a few minutes. Pick your version: SharpDesk signs in and finds your Macs anywhere; SharpDesk Lite connects directly and pairs with BetterDisplay.
Paid versionSetting up SharpDesk
1 · Install and sign in — on both Macs
- Install SharpDesk.app on the Mac you sit at and the Mac you connect to. Move it to Applications and launch it — it lives in the menu bar.
- Open the menu-bar panel and enter your email. A 6-digit code arrives from
[email protected]— enter it, and this Mac joins your account. - Repeat on the other Mac with the same email. Both Macs now appear in each other's panel, live.
2 · Your first sharpened session
- On the Mac you sit at, grant Accessibility access when SharpDesk asks (System Settings → Privacy & Security → Accessibility). This is how SharpDesk measures your viewer window precisely.
- In the panel, under Sharpen a Mac, click the Mac you're about to view. Its card highlights and reads “Connected — open your viewer.”
- Open your viewer — Screens, Apple Screen Sharing, any VNC client — and connect to that Mac as usual.
- That's it. SharpDesk resizes the remote Mac's display to exactly fit your view, follows as you resize, and shows the live match on the card (
1918 × 1148). Close the viewer and the remote display restores itself.
3 · Auto-sharpen when you connect a viewer (beta)
Skip the “select a Mac first” step entirely. SharpDesk watches for a viewer opening toward one of your Macs, works out which Mac it is, and sharpens it on its own. It's off by default while in beta.
- Open Settings… (
⌘,) → Sessions and turn on Auto-sharpen when I connect a viewer. - Open your viewer and connect to one of your Macs exactly as you normally would. There's nothing to click in SharpDesk.
- SharpDesk matches that Mac using your explicit New sessions match choice — or the current full display under Automatic. When the viewer closes, SharpDesk follows your After Disconnect choice.
Viewers it recognises: Screens, Apple Screen Sharing, RustDesk, Jump Desktop, VNC Viewer, Microsoft Remote Desktop, AnyDesk, TeamViewer and Parsec. Matching is loose, so version suffixes like “Screens 5” register too.
Mac-Mini-UK.local and Studio — Screens both resolve to the right Mac.4 · Session controls
When a Mac is selected, a controls card appears under it:
{host} placeholder for any other viewer. When both Macs run Tailscale, it targets the Tailscale address automatically — so it works from anywhere, not just your home network.On the hosting side, the This Mac card has Reset Displays — it un-blackouts, un-mirrors, and removes the virtual display on the Mac you're sitting at. It's the escape hatch if a session ever leaves the screens in a state you didn't want.
5 · Devices & security
- Manage Devices… lists every Mac on your account. Revoke removes one instantly — its access ends immediately, even mid-session.
- Signing out removes this Mac from the account. Signing back in restores it as the same device — no duplicates.
- Your screen's pixels never touch SharpDesk. They stay inside your viewer app.
- Control requires an authenticated key for each device and is encrypted between them. Private keys remain in each device's Keychain. The relay sees routing and presence metadata and carries encrypted command frames; it never carries your screen pixels.
6 · Direct LAN status
Direct LAN is temporarily unavailable. The current beta always uses SharpDesk's normal internet relay while the LAN authentication path is rebuilt. The setting has been removed and older saved preferences are ignored.
7 · Automation — the sharpdesk:// URL API
Other software can drive SharpDesk: a Shortcut, a script, a launcher like Raycast — anything that can open a URL can shape a remote Mac's screen to an exact size.
sharpdesk://apply?width=1512&height=982…&host=Mac%20Mini — device name (case-insensitive) or device id; default is the selected Mac&scale=1|2|3 (default 2, Retina) · &mode=extend|mirror · &blackout=1|0 (defaults: your saved session options)sharpdesk://restore — hands the display back (same host parameter)From a terminal or script: open "sharpdesk://apply?width=1512&height=982&host=Mini".
An external apply turns Keep matching window size off — you've told SharpDesk the exact size, so the automatic window-matcher stops overriding it. Flip it back on in the panel to return to window-following.
sharpdesk://apply URL gives you a one-click, perfectly-sized session.8 · Updates & beta builds
SharpDesk updates itself (Sparkle) — Check for Updates… in the panel fetches the latest signed release. Flip Also get beta updates in Settings (⌘,) to receive pre-release builds early: same signing, same update path, just sooner. Leave it off to only ever see stable releases.
Free versionSetting up SharpDesk Lite
The two pieces
Lite is the do-it-yourself version for BetterDisplay users: you run a small app on your Mac, it drives BetterDisplay on the remote one, connected directly over your own network or VPN (Tailscale works great).
Both Macs must be able to reach each other directly — same network, or a VPN like Tailscale that gives the remote Mac a stable address.
Setting it up
- On the remote Mac, install BetterDisplay and enable its HTTP integration in BetterDisplay's settings. The default port is
55777. Set an access token there if you want one (recommended outside your own network). - On your Mac, open Lite Client Helper and add a host: pick the BetterDisplay backend, and enter the URL — e.g.
http://192.168.1.20:55777on a LAN, orhttp://<tailscale-ip>:55777over Tailscale. Paste the token if you set one. - Pick the remote screen to manage and the viewer window to match, choose Extend or Mirror, and connect your viewer as usual.
Troubleshooting
The sign-in code doesn't arrive
Check spam for mail from [email protected], and use Resend in the panel. Codes expire quickly — request a fresh one if in doubt.
The other Mac shows “Connecting…”
The remote Mac is offline or asleep, or its This Mac switch is off. SharpDesk reconnects automatically when the other side returns, then asks the host for its current session state. A still-valid session resumes; an expired or recovered session is shown as restored instead of being guessed locally.
My session matched the wrong window
Auto mode tracks the frontmost window. Pin your viewer explicitly with the Window picker in the session controls.
The remote Mac's screens look wrong after a session
On that Mac, open SharpDesk and press Reset Displays in the This Mac card. It restores the physical screens and removes the virtual display, whatever state things are in.
“Virtual display unavailable: failed to create…”
Another virtual display already owns that Mac — in practice, Apple Screen Sharing in High Performance mode, which runs one of its own. Switch that session to Standard mode (or disconnect it) and try again. HP mode already matches your display end-to-end, so the two features genuinely don't stack.
Where did Direct LAN go?
It is temporarily disabled while its authentication is upgraded. Update both Macs and use the normal relay connection; no Local Network permission is currently required by SharpDesk.
Lite can't reach the remote Mac
Confirm the two Macs can reach each other (same network or VPN up), BetterDisplay is running with its HTTP integration on, and the URL uses port 55777.
Stuck? Write to [email protected] — a human reads it.