cordless
Your remote terminals & coding agents, in your pocket.
cordless managing terminal sessions as tabs

What it is

cordless runs a tiny daemon on your dev box or laptop that owns real PTY sessions — a shell, or claude / codex. A mobile app attaches to them like browser tabs. Sessions keep running when you disconnect; reconnecting replays right where you left off.

Persistent sessions

PTYs survive disconnects, network switches, and app backgrounding. Reconnect replays from your last-seen byte, or a full-screen snapshot.

Tabs for terminals

Run several Claude Code / Codex / shell sessions at once and switch instantly.

Touch-first

An on-screen key bar — Esc, Tab, Ctrl/Alt, arrows, Ctrl-C, pipes, paste — makes a real terminal usable with thumbs.

Reach it anywhere

Tailscale is the recommended path; same-Wi-Fi LAN also works. No ports exposed to the internet.

Secure by default

Per-device tokens, single-use QR pairing, Origin allowlist, CSP, and a daemon that only ever runs as you.

Web or native

Install the PWA from your phone browser, or grab the Android APK.

Quick start

# on your dev box / laptop
git clone https://github.com/naveenneog/cordless
cd cordless
npm run setup      # installs agent + client deps
npm run build      # builds the web client
npm start          # starts the daemon on :7443

# in another terminal — pair your phone
npm run pair       # scan the QR with your phone camera

Scanning the QR opens the app in your phone browser and pairs automatically. For access from anywhere, install Tailscale on both devices.

On your phone

pairing screen terminal with touch key bar
Security: a paired device has the same shell access as your user account — treat its token like an SSH key. cordless uses per-device hashed tokens, single-use rate-limited pairing, an Origin allowlist, and strict security headers, and never runs as root. Keep port 7443 off the public internet; use Tailscale + an ACL.