Connect a machine
CodeMote turns any machine you can run Node on into your workspace: a laptop, the desktop at home, a VPS. One command starts the host; a pairing code connects this browser or the iPhone app to it. Nothing has to be installed permanently and nothing is copied off the machine.
Install
You need Node 18 or newer on macOS, Linux or Windows. The zero-setup path is a one-off npx:
npx codemote-cli startOr install the CLI globally, then use the codemote command anywhere:
npm install -g codemote-clicodemote startStart and pair
Run the start command inside the project folder you want to drive (or pass a path: codemote start ~/projects/app). The CLI prints two ways in and then stays in the foreground: a QR code, and, under the pairing code rule, one long JSON line that looks like this:
{"url":"wss://k2v9x1-40373.euw.devtunnels.ms","mode":"tunnel","pairingToken":"…","workspaceName":"myproject","protocolVersion":1}- In a browser: the web app pairs by paste, not by camera. Open it, choose Pair a machine, and paste the whole pairing code line.
- On iPhone or iPad: scan the QR with the CodeMote iOS app. It encodes the same code.
- Press Enter in the CLI for a fresh pairing code; Ctrl-C stops the host.
Agent chats
Native Claude Code chats, with tool approvals, sub-agents, slash commands and rewind, need the claude binary on the host machine. Install it once:
curl -fsSL https://claude.ai/install.sh | bashnpm install -g @anthropic-ai/claude-codeEither command works. Use one, not both. Codex and Cursor support is coming.
The tunnel
The host reaches out through a Cloudflare quick tunnel by default: no account, no login, and the connection is outbound-only, so it works behind NAT and firewalls with no inbound ports opened. Clients connect over TLS and pair with a single-use token. For hosts that run unattended for days, the CLI also supports longer-lived tunnel providers; run codemote start --help to see them.
Troubleshooting
- The pairing code is rejected.
- Codes are single-use and expire. Press Enter in the CLI to mint a fresh one and paste that.
- A second host refuses to start in the same project.
- One project, one host. Stop the first one (Ctrl-C): two hosts sharing a workspace would split the pairing and neither would work.
- The browser can’t reach the machine.
- Check the CLI is still in the foreground and its tunnel line shows a URL. Restarting the CLI creates a fresh tunnel and a fresh code.
- There are terminals but no agent chats.
- The
claudebinary isn’t on the host’s PATH. Install it (see Agent chats above) and restart the host.
Ready? Back to the landing to claim a seat, or grab the iOS app.