Skip to content
| Marketplace
Sign in
Visual Studio Code>Other>CodeMoteNew to Visual Studio Code? Get it now.
CodeMote

CodeMote

CodeMote

| (0) | Free
Control your desktop VS Code from your iPhone & iPad — files, editor, and a real terminal, over a secure dev tunnel.
Installation
Launch VS Code Quick Open (Ctrl+P), paste the following command, and press enter.
Copied to clipboard
More Info

CodeMote lets you reach the VS Code workspace on your desktop from a native iOS app. No file-syncing and no cloud copy of your code: the phone is a remote control for the editor that's already running on your computer.

This extension is the desktop half. You also need the CodeMote iOS app on your iPhone or iPad.

Control your code IDE from your iPhone, anywhere — browse your workspace file tree Run agent CLIs and a full terminal live — start dev servers and talk to your AI Edit code and ship it in one place — live editing plus full Git, no credentials on your phone Manage multiple workspaces at once — switch without killing what's running

Features

  • 📁 Browse your workspace — navigate the open folder's file tree from your phone.
  • ✏️ Edit & save — open files in a mobile editor with conflict protection so you never clobber a newer version.
  • 💻 A real terminal — run any command on your actual machine, with persistent sessions that survive backgrounding the app.
  • 🔀 Shared terminals — mirror one terminal between VS Code and your phone, or promote a phone-only session to the desktop.
  • 🔐 No third-party server — your code streams directly between your devices over an encrypted Microsoft dev tunnel.
  • 🔄 Auto-reconnect — cold-launch the app and it reconnects to your last workspace.

How it works

When you start a session, this extension makes your open workspace reachable to your phone through a Microsoft dev tunnel (the secure port-forwarding service built into VS Code). The app connects to that tunnel over an encrypted connection. Your code stays on your machine and streams only to your own paired device — there is no third-party server in the middle.


What you need

  1. VS Code with this extension installed.

  2. The CodeMote iOS app (App Store — coming soon).

  3. The devtunnel CLI, signed in. CodeMote uses it to create the secure tunnel. One-time setup (below).


Setup

1. Install the devtunnel CLI

CodeMote needs Microsoft's free devtunnel tool on your PATH.

OS Command
macOS brew install --cask devtunnel
Windows winget install Microsoft.devtunnel
Linux curl -sL https://aka.ms/DevTunnelCliInstall \| bash

Verify it works:

devtunnel --version

2. Sign in to dev tunnels (one time)

devtunnel user login --github
devtunnel user login --microsoft

Sign in with a GitHub or Microsoft account. This authorizes your machine to host the tunnel — it is not the same as VS Code's "Turn on Remote Tunnel Access" menu item (don't use that one).

3. Start a session

  1. In VS Code, open the folder you want to work on.
  2. Command Palette (Cmd/Ctrl+Shift+P) → "CodeMote: Start Mobile Session".
  3. A panel opens with a QR code.

4. Pair your phone

  1. Install and open the CodeMote app.
  2. Scan the QR code — or tap paste and paste the pairing string shown under the QR.
  3. You're in. Browse files, open the editor, switch to the terminal.

The status bar shows CodeMote: N devices while connected.


Commands

Open the Command Palette and type "CodeMote":

Command What it does
CodeMote: Start Mobile Session Starts the session and shows the pairing QR.
CodeMote: Show QR Code Shows the QR again with a fresh, single-use pairing code (use this to pair another device, or if a code was already used).
CodeMote: Stop Mobile Session Ends the session and disconnects all devices.
CodeMote: Disconnect All Devices Revokes every device's access; they must re-pair.

You can also click the CodeMote status bar item to start a session.


Managing your dev tunnel

CodeMote gives each workspace its own persistent tunnel named codemote-<hash> (the hash is derived from the folder path, so the URL stays the same every time you start a session from that folder).

Find the tunnel for your workspace

List the tunnels owned by the account you're signed into:

devtunnel list

CodeMote's tunnels are the ones named codemote-…. To inspect a specific one:

devtunnel show codemote-<hash>

⚠️ Don't switch login providers without cleaning up first

Dev tunnel IDs are global and single-owner: a tunnel named codemote-<hash> can only ever be owned by one account. If you signed in with GitHub and later sign in with Microsoft (or a different account of either kind), the new account does not own your existing codemote-<hash> tunnel — so CodeMote can't start or reconnect to it, and you can't recreate it under the new account.

Before switching accounts, delete the old tunnel while still signed into the account that created it:

# while logged in as the ORIGINAL account
devtunnel delete codemote-<hash>     # delete one workspace's tunnel
devtunnel delete-all                 # or delete every tunnel you own

Then sign in with the new account and start the session again — CodeMote will recreate the tunnel under the new owner. (The public URL will change, so re-show the QR and re-pair your phone.)

If you've already switched accounts and lost access to the old tunnel, sign back into the original account, run the delete command above, then switch back.


Security — please read

A connected phone has the same power as sitting at your desktop: it can read and write any file in the open workspace and run any command in the terminal on your machine. That's the whole point — but it means you should treat pairing like handing someone your keyboard.

  • The connection is encrypted end-to-end, and access is protected by a single-use pairing code that the app exchanges for a private credential. Knowing the address is not enough to get in.
  • Treat the QR / pairing code like a password. Don't share screenshots of it.
  • End the session (or Disconnect All Devices) when you're done. Closing the workspace or quitting VS Code also disconnects everything.

Privacy

CodeMote has no third-party server. Your files and terminal stream directly between your phone and your computer, routed through Microsoft's dev tunnel service (which you sign in to yourself). No CodeMote-operated service ever sees your code.


Troubleshooting

You see… Fix
"devtunnel CLI not found" Install it (table above); make sure devtunnel --version works in a fresh terminal, then restart VS Code so it picks up your PATH.
"Run devtunnel user login…" Run that command in a terminal, then start the session again.
"Open a folder before starting…" CodeMote serves the open workspace — open a folder first.
The app can't connect / times out Make sure the session is running (status bar shows "CodeMote: …"), and re-show the QR (codes are single-use).
"Failed to start the tunnel" Your devtunnel login may have expired — run devtunnel user login again.
Can't start/reconnect after changing accounts You switched devtunnel login providers — the new account doesn't own your codemote-<hash> tunnel. Sign back into the original account, run devtunnel delete codemote-<hash> (find it with devtunnel list), then start again. See Managing your dev tunnel above.

Support

Questions or issues? Contact support@codemote.app (placeholder — set your real support channel before publishing).


© 2026 CodeMote. All rights reserved.

  • Contact us
  • Jobs
  • Privacy
  • Manage cookies
  • Terms of use
  • Trademarks
© 2026 Microsoft