Skip to Wisp
Wisp · An app by PIER20

Apps from your other Mac,
right here.

Wisp brings single windows from another Mac to yours, over Tailscale. Each remote app turns up as an app of its own: its icon in the Dock and ⌘Tab, its menus in the menu bar, and native windows you move, resize and type into as if the app ran here.
The Wisp app icon
  • Two Macs
  • macOS 14+
  • Tailscale on both
  • Free software · GPL-3.0

Wisp is experimental. It relies on a private macOS API and comes with no warranty. Read the risks.

A Safari window from another Mac on this Mac’s desktop, with native traffic lights, a thin teal outline and Safari’s menus in the menu bar
01 / Safari from another Mac, as a window on this one.The teal outline marks what is remote.
01 · Remote apps, local feel

Not a screen share.
An app on your Mac.

Screen sharing puts another desktop in a window. Wisp sends one window at a time and gives it back the parts of macOS you already use: the Dock, ⌘Tab, the menu bar and the clipboard.

Dock and ⌘Tab

Apps of their own.

Each remote app gets its own icon in the Dock, with a small teal badge, and a place in ⌘Tab and the Window menu. Keep one in the Dock and it reconnects when you open it.

Menu bar

Its real menus.

The remote app’s menu bar is mirrored, with live enabled and checked states. Choosing a menu item chooses it on the other Mac.

Windows

Native windows.

Drag the title bar, resize from any edge, go full screen, and the window on the other Mac follows. New windows and dialogs come along by themselves. A thin teal outline marks what is remote.

Keyboard

Your keys, its shortcuts.

Typing and shortcuts go to the remote app. ⌘Q and ⌘H quit or hide it here and leave it running there. The red button closes the window on the other Mac; ⌥-click it to just stop viewing.

Clipboard

One clipboard.

Copy and paste text, rich text and images in both directions. Items a password manager marks as secret are never sent.

Bandwidth

Only the windows you open.

Wisp sends single windows, not the whole screen, and only when something changes, so it stays quick even across continents. Up to three windows at once.

02 · Getting started

Two Macs, Tailscale,
three steps.

You need two Macs with macOS 14 or later and Tailscale on both, signed in to the same tailnet. That is all: no accounts, passwords, pairing or port forwarding. Tailscale encrypts the connection and tells Wisp who is on the other end.

  1. 01

    Install Wisp on both Macs.

    Download the disk image, open it and drag Wisp to Applications. It lives in the menu bar and keeps itself up to date.

  2. 02

    Share from the Mac with the apps.

    Choose Share Windows from This Mac… in the Wisp menu, then allow Screen Recording, to see windows, and Accessibility, so you can click and type in them.

  3. 03

    Pick a window on your Mac.

    The other Mac is listed as Sharing. Choose it, then choose a window. It opens as a window of its own app.

Wisp’s menu bar menu: the connected Mac with its latency, a list of its windows with their app icons, one of them open, and the options to share this Mac, open Settings and troubleshoot
Step 03 · On your Mac, the Wisp menu lists the other Mac’s windows. Choose one to open it here.
Wisp’s Sharing window on the host: one connected viewer with its round-trip time and bitrate, one of three window slots in use, and Screen Recording and Accessibility both allowed. The viewer’s addresses are blacked out
Step 02 · On the other Mac, the Sharing window shows who is connected, which windows are shared, and the two permissions Wisp needs. Addresses are blacked out.
03 · How it works

One window at a time,
inside your tailnet.

How Wisp works: on the other Mac, each window is captured, hardware encoded and sent as paced UDP; on your Mac it is received, decoded and shown in a native window of a phantom app; mouse and keys go back over TCP. All of it runs inside Tailscale.
Host

A virtual display per window.

Each shared window moves onto a HiDPI virtual display of its own, sized to your screen, so text is sharp, windows never overlap, and a Mac without a monitor works too.

Wire

Hardware HEVC, low latency.

Frames are encoded in hardware and sent only when something changes, with forward error correction and selective resends, so a lost packet rarely costs a frame.

Your Mac

A phantom app per remote app.

A small generated app owns each remote app’s windows. That is what makes the Dock, ⌘Tab, Mission Control and the menu bar treat it as a real app.

The design, the protocol and the measurements behind them are in the repository. Read the design notes ↗

04 · Security and privacy

Know what you
are sharing.

Wisp gives the other Mac’s windows to whoever connects. Read this before you turn sharing on.

To narrow access with Tailscale itself, see Tailscale ACLs ↗.

Wisp’s Sharing settings: bitrate ceiling, frame rate, codec and error correction, virtual displays and the window limit, clipboard sharing, and sharing at login
Settings › Sharing: clipboard sharing, virtual displays and the window limit, each with a note on what it does.
  • Anyone on your tailnet can connect by default.

    Whoever connects can control the shared windows, a Terminal window included. List the people allowed under Settings › Allowed Viewers, or limit TCP 7878 and UDP 7879 with Tailscale ACLs. Connections from outside Tailscale are refused.

  • The clipboard crosses to the other Mac.

    While you are connected, copied text and images are shared. Turn it off in Settings on either Mac if that matters.

  • Wisp relies on a private API.

    The virtual displays use Apple’s undocumented CGVirtualDisplay, which a macOS update can break. An early version once hung the host’s window server and logged everyone out. That is fixed, but there are no guarantees.

  • Updates are signed.

    Wisp checks the GitHub releases once a day and verifies each update with an EdDSA signature as well as Apple’s notarization. You can turn the check off in Settings › Troubleshooting.

05 · Free software

Wisp is
free software.

You can use, study, share and change Wisp under the terms of the GNU General Public License, version 3 or later. Read what free software means.

It comes with no warranty and no support. If it doesn’t do what you need, change it: the repository explains how to build, test and release it, and includes a map of the code for you and your coding agent.

01What is Wisp?

Wisp is a Mac app that brings single windows from another Mac to yours over Tailscale. Each remote app shows up as an app of its own, with a Dock icon, a place in ⌘Tab, its menus in the menu bar and native windows you move, resize and type into.

02What do I need?

Two Macs with macOS 14 or later, and Tailscale on both, signed in to the same tailnet. There are no accounts, passwords, pairing or port forwarding: Tailscale encrypts the connection and tells Wisp who is on the other end.

03Does the other Mac need a monitor?

No. Each shared window is moved onto a virtual display of its own, so a Mac without a monitor works. It must be unlocked with its user session on screen, because while it is locked, input goes to the lock screen. Wisp keeps it from idling into the lock while you are connected.

04What are the limits?

One viewer per host and up to three windows at once, the hardware encoder limit on an M4 Mac mini. There is no audio and no copy and paste of files. System prompts on the host, such as permission requests and AutoFill, have to be answered there.

05Something isn’t working. Where do I get help?

Choose Troubleshooting › Copy Diagnostics in the Wisp menu and paste the report into an issue on GitHub. It lists versions, permissions, settings and the end of the log, with other people’s logins replaced by a hash. Wisp is provided as is, with no warranty and no support.

06Is it really free?

Yes. Wisp is free software under the GNU General Public License, version 3 or later. You can use, study, share and change it. The source, a guide to building it and a map of the code for you and your coding agent are on GitHub.

Wisp for Mac

Get Wisp
for both your Macs.

Install it on the Mac with the apps and on the Mac you sit at. It keeps itself up to date.

Wisp is not affiliated with Apple or Tailscale.