Skip to main content
Wrapper wraps the interactive shell you already use on macOS or Linux. Your prompt, plugins, history, files, and credentials stay on the host. Attach from another local terminal, or share one session with an authorized device when you choose.

What you get

  • Your real shell (zsh, bash, or fish) runs on the host machine.
  • Local attach joins that live PTY over loopback with a per-session token.
  • Remote share (Pro) routes through an authenticated Fly.io relay, with a default WebRTC P2P fast path for lower latency.
  • People you invite watch unless you allow typing. You always type.
  • Free: attach from the same computer. Pro: attach from another device.

Prerequisites

  • macOS or Linux (Windows via WSL)
  • zsh, bash, or fish
  • A Wrapper account for backend auth and remote sharing

Install

Homebrew:
Checksum-verified installer:
Supported installer targets today: darwin-arm64, darwin-x86_64, linux-arm64, and linux-x86_64.

First session

1

Sign in

Approve the device code in the browser. Local attach does not require login. Remote share does.
2

Share a session

Does not patch your shell config. Wrap a command without sharing yet with wrapper run -- claude. Optional: wrapper install wraps every new terminal.
3

Attach locally

From another terminal on the same machine:
4

Share remotely (Pro)

wrapper share already shares. In a running host, press Ctrl+\ then s. Join with:
Owners skip the share code. Guests enter it in a hidden prompt.
Remote sharing requires Pro. Local attach does not use the relay and does not require Pro.

Controls and HUD

Wrapper prints controls once, then keeps status in the terminal title so full-screen tools like Vim stay intact. HUD transport labels: local, connecting, relay, p2p, offline.

Next steps

Last modified on September 14, 2026