GitHub - decolua/9remote: 📱 Terminal in Your Pocket — Control Claude Code, Codex, Gemini CLI & your Mac/Linux/Windows from any phone or browser. Vibe coding from anywhere. Alternative to MobileCLI, Claude Remote, vibe-remote, MuxAgent. · GitHub
Skip to content
decoluaPublic

About

📱 Terminal in Your Pocket — Control Claude Code, Codex, Gemini CLI & your Mac/Linux/Windows from any phone or browser. Vibe coding from anywhere. Alternative to MobileCLI, Claude Remote, vibe-remote, MuxAgent.

Topics

Resources

Stars

209 stars

Watchers

0 watching

Forks

Repository files navigation

9Remote — Remote Everything, Vibecode Everywhere

Your entire dev workstation in your pocket. A remote IDE, 60fps desktop stream, visual file explorer, live mobile emulator, zero-config localhost preview, and every AI harness in one UI — Claude Code, Codex, Gemini CLI & 30+ agents — on PC, Web, iPad, or phone.

Codex CLI looks like 1995? Claude Code's TUI hurts? Forget them. Same agents, one UI you'll actually love.

9Remote desktop workspace: terminal, editor and AI agent panes side by side
Claude Code on Phone File Explorer on Phone System Dashboard on Phone

⚡ Quick Start

1. Run with npm (Recommended)

npm i -g 9remote
9remote

2. Or Download Desktop App

3. Or Get Mobile App

Scan the QR code from a phone (or open the URL) and you're on your machine's shell — over WebRTC or WebSocket, through an encrypted tunnel that closes when you stop the host.


📱 Supported Platforms

Platform Host (Your Machine) Client (Anywhere) Download / Access
macOS ✅ ✅ Download .dmg or npm i -g 9remote
Windows ✅ ✅ Download .exe or npm i -g 9remote
Linux ✅ ✅ Download .deb / .AppImage or npm i -g 9remote
Web Browser — ✅ https://9remote.cc/login (Zero install, any browser)
iOS / iPadOS — ✅ App Store / Web PWA (Supports iPad keyboard & trackpad)
Android — ✅ Google Play / Web PWA (Fullscreen dev mode)

✨ 8 Superpowers

  1. Every Harness, One UI: Run Claude Code, Codex, Gemini CLI, Cursor CLI, Aider & 30+ AI agents in a single UI, with live artifact inspector (HTML, Markdown, Mermaid).
  2. Every Screen, Everywhere: Seamless across PC, Web, iPad keyboard shortcuts, and mobile touch dev keys (Esc, Tab, Ctrl, Alt, arrows).
  3. 60fps Remote Desktop: Ultra-smooth screen streaming with hardware acceleration and <20ms latency over direct WebRTC.
  4. Full Remote IDE: Multi-pane terminals, integrated code editor with syntax highlighting, visual Git status & diff viewer.
  5. Live Mobile Emulator: Interactive remote stream for Android Emulator and iOS Simulator straight on your phone.
  6. Zero-Config Localhost Preview: Built-in Service Worker bridge streams localhost:3000 to your mobile browser without port forwarding or ngrok.
  7. Visual File Explorer (Path-Jailed): Fuzzy search files (⌘⇧P), touch drag-and-drop transfers, and file management safely jailed to your workspace.
  8. Persistent PTY Daemon: Background daemon keeps your shells and long-running builds alive even when switching networks or closing tabs.

🛡️ Zero-Trust Security Architecture

9Remote uses 3 layers of zero-trust defense:

  • Split-Key Pairing: The key is split into HEAD and TAIL. The relay server only brokers the handshake with HEAD and never knows your secret TAIL.
  • Direct WebRTC P2P: Data flows directly device-to-device with X25519 + AES-256-GCM encryption.
  • Physical Host Approval: New devices cannot connect until you physically click "Approve" on your computer screen.
sequenceDiagram
    autonumber
    participant Client as Mobile / Web Client
    participant Server as 9Remote Signaling Relay
    participant Host as Host Machine

    Host->>Server: 1. Register HEAD (TAIL stays private on Host)
    Client->>Server: 2. Request Host lookup with HEAD
    Server-->>Client: 3. Return Host Public Key (Relay steps aside)
    Note over Client,Host: Direct P2P Connection (WebRTC DataChannel)
    Client->>Host: 4. Send encrypted TAIL (X25519 + AES-GCM)
    Note over Host: Host verifies TAIL secret
    Host-->>Host: 5. Physical Security Prompt: "Approve Device?"
    Note over Host: You click Approve on host screen
    Host-->>Client: 6. Secure P2P Session Established (<20ms latency)
Loading

📂 What's in here (Monorepo)

  • host/ — the Node.js CLI that runs on the machine you want to reach. Serves PTY terminals (daemonized), streams the screen over WebRTC with dirty-tile diffing, and exposes a jailed file explorer. Published to npm as 9remote.
  • web/ — the Next.js client UI + signaling/session API, deployed to Cloudflare Workers (OpenNext) backed by D1. Terminal data does not flow through it — clients connect to the host directly.
  • desktop/ — Tauri wrapper around the host for native macOS, Windows and Linux desktop apps.
  • gitbook/ — the docs site.

The transport protocol (host/transport/ and web/shared/transport/) is implemented twice, mirrored on both sides — change one, change the other.


🌐 Self-hosting the web app

The web app runs on Cloudflare Workers and needs a Cloudflare account (the free tier works). Plain-VPS hosting is not supported — the code uses Workers bindings (D1, KV, Durable Objects, R2).

# 1. Copy the example config and create the resources it references
cp web/wrangler.toml.example web/wrangler.toml
npx wrangler d1 create 9remote
npx wrangler kv namespace create OTA_KV
# fill the printed ids into web/wrangler.toml

# 2. Secrets: copy web/.dev.vars.example → web/.dev.vars, fill in your values,
#    then push them to the Worker
npm run secrets:sync

# 3. Deploy
npm run web:deploy

The host itself runs anywhere Node runs — no Cloudflare dependency.


✍️ Code signing policy

  • Release binaries are built by the maintainers from the tagged commit of this repository — a release tag always points at the exact source its binaries were built from.
  • macOS apps are signed with an Apple Developer ID and notarized.
  • Windows installers are Authenticode-signed with a certificate from SignPath Foundation (free code signing for open source).
  • The 9remote npm package is published from this repository by the maintainers.
  • A binary whose signature does not match the publishers above, or that cannot be traced to a tag here, did not come from this project — do not run it.

📄 License

Apache License 2.0 — see LICENSE. Free to use, modify, and distribute, including commercially. The "9remote" name and branding are not covered by the license.

About

📱 Terminal in Your Pocket — Control Claude Code, Codex, Gemini CLI & your Mac/Linux/Windows from any phone or browser. Vibe coding from anywhere. Alternative to MobileCLI, Claude Remote, vibe-remote, MuxAgent.

Topics

Resources

Stars

209 stars

Watchers

0 watching

Forks

Releases

Packages

Contributors

Languages