Remote companions and relays
Clients that observe or steer a session owned by another machine or product.
| Criterion | |||||||||||||||
|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|
| Product identity | |||||||||||||||
| Source model | Open source↗ | Open source↗ | Open source↗ | Open source↗ | Unknown | Proprietary↗ | Open source↗ | Open source↗ | Proprietary↗ | Open source↗ | Open source↗ | Open source↗ | Open source↗ | Proprietary↗ | Open source↗ |
| Primary workflow object | Remote session↗ | Remote session↗ | Remote session↗ | Remote session↗ | Remote session↗ | Remote session↗ | Remote session↗ | Remote session↗ | Remote session↗ | Remote session↗ | Remote session↗ | Remote session↗ | Remote session↗ | Remote session↗ | Remote session↗ |
| Product status | Active↗ | Beta↗ | Active↗ | Active↗ | Active↗ | Beta↗ | Active↗ | Active↗ | Active↗ | Active↗ | Active↗ | Active↗ | Active↗ | Active↗ | Active↗ |
| Execution and data boundary | |||||||||||||||
| Execution location | Paired machine, Vendor cloud↗ | Local daemon, Paired machine, Vendor cloud, User cloud↗ | Paired machine↗ | Local daemon, Paired machine↗ | Paired machine↗ | Paired machine, Vendor cloud↗ | Local daemon, User cloud↗ | Local daemon, User cloud↗ | Ssh host, Container, User cloud↗ | Local daemon, Paired machine, Vendor cloud↗ | Local daemon, Paired machine, Vendor cloud, User cloud↗ | Local daemon, User cloud, Paired machine↗ | Local daemon, Paired machine↗ | Paired machine↗ | Local process, Ssh host↗ |
| Client | |||||||||||||||
| Web or mobile client | Built in↗ | Built in↗ | Built in↗ | Built in↗ | Built in↗ | Built in↗ | Built in↗ | Built in↗ | Built in↗ | Built in↗ | Built in↗ | Built in↗ | Built in↗ | Built in↗ | Built in↗ |
| Native iOS client | Built in↗ | Built in↗ | Unknown | Limited↗ | Limited↗ | Built in↗ | Unknown | Unknown | Unknown | Unknown | Unknown | Built in↗ | Unknown | Built in↗ | Unknown |
| Native Android client | Built in↗ | Built in↗ | Unknown | Unknown | Unknown | Built in↗ | Unknown | Unknown | Unknown | Unknown | Unknown | Built in↗ | Unknown | Unknown | Unknown |
| Browser or PWA client | Built in↗ | Built in↗ | Built in↗ | Built in↗ | Built in↗ | Built in↗ | Built in↗ | Built in↗ | Built in↗ | Built in↗ | Unknown | Built in↗ | Built in↗ | Unknown | Unknown |
| Session ownership | |||||||||||||||
| Connects to an existing session | Built in↗ | Built in↗ | Built in↗ | Built in↗ | Built in↗ | Built in↗ | Limited↗ | Limited↗ | Limited↗ | Limited↗ | Limited↗ | Built in↗ | Limited↗ | Built in↗ | Built in↗ |
| Session host ownership | Existing session on paired machine↗ | Existing or Happier-launched session on a connected machine↗ | Operator machine↗ | Local command or PTY on host Mac↗ | Existing tmux session on paired machine↗ | Existing local CLI or VS Code session↗ | Self-hosted remote editor workspace↗ | Self-hosted Code OSS server↗ | SSH host, container, WSL, or tunnel workspace↗ | Command launched on paired host↗ | Hosted command or tmux attachment↗ | Remote SSH/RDP/VNC/Telnet host↗ | Command or PTY on self-hosted machine↗ | Operator-owned SSH host↗ | Operator machine↗ |
| Interaction | |||||||||||||||
| Remote approvals and follow-ups | Built in↗ | Built in↗ | Built in↗ | Unknown | Built in↗ | Built in↗ | Unknown | Unknown | Unknown | Unknown | Unknown | Limited↗ | Unknown | Unknown | Unknown |
| Live terminal input | Built in↗ | Built in↗ | Built in↗ | Built in↗ | Built in↗ | Limited↗ | Built in↗ | Built in↗ | Built in↗ | Built in↗ | Built in↗ | Built in↗ | Built in↗ | Built in↗ | Built in↗ |
| Remote input model | Follow-ups, terminal control, and approve/deny↗ | Agent messages, approvals, steering, and embedded terminal input↗ | Agent-aware chat and approval controls↗ | Raw interactive terminal input↗ | Terminal input, prompts, and structured approve/deny↗ | Follow-ups and structured approvals↗ | Full browser IDE, terminal, and file editing↗ | Full browser IDE, terminal, and file editing↗ | Full desktop IDE, terminal, and file editing↗ | Raw collaborative terminal input↗ | SSH terminal input↗ | SSH terminal and remote desktop input↗ | Raw browser terminal input↗ | Native SSH terminal, Command Dial, and SFTP image insertion↗ | Live terminal↗ |
| Security | |||||||||||||||
| End-to-end encryption documented | Limited↗ | Built in↗ | Unknown | Unknown | Unknown | Limited↗ | Unknown | Unknown | Unknown | Built in↗ | Limited↗ | Unknown | Unknown | Limited↗ | Built in↗ |
| Relay and hosting boundary | Limited↗ | Built in↗ | Unknown | Built in↗ | Unknown | Built in↗ | Built in↗ | Built in↗ | Built in↗ | Built in↗ | Built in↗ | Built in↗ | Built in↗ | Built in↗ | tmate relay or self-hosted server↗ |
| Relay deployment | Hosted encrypted sync relay; self-hostable server↗ | Happier Cloud or self-hosted relay↗ | Unknown | LAN, SSH/VPN, or user-supplied tunnel↗ | Unknown | Anthropic-hosted relay↗ | Direct self-hosted server; user supplies proxy/VPN↗ | Direct self-hosted server↗ | SSH, container transport, WSL, or VS Code tunnel↗ | Hosted relay↗ | Hosted or self-hosted uptermd relay↗ | Self-hosted Termix service↗ | Direct self-hosted WebSocket service↗ | No vendor relay; direct SSH↗ | Built in↗ |
| Transport security | End-to-end encrypted session content↗ | End-to-end encrypted by default; configurable self-hosted storage policy↗ | Unknown | Deployment-dependent↗ | Unknown | Outbound HTTPS with scoped credentials↗ | Deployment-dependent TLS or secure tunnel↗ | Deployment-dependent↗ | Selected transport↗ | Argon2-derived AES end-to-end encryption↗ | SSH transport↗ | Protocol and deployment-dependent↗ | Deployment-dependent TLS↗ | SSH transport security↗ | SSH↗ |
| Compatibility | |||||||||||||||
| Named agent harnesses | Built in↗ | Built in↗ | Claude Code↗ | Built in↗ | Built in↗ | Built in↗ | Unknown | Unknown | Unknown | Unknown | Unknown | Unknown | Unknown | Any CLI or TUI reachable over SSH↗ | Any terminal program↗ |
| Understands agent state and approvals | Built in↗ | Built in↗ | Built in↗ | Limited↗ | Built in↗ | Built in↗ | Limited↗ | Limited↗ | Limited↗ | Limited↗ | Limited↗ | Limited↗ | Limited↗ | Unknown | Unknown |
| Attention | |||||||||||||||
| Push or attention notifications | Built in↗ | Built in↗ | Built in↗ | Unknown | Built in↗ | Built in↗ | Unknown | Unknown | Unknown | Unknown | Unknown | Built in↗ | Unknown | Not available↗ | Unknown |
| Continuity | |||||||||||||||
| Session history or recording | Built in↗ | Built in↗ | Built in↗ | Built in↗ | Built in↗ | Built in↗ | Unknown | Unknown | Unknown | Unknown | Unknown | Built in↗ | Unknown | Unknown | Unknown |
| Session durability boundary | Survives client disconnect while host session runs↗ | Persistent host sessions with restart resume and tmux-backed terminal resume↗ | Unknown | Browser reconnect + recorded PTY; host process must remain↗ | Owned by tmux; survives browser and client exit↗ | Survives remote client disconnect; local session must remain↗ | Server workspace survives browser close↗ | Server workspace survives browser close↗ | Remote workspace persists; IDE connection can reconnect↗ | Host command must remain running↗ | Host command or tmux attachment must remain↗ | Saved connection and shared-session history↗ | Host command must remain running↗ | Provided by tmux or herdr on the host↗ | Built in↗ |
| Open-source project | |||||||||||||||
| Repository metric scopeWhat the joined repository represents for this product column. | Product repository↗ | Product repository↗ | Product repository↗ | Product repository↗ | Not tracked | Not tracked | code-server checked-in source; shallow checkout excludes the uninitialized VS Code submodule.↗ | Full Code OSS fork; contributor count covers this fork rather than all upstream VS Code authors.↗ | Not tracked | Product repository↗ | Product repository↗ | Whole Termix monorepo, including server and desktop/mobile/web clients.↗ | Product repository↗ | Not tracked | Product repository↗ |
| Latest verified release | None published↗ | stack-v0.2.14↗ | macos/v1.140.1+264↗ | v1.0.0-beta.18 · repository tag↗ | Not tracked | Not tracked | v4.140.0↗ | openvscode-server-v1.109.5↗ | Not tracked | v0.4.1↗ | v0.36.0↗ | sdk-v1.0.2↗ | 1.7.7↗ | Not tracked | 2.4.0↗ |
| Release date | Not applicable↗ | 2026-09-29↗ | 2026-10-03↗ | Not applicable↗ | Not tracked | Not tracked | 2026-10-01↗ | 2026-02-20↗ | Not tracked | 2025-02-12↗ | 2026-10-06↗ | 2026-10-08↗ | 2024-03-30↗ | Not tracked | 2019-11-16↗ |
| Repository license | MIT↗ | MIT↗ | MIT↗ | MIT↗ | Not tracked | Not tracked | MIT↗ | MIT↗ | Not tracked | MIT↗ | Apache-2.0↗ | Apache-2.0↗ | MIT↗ | Not tracked | ISC↗ |
| Repository stars | 24.1K↗ | 1.9K↗ | 1.1K↗ | 4.7K↗ | Not tracked | Not tracked | 79.6K↗ | 6.2K↗ | Not tracked | 7.7K↗ | 1.3K↗ | 15.4K↗ | 12.5K↗ | Not tracked | 6.1K↗ |
| Repository forks | 2.1K↗ | 168↗ | 115↗ | 335↗ | Not tracked | Not tracked | 6.9K↗ | 608↗ | Not tracked | 309↗ | 87↗ | 730↗ | 1.2K↗ | Not tracked | 335↗ |
| Open repository issues | 1.1K↗ | 204↗ | 19↗ | 61↗ | Not tracked | Not tracked | 147↗ | 131↗ | Not tracked | 29↗ | 15↗ | 1↗ | 118↗ | Not tracked | 130↗ |
| Contributor entries | 81↗ | 84↗ | 21↗ | 60↗ | Not tracked | Not tracked | 303↗ | 2.9K↗ | Not tracked | 6↗ | 24↗ | 11↗ | 70↗ | Not tracked | 49↗ |
| Source lines at measured refPinned to a verified stable release, a clearly labelled prerelease, or an exact default-branch commit. | 205.4K↗ | 3.2M↗ | 238.6K↗ | 169.8K↗ | Not tracked | Not tracked | 12.1K↗ | 1.6M↗ | Not tracked | 9.1K↗ | 55.1K↗ | 463.4K↗ | 19.2K↗ | Not tracked | 39.5K↗ |
| Primary language | TypeScript 95.83%↗ | TypeScript 90.18%↗ | Dart 69.55%↗ | TypeScript 50.14%↗ | Not tracked | Not tracked | TypeScript 81.88%↗ | TypeScript 95.57%↗ | Not tracked | Rust 45.36%↗ | Go 97.62%↗ | TypeScript 97.06%↗ | C 56.07%↗ | Not tracked | C 90.63%↗ |
| Repository size | 221.2 MB↗ | 714.1 MB↗ | 598.9 MB↗ | 1008.2 MB↗ | Not tracked | Not tracked | 54.3 MB↗ | 1.1 GB↗ | Not tracked | 992 KB↗ | 173.2 MB↗ | 81.7 MB↗ | 20.1 MB↗ | Not tracked | 7.8 MB↗ |
| Repository last push | 2026-10-07↗ | 2026-10-08↗ | 2026-10-03↗ | 2026-08-05↗ | Not tracked | Not tracked | 2026-10-08↗ | 2026-09-24↗ | Not tracked | 2026-09-21↗ | 2026-10-08↗ | 2026-10-08↗ | 2026-08-12↗ | Not tracked | 2026-10-06↗ |
| Repository status | Active repository↗ | Active repository↗ | Active repository↗ | Active repository↗ | Not tracked | Not tracked | Active repository↗ | Active repository↗ | Not tracked | Active repository↗ | Active repository↗ | Active repository↗ | Active repository↗ | Not tracked | Active repository↗ |
| Repository data refreshed | 2026-10-08↗ | 2026-10-08↗ | 2026-10-08↗ | 2026-10-08↗ | Not tracked | Not tracked | 2026-10-08↗ | 2026-10-08↗ | Not tracked | 2026-10-08↗ | 2026-10-08↗ | 2026-10-08↗ | 2026-10-08↗ | Not tracked | 2026-10-08↗ |
No comparison rows match this view.
